summaryrefslogtreecommitdiffci
path: root/internal/router/lang-blog-title.go
diff refs
from: back
to: back
| flip
diff options
context:
space:
mode:
authorGravatar SayaAndy <saya.andy@posteo.com> 2025-10-20 01:35:01 +0700
committerGravatar SayaAndy <saya.andy@posteo.com> 2025-10-20 01:35:01 +0700
commitf6c60d0a963817189854f5b42bc58a76ddb90d53 (patch)
treeff81251fd1cc24f8c28617b2d1ccaa4af232a4a4 /internal/router/lang-blog-title.go
parentfdb8582f40168dbb0795358f1ea950a26f157b2d (diff)
downloadweb-f6c60d0a963817189854f5b42bc58a76ddb90d53.tar.gz
web-f6c60d0a963817189854f5b42bc58a76ddb90d53.zip
feat: redo language page with general page layout
Diffstat (limited to 'internal/router/lang-blog-title.go')
-rw-r--r--internal/router/lang-blog-title.go13
1 files changed, 8 insertions, 5 deletions
diff --git a/internal/router/lang-blog-title.go b/internal/router/lang-blog-title.go
index d6ca917..6e80671 100644
--- a/internal/router/lang-blog-title.go
+++ b/internal/router/lang-blog-title.go
@@ -5,10 +5,10 @@ import (
"fmt"
"html/template"
"log/slog"
- "slices"
"strconv"
"strings"
+ "github.com/SayaAndy/saya-today-web/config"
"github.com/SayaAndy/saya-today-web/internal/b2"
"github.com/SayaAndy/saya-today-web/internal/frontmatter"
"github.com/SayaAndy/saya-today-web/locale"
@@ -20,17 +20,20 @@ func init() {
tm.Add("blog-page", "views/layouts/general-page.html", "views/pages/blog-page.html")
}
-func Lang_Blog_Title(l map[string]*locale.LocaleConfig, langs []string, b2Client *b2.B2Client, md goldmark.Markdown) func(c *fiber.Ctx) error {
+func Lang_Blog_Title(l map[string]*locale.LocaleConfig, langs []config.AvailableLanguageConfig, b2Client *b2.B2Client, md goldmark.Markdown) func(c *fiber.Ctx) error {
return func(c *fiber.Ctx) error {
ip := c.IP()
slog.Debug("client entering blog page", slog.String("ip", ip), slog.String("page", c.Path()))
lang := c.Params("lang")
- if !slices.Contains(langs, lang) {
- c.Set(fiber.HeaderContentType, fiber.MIMETextPlainCharsetUTF8)
- return c.Status(fiber.ErrNotFound.Code).SendString(fmt.Sprintf("server does not support '%s' language... yet??", lang))
+ for _, availableLang := range langs {
+ if availableLang.Name == lang {
+ goto langIsAvailable
+ }
}
+ return c.Status(fiber.ErrNotFound.Code).SendString(fmt.Sprintf("server does not support '%s' language", lang))
+ langIsAvailable:
metadata, parsedMarkdown, err := readBlogPost(md, b2Client, lang+"/"+c.Params("title"))
if err != nil {
c.Set(fiber.HeaderContentType, fiber.MIMETextPlainCharsetUTF8)