From 88e97900c2a101b56dd0046b941e6e8eada437d1 Mon Sep 17 00:00:00 2001 From: pluja Date: Mon, 25 Mar 2024 11:33:45 +0100 Subject: [PATCH] parse special characters for cactus id --- src/frontend/templates/service.html | 2 +- src/server/server.go | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/frontend/templates/service.html b/src/frontend/templates/service.html index 69cf2d0..6820fdc 100644 --- a/src/frontend/templates/service.html +++ b/src/frontend/templates/service.html @@ -263,7 +263,7 @@ initComments({ defaultHomeserverUrl: "https://matrix.cactus.chat:8448", serverName: "cactus.chat", siteName: "kycnot.me", - commentSectionId: "{{.Service.Name}}", + commentSectionId: "{{toId .Service.Name}}", guestPostingEnabled: false }) \ No newline at end of file diff --git a/src/server/server.go b/src/server/server.go index 3a7462e..d1c2936 100644 --- a/src/server/server.go +++ b/src/server/server.go @@ -7,6 +7,7 @@ import ( "net/http" "os" "path" + "regexp" "strings" "time" @@ -138,6 +139,22 @@ func (s *Server) RegisterViews() { "safe": func(s string) template.HTML { return template.HTML(s) }, + "toId": func(s string) string { + reg, err := regexp.Compile("[^a-zA-Z0-9]+") + if err != nil { + log.Debug().Err(err).Msg("toId error") + return strings.Replace(strings.ToLower(s), " ", "-", -1) + } + processedString := reg.ReplaceAllString(s, "-") + regReplace, err := regexp.Compile("-+") + if err != nil { + log.Debug().Err(err).Msg("toId error") + return strings.Replace(strings.ToLower(s), " ", "-", -1) + } + processedString = regReplace.ReplaceAllString(processedString, "-") + + return strings.ToLower(processedString) + }, "randomElem": func(vs []string) string { if len(vs) == 0 { return ""