summaryrefslogtreecommitdiff
diff refs
from: back
to: back
| flip
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build-and-deploy-prod.yml2
-rw-r--r--config/config.go5
-rw-r--r--config/config.prod.yaml2
-rw-r--r--deploy/playbook.yml1
-rw-r--r--internal/router/basic-handler.go4
-rw-r--r--internal/router/handlers/lang-blog-title.go16
-rw-r--r--internal/router/handlers/root.go8
-rw-r--r--internal/router/router.go15
-rw-r--r--views/layouts/general-page.html7
-rw-r--r--views/partials/general-page-header.html2
10 files changed, 5 insertions, 57 deletions
diff --git a/.github/workflows/build-and-deploy-prod.yml b/.github/workflows/build-and-deploy-prod.yml
index 24b6e0e..413f402 100644
--- a/.github/workflows/build-and-deploy-prod.yml
+++ b/.github/workflows/build-and-deploy-prod.yml
@@ -75,4 +75,4 @@ jobs:
ANSIBLE_HOST_KEY_CHECKING: False
working-directory: ./deploy
run: |
- ansible-playbook -i inventory.yml -l prod playbook.yml --private-key ~/.ssh/id_ed25519 -u svc_github -e saya_today_web_auth_salt="${{ secrets.AUTH_SALT }}" -e saya_today_web_b2_key_id="${{ secrets.B2_KEY_ID }}" -e saya_today_web_b2_application_key="${{ secrets.B2_APPLICATION_KEY }}" -e saya_today_web_environment=prod -e saya_today_web_tag=${{ github.ref_name }} -e saya_today_web_mail_salt="${{ secrets.MAIL_SALT }}" -e saya_today_web_mail_host="${{ secrets.MAIL_HOST }}" -e saya_today_web_mail_address="${{ secrets.MAIL_ADDRESS }}" -e saya_today_web_mail_username="${{ secrets.MAIL_USERNAME }}" -e saya_today_web_mail_password="${{ secrets.MAIL_PASSWORD }}" -e saya_today_google_site_verification="${{ secrets.GOOGLE_SITE_VERIFICATION }}"
+ ansible-playbook -i inventory.yml -l prod playbook.yml --private-key ~/.ssh/id_ed25519 -u svc_github -e saya_today_web_auth_salt="${{ secrets.AUTH_SALT }}" -e saya_today_web_b2_key_id="${{ secrets.B2_KEY_ID }}" -e saya_today_web_b2_application_key="${{ secrets.B2_APPLICATION_KEY }}" -e saya_today_web_environment=prod -e saya_today_web_tag=${{ github.ref_name }} -e saya_today_web_mail_salt="${{ secrets.MAIL_SALT }}" -e saya_today_web_mail_host="${{ secrets.MAIL_HOST }}" -e saya_today_web_mail_address="${{ secrets.MAIL_ADDRESS }}" -e saya_today_web_mail_username="${{ secrets.MAIL_USERNAME }}" -e saya_today_web_mail_password="${{ secrets.MAIL_PASSWORD }}"
diff --git a/config/config.go b/config/config.go
index eb4a91d..fd8c480 100644
--- a/config/config.go
+++ b/config/config.go
@@ -17,7 +17,6 @@ type Config struct {
Auth AuthConfig `json:"Auth" yaml:"auth" validate:"required"`
Mail MailConfig `json:"Mail" yaml:"mail" validate:"required"`
CanonicalEndpoint string `json:"CanonicalEndpoint" yaml:"canonicalEndpoint" validate:"required"`
- Meta MetaConfig `json:"Meta" yaml:"meta"`
}
type BlogPagesConfig struct {
@@ -78,10 +77,6 @@ type TriggerConfig struct {
OnNewPost string `json:"OnNewPost" yaml:"onNewPost" validate:"cron,required"`
}
-type MetaConfig struct {
- GoogleSiteVerification string `json:"GoogleSiteVerification" yaml:"googleSiteVerification"`
-}
-
func LoadConfig(path string, config *Config) error {
fileBytes, err := os.ReadFile(path)
if err != nil {
diff --git a/config/config.prod.yaml b/config/config.prod.yaml
index b40ba57..4de853c 100644
--- a/config/config.prod.yaml
+++ b/config/config.prod.yaml
@@ -45,5 +45,3 @@ mail:
trigger:
onNewPost: "0/5 * * * *"
canonicalEndpoint: 'https://${FQDN}'
-meta:
- googleSiteVerification: '${GOOGLE_SITE_VERIFICATION}'
diff --git a/deploy/playbook.yml b/deploy/playbook.yml
index b0202bd..2516f4e 100644
--- a/deploy/playbook.yml
+++ b/deploy/playbook.yml
@@ -24,7 +24,6 @@
MAIL_PASSWORD: "{{ saya_today_web_mail_password }}"
MAIL_SALT: "{{ saya_today_web_mail_salt }}"
FQDN: "{{ saya_today_web_listen_address }}"
- GOOGLE_SITE_VERIFICATION: "{{ saya_today_google_site_verification | default('') }}"
network_mode: caddy
networks:
- name: caddy
diff --git a/internal/router/basic-handler.go b/internal/router/basic-handler.go
index b973d01..96d0f77 100644
--- a/internal/router/basic-handler.go
+++ b/internal/router/basic-handler.go
@@ -53,10 +53,6 @@ func (r *BasicHandler) AddMeta(c *fiber.Ctx, supplements *Supplements, lang stri
return []MetaField{{Name: "robots", Content: "noindex,nofollow"}}, nil
}
-func (r *BasicHandler) AddLinkedData(c *fiber.Ctx, supplements *Supplements, lang string, templateMap fiber.Map) (ld map[string]any, err error) {
- return nil, nil
-}
-
func (r *BasicHandler) RenderHeader(c *fiber.Ctx, supplements *Supplements, lang string, templateMap fiber.Map) (statusCode int, err error) {
return fiber.StatusNoContent, nil
}
diff --git a/internal/router/handlers/lang-blog-title.go b/internal/router/handlers/lang-blog-title.go
index 5bfc6e7..a9acdbb 100644
--- a/internal/router/handlers/lang-blog-title.go
+++ b/internal/router/handlers/lang-blog-title.go
@@ -81,22 +81,6 @@ func (r *BlogPageHandler) AddMeta(c *fiber.Ctx, supplements *router.Supplements,
}, nil
}
-func (r *BlogPageHandler) AddLinkedData(c *fiber.Ctx, supplements *router.Supplements, lang string, templateMap fiber.Map) (ld map[string]any, 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]any{
- "@context": "https://schema.org",
- "@type": "Article",
- "headline": metadata.Title,
- "description": fmt.Sprintf("%s [%s]", metadata.ShortDescription, metadata.ActionDate),
- "author": map[string]string{"@type": "Person", "name": "Saya Andy"},
- "datePublished": metadata.PublishedTime.UTC().Format(time.RFC3339),
- }, 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 {
diff --git a/internal/router/handlers/root.go b/internal/router/handlers/root.go
index a8890fa..cd01fcd 100644
--- a/internal/router/handlers/root.go
+++ b/internal/router/handlers/root.go
@@ -41,16 +41,12 @@ func (r *RootHandler) SitemapInfo(_ *router.Supplements) []router.SitemapInfo {
}
func (r *RootHandler) AddMeta(c *fiber.Ctx, supplements *router.Supplements, lang string, templateMap fiber.Map) (meta []router.MetaField, err error) {
- meta = []router.MetaField{
+ return []router.MetaField{
{Property: "og:title", Content: "Saya Blog"},
{Property: "og:description", Content: "The blog of a 25 years old, travelling God knows where, proud to be not mainstream // Личный блог 25-летки, странствующего по ебеням, зато не мейнстрим"},
{Property: "og:url", Content: fmt.Sprint(templateMap["CanonicalEndpoint"]) + "/"},
{Property: "og:type", Content: "website"},
- }
- if supplements.Meta.GoogleSiteVerification != "" {
- meta = append(meta, router.MetaField{Name: "google-site-verification", Content: supplements.Meta.GoogleSiteVerification})
- }
- return meta, nil
+ }, nil
}
func (r *RootHandler) RenderBody(c *fiber.Ctx, supplements *router.Supplements, _ string, templateMap fiber.Map) (statusCode int, err error) {
diff --git a/internal/router/router.go b/internal/router/router.go
index 3242759..3ce7e3b 100644
--- a/internal/router/router.go
+++ b/internal/router/router.go
@@ -2,10 +2,8 @@ package router
import (
"database/sql"
- "encoding/json"
"errors"
"fmt"
- "html/template"
"log/slog"
"net/url"
"slices"
@@ -80,7 +78,6 @@ type Route interface {
ContentType() string
Render(c *fiber.Ctx, supplements *Supplements, lang string, templateMap fiber.Map) (statusCode int, err error)
AddMeta(c *fiber.Ctx, supplements *Supplements, lang string, templateMap fiber.Map) (meta []MetaField, err error)
- AddLinkedData(c *fiber.Ctx, supplements *Supplements, lang string, templateMap fiber.Map) (ld map[string]any, err error)
RenderHeader(c *fiber.Ctx, supplements *Supplements, lang string, templateMap fiber.Map) (statusCode int, err error)
RenderBody(c *fiber.Ctx, supplements *Supplements, lang string, templateMap fiber.Map) (statusCode int, err error)
RenderFooter(c *fiber.Ctx, supplements *Supplements, lang string, templateMap fiber.Map) (statusCode int, err error)
@@ -100,7 +97,6 @@ type Supplements struct {
BlogTrigger *blogtrigger.BlogTriggerScheduler
TemplateManager *templatemanager.TemplateManager
MarkdownRenderer goldmark.Markdown
- Meta config.MetaConfig
}
type Router struct {
@@ -216,8 +212,6 @@ func NewRouter(cfg *config.Config) (*Router, error) {
return nil, fmt.Errorf("fail to initialize template manager: %w", err)
}
- supplements.Meta = cfg.Meta
-
enablePrintRoutes := false
if cfg.LogLevel <= slog.LevelDebug {
enablePrintRoutes = true
@@ -434,15 +428,6 @@ func (r *Router) generalPage(c *fiber.Ctx, route Route, lang string) error {
slog.Warn("failed to receive meta", slog.String("path", path), slog.String("error", err.Error()))
}
- var ld map[string]any
- if ld, err = route.AddLinkedData(c, r.supplements, lang, valueMap); err != nil {
- slog.Warn("failed to receive linked data", slog.String("path", path), slog.String("error", err.Error()))
- }
- if ld != nil {
- ldBytes, _ := json.Marshal(ld)
- valueMap["LinkedData"] = template.JS(ldBytes)
- }
-
content, err := r.supplements.TemplateManager.Render("general-page", valueMap)
if err != nil {
slog.Warn("failed to generate div", slog.String("path", path), slog.String("error", err.Error()))
diff --git a/views/layouts/general-page.html b/views/layouts/general-page.html
index 2d3bff3..d7d11a3 100644
--- a/views/layouts/general-page.html
+++ b/views/layouts/general-page.html
@@ -6,7 +6,7 @@
{{- range .Meta }}
<meta {{with .Name}}name="{{.}}" {{end}}{{with .Property}}property="{{.}}" {{end}}{{with .Content}}content="{{.}}"{{end}}>
{{- if eq .Property "og:description" }}
- <meta name="description" content="{{.Content}}">
+ <meta name="description" href="{{.Content}}">
{{- end }}
{{- if eq .Property "og:url" }}
<link rel="canonical" href="{{.Content}}">
@@ -16,11 +16,6 @@
<link rel="stylesheet" href="https://f003.backblazeb2.com/file/sayana-static/libs/leaflet/1.9.4/leaflet.css">
<link rel="stylesheet" href="https://f003.backblazeb2.com/file/sayana-static/libs/glightbox/3.3.0/css/glightbox.min.css">
<link href="/output.css" rel="stylesheet">
- {{- with .LinkedData }}
- <script type="application/ld+json">
- {{ . }}
- </script>
- {{- end }}
</head>
<body data-theme="ram" class="font-andika text-main-hard overflow-hidden bg-interlocked-hexagons h-dvh flex flex-row">
diff --git a/views/partials/general-page-header.html b/views/partials/general-page-header.html
index e019d3b..ac536d7 100644
--- a/views/partials/general-page-header.html
+++ b/views/partials/general-page-header.html
@@ -1,5 +1,5 @@
<title>{{ .Title }} // SAYA TODAY</title>
<div class="flex flex-row mb-2">
{{ block "header" . }}{{ end }}
- <p class="text-4xl font-andika font-light italic text-shadow-[0_2px_2px_var(--main-soft-color)] text-left my-auto">{{ .Title }}</p>
+ <h1 class="text-4xl font-andika font-light italic text-shadow-[0_2px_2px_var(--main-soft-color)] text-left my-auto">{{ .Title }}</h1>
</div> \ No newline at end of file