summaryrefslogtreecommitdiff
path: root/internal/router
diff options
from:
to:
context:
space:
mode:
authorGravatar SayaAndy <montferrat@tuta.io> 2025-08-19 01:54:14 +0700
committerGravatar SayaAndy <montferrat@tuta.io> 2025-08-19 01:54:14 +0700
commit53923cf49f46041c82bbb0cbc155e4bdcc9e1a5d (patch)
tree0b3ed0e352836ede51e82ceaff8c9386e934802c /internal/router
parentdbf896340e38332cbd9a51a9622ab6ceeb8de257 (diff)
downloadweb-53923cf49f46041c82bbb0cbc155e4bdcc9e1a5d.tar.gz
web-53923cf49f46041c82bbb0cbc155e4bdcc9e1a5d.zip
refactor: move template manager definition to router package
Diffstat (limited to 'internal/router')
-rw-r--r--internal/router/api-v1-blog-search.go7
-rw-r--r--internal/router/lang-blog-title.go7
-rw-r--r--internal/router/lang-blog.go7
-rw-r--r--internal/router/lang-map.go7
-rw-r--r--internal/router/root.go7
-rw-r--r--internal/router/tm.go18
6 files changed, 43 insertions, 10 deletions
diff --git a/internal/router/api-v1-blog-search.go b/internal/router/api-v1-blog-search.go
index 2997407..51ace85 100644
--- a/internal/router/api-v1-blog-search.go
+++ b/internal/router/api-v1-blog-search.go
@@ -10,12 +10,15 @@ import (
"time"
"github.com/SayaAndy/saya-today-web/internal/b2"
- "github.com/SayaAndy/saya-today-web/internal/templatemanager"
"github.com/SayaAndy/saya-today-web/locale"
"github.com/gofiber/fiber/v2"
)
-func Api_V1_BlogSearch(tm *templatemanager.TemplateManager, l map[string]*locale.LocaleConfig, langs []string, b2Client *b2.B2Client) func(c *fiber.Ctx) error {
+func init() {
+ tm.Add("catalogue-blog-cards", "views/partials/catalogue-blog-cards.html", "views/partials/catalogue-blog-card-tags.html")
+}
+
+func Api_V1_BlogSearch(l map[string]*locale.LocaleConfig, langs []string, b2Client *b2.B2Client) func(c *fiber.Ctx) error {
return func(c *fiber.Ctx) error {
sort := c.Query("sort")
lang := c.Query("lang")
diff --git a/internal/router/lang-blog-title.go b/internal/router/lang-blog-title.go
index 39d4252..b7b5d7e 100644
--- a/internal/router/lang-blog-title.go
+++ b/internal/router/lang-blog-title.go
@@ -11,13 +11,16 @@ import (
"github.com/SayaAndy/saya-today-web/internal/b2"
"github.com/SayaAndy/saya-today-web/internal/frontmatter"
- "github.com/SayaAndy/saya-today-web/internal/templatemanager"
"github.com/SayaAndy/saya-today-web/locale"
"github.com/gofiber/fiber/v2"
"github.com/yuin/goldmark"
)
-func Lang_Blog_Title(tm *templatemanager.TemplateManager, l map[string]*locale.LocaleConfig, langs []string, b2Client *b2.B2Client, md goldmark.Markdown) func(c *fiber.Ctx) error {
+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 {
return func(c *fiber.Ctx) error {
lang := c.Params("lang")
if !slices.Contains(langs, lang) {
diff --git a/internal/router/lang-blog.go b/internal/router/lang-blog.go
index 1a7cbca..650c4b1 100644
--- a/internal/router/lang-blog.go
+++ b/internal/router/lang-blog.go
@@ -9,12 +9,15 @@ import (
"strings"
"github.com/SayaAndy/saya-today-web/internal/b2"
- "github.com/SayaAndy/saya-today-web/internal/templatemanager"
"github.com/SayaAndy/saya-today-web/locale"
"github.com/gofiber/fiber/v2"
)
-func Lang_Blog(tm *templatemanager.TemplateManager, l map[string]*locale.LocaleConfig, langs []string, b2Client *b2.B2Client) func(c *fiber.Ctx) error {
+func init() {
+ tm.Add("blog-catalogue", "views/layouts/general-page.html", "views/pages/blog-catalogue.html")
+}
+
+func Lang_Blog(l map[string]*locale.LocaleConfig, langs []string, b2Client *b2.B2Client) func(c *fiber.Ctx) error {
return func(c *fiber.Ctx) error {
lang := c.Params("lang")
if !slices.Contains(langs, lang) {
diff --git a/internal/router/lang-map.go b/internal/router/lang-map.go
index 8cc070a..e94d756 100644
--- a/internal/router/lang-map.go
+++ b/internal/router/lang-map.go
@@ -8,12 +8,15 @@ import (
"strings"
"github.com/SayaAndy/saya-today-web/internal/b2"
- "github.com/SayaAndy/saya-today-web/internal/templatemanager"
"github.com/SayaAndy/saya-today-web/locale"
"github.com/gofiber/fiber/v2"
)
-func Lang_Map(tm *templatemanager.TemplateManager, l map[string]*locale.LocaleConfig, langs []string, b2Client *b2.B2Client) func(c *fiber.Ctx) error {
+func init() {
+ tm.Add("global-map", "views/pages/global-map.html")
+}
+
+func Lang_Map(l map[string]*locale.LocaleConfig, langs []string, b2Client *b2.B2Client) func(c *fiber.Ctx) error {
return func(c *fiber.Ctx) error {
lang := c.Params("lang")
if !slices.Contains(langs, lang) {
diff --git a/internal/router/root.go b/internal/router/root.go
index f5be6cb..f4a0692 100644
--- a/internal/router/root.go
+++ b/internal/router/root.go
@@ -4,11 +4,14 @@ import (
"log/slog"
"github.com/SayaAndy/saya-today-web/config"
- "github.com/SayaAndy/saya-today-web/internal/templatemanager"
"github.com/gofiber/fiber/v2"
)
-func Root(tm *templatemanager.TemplateManager, localeCfg []config.AvailableLanguageConfig) func(c *fiber.Ctx) error {
+func init() {
+ tm.Add("index", "views/index.html")
+}
+
+func Root(localeCfg []config.AvailableLanguageConfig) func(c *fiber.Ctx) error {
return func(c *fiber.Ctx) error {
content, err := tm.Render("index", fiber.Map{
"AvailableLanguages": localeCfg,
diff --git a/internal/router/tm.go b/internal/router/tm.go
new file mode 100644
index 0000000..e8095ee
--- /dev/null
+++ b/internal/router/tm.go
@@ -0,0 +1,18 @@
+package router
+
+import (
+ "log/slog"
+ "os"
+
+ "github.com/SayaAndy/saya-today-web/internal/templatemanager"
+)
+
+var tm = assert(templatemanager.NewTemplateManager())
+
+func assert[T any](t T, err error) T {
+ if err != nil {
+ slog.Error("fail to initialize template manager", slog.String("error", err.Error()))
+ os.Exit(1)
+ }
+ return t
+}