summaryrefslogtreecommitdiff
path: root/main.go
diff refs
from: back
to: back
| flip
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go55
1 files changed, 8 insertions, 47 deletions
diff --git a/main.go b/main.go
index 174854d..20e90f4 100644
--- a/main.go
+++ b/main.go
@@ -11,10 +11,8 @@ import (
"github.com/SayaAndy/saya-today-web/config"
"github.com/SayaAndy/saya-today-web/internal/b2"
- "github.com/SayaAndy/saya-today-web/internal/blogtrigger"
"github.com/SayaAndy/saya-today-web/internal/factgiver"
- "github.com/SayaAndy/saya-today-web/internal/glightbox"
- "github.com/SayaAndy/saya-today-web/internal/mailer"
+ "github.com/SayaAndy/saya-today-web/internal/lightgallery"
"github.com/SayaAndy/saya-today-web/internal/router"
"github.com/SayaAndy/saya-today-web/internal/tailwind"
"github.com/SayaAndy/saya-today-web/locale"
@@ -25,9 +23,7 @@ import (
"github.com/golang-migrate/migrate/v4/database/sqlite3"
"github.com/yuin/goldmark"
"github.com/yuin/goldmark/parser"
- "github.com/yuin/goldmark/renderer"
- "github.com/yuin/goldmark/renderer/html"
- "github.com/yuin/goldmark/util"
+ gmhtml "github.com/yuin/goldmark/renderer/html"
_ "github.com/golang-migrate/migrate/v4/source/file"
_ "github.com/mattn/go-sqlite3"
@@ -36,25 +32,19 @@ import (
var (
md = goldmark.New(
goldmark.WithExtensions(
- glightbox.NewGLightboxExtension(),
+ lightgallery.NewLightGalleryExtension(),
tailwind.NewTailwindExtension(),
),
goldmark.WithParserOptions(
parser.WithAutoHeadingID(),
- parser.WithAttribute(),
),
- goldmark.WithRenderer(
- renderer.NewRenderer(
- renderer.WithNodeRenderers(
- util.Prioritized(tailwind.NewCustomLinkRenderer(html.WithUnsafe(), html.WithXHTML()), 50),
- util.Prioritized(html.NewRenderer(html.WithXHTML()), 100),
- ),
- ),
+ goldmark.WithRendererOptions(
+ gmhtml.WithXHTML(),
),
)
b2Client *b2.B2Client
configPath = flag.String("c", "config.yaml", "Path to the configuration file (in YAML format)")
- availableLanguages = make([]config.AvailableLanguageConfig, 0)
+ availableLanguages = make([]string, 0)
localization = make(map[string]*locale.LocaleConfig)
)
@@ -110,7 +100,7 @@ func main() {
slog.Warn("fail to initialize a locale", slog.String("locale", lang.Name), slog.String("error", err.Error()))
continue
}
- availableLanguages = append(availableLanguages, lang)
+ availableLanguages = append(availableLanguages, lang.Name)
localization[lang.Name] = localeCfg
}
@@ -146,31 +136,9 @@ func main() {
os.Exit(1)
}
- router.Mailer, err = mailer.NewMailer(db, cfg.Mail.ClientHost, cfg.Mail.MailHost,
- cfg.Mail.PublicName, cfg.Mail.MailAddress, cfg.Mail.Username, cfg.Mail.Password, []byte(cfg.Mail.Salt), localization)
- if err != nil {
- slog.Error("fail to initialize mailer", slog.String("error", err.Error()))
- os.Exit(1)
- }
-
- router.BlogTrigger, err = blogtrigger.NewBlogTriggerScheduler(b2Client, cfg.AvailableLanguages, cfg.Mail.Trigger.OnNewPost, func(bp []*b2.BlogPage) error {
- for _, post := range bp {
- if err := router.Mailer.NewPost(post); err != nil {
- return err
- }
- }
- return nil
- })
- if err != nil {
- slog.Error("fail to initialize blog trigger", slog.String("error", err.Error()))
- os.Exit(1)
- }
-
- app.Get("/", router.Api_V1_GeneralPage(localization, availableLanguages))
+ app.Get("/", router.Root(cfg.AvailableLanguages))
app.Get("/:lang<len(2)>", router.Api_V1_GeneralPage(localization, availableLanguages))
app.Get("/:lang/map", router.Lang_Map(localization, availableLanguages, b2Client))
- app.Get("/:lang/user", router.Api_V1_GeneralPage(localization, availableLanguages))
- app.Get("/:lang/user/unsubscribe", router.Lang_User_Unsubscribe(localization, availableLanguages))
app.Get("/:lang/blog", router.Api_V1_GeneralPage(localization, availableLanguages))
app.Get("/:lang/blog/:title", router.Api_V1_GeneralPage(localization, availableLanguages))
@@ -183,10 +151,6 @@ func main() {
app.Get("/api/v1/general-page/footer", router.Api_V1_GeneralPage_Footer(localization, availableLanguages))
app.Get("/api/v1/general-page/top-embeds", router.Api_V1_GeneralPage_TopEmbeds(localization, availableLanguages))
app.Get("/api/v1/general-page/bottom-embeds", router.Api_V1_GeneralPage_BottomEmbeds(localization, availableLanguages, b2Client))
- app.Post("/api/v1/email/send-verification-code", router.Api_V1_Email_SendVerificationCode(localization))
- app.Post("/api/v1/email/verify", router.Api_V1_Email_Verify(localization))
- app.Get("/api/v1/email/is-in-verification", router.Api_V1_Email_IsInVerification(localization))
- app.Put("/api/v1/subs", router.Api_V1_Subs_Put(localization))
app.Static("/", "./static")
@@ -202,9 +166,6 @@ func main() {
<-sigChan
slog.Info("gracefully shutting down...")
- if err = router.BlogTrigger.Close(); err != nil {
- slog.Error("fail to shutdown blog trigger scheduler", slog.String("error", err.Error()))
- }
if err = app.Shutdown(); err != nil {
slog.Error("fail to shutdown fiber server", slog.String("error", err.Error()))
}