diff options
| author | 2026-03-30 02:13:49 +0700 | |
|---|---|---|
| committer | 2026-03-30 02:13:49 +0700 | |
| commit | 8d0385546b0a5f4f3b0832fce1b4c0a10fa0a927 (patch) | |
| tree | 3be8adf291fecb7611adce3d5ed610f8ac832ca2 /internal/router/handlers/lang-blog-title.go | |
| parent | 56d333f3501cfc8e5725784e29ea917d347f37d8 (diff) | |
| parent | 52fbb4a4eb781dd4ba66fae0e1ceaec6721758f5 (diff) | |
| download | web-0.12.3.tar.gz web-0.12.3.zip | |
v0.12.3 (#24)v0.12.3
* [feat: add meta for embeds & search
engines](https://github.com/SayaAndy/saya-today-web/commit/610341bc9d59f9724e8e71f663b28df1904cb038)
* feat: link marker fill saturation and brightness in the global map to
the publication date
* [feat: add namespace parameter for
gallery](https://github.com/SayaAndy/saya-today-web/commit/52fbb4a4eb781dd4ba66fae0e1ceaec6721758f5)
* refactor: replace sprintf for galleryid with simple replaceall in
gallery rendering
Diffstat (limited to 'internal/router/handlers/lang-blog-title.go')
| -rw-r--r-- | internal/router/handlers/lang-blog-title.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/internal/router/handlers/lang-blog-title.go b/internal/router/handlers/lang-blog-title.go index 0f4f564..97de089 100644 --- a/internal/router/handlers/lang-blog-title.go +++ b/internal/router/handlers/lang-blog-title.go @@ -46,6 +46,20 @@ func (r *BlogPageHandler) ToValidateLang() router.LangSetting { return router.InPath } +func (r *BlogPageHandler) AddMeta(c *fiber.Ctx, supplements *router.Supplements, lang string, templateMap fiber.Map) (meta map[string]string, err error) { + metadata, _, err := supplements.B2Client.ReadFrontmatter(lang + "/" + c.Params("title") + ".md") + if err != nil { + return nil, fmt.Errorf("failed to read frontmatter of the desired blog post: %w", err) + } + + return map[string]string{ + "og:title": metadata.Title, + "og:description": fmt.Sprintf("%s [%s]", metadata.ShortDescription, metadata.ActionDate), + "og:image": fmt.Sprintf("https://f003.backblazeb2.com/file/sayana-photos/webp-320p/%s.webp", metadata.Thumbnail), + "twitter:card": "summary_large_image", + }, nil +} + func (r *BlogPageHandler) RenderBody(c *fiber.Ctx, supplements *router.Supplements, lang string, templateMap fiber.Map) (statusCode int, err error) { _, pathParts, _, err := router.GetPathFromReferer(c) if err != nil { |