aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main.go16
-rw-r--r--templates/page/base.gohtml23
-rw-r--r--templates/page/opengraph.gohtml18
3 files changed, 57 insertions, 0 deletions
diff --git a/main.go b/main.go
index 7905807..eb55d06 100644
--- a/main.go
+++ b/main.go
@@ -1,5 +1,21 @@
package main
+import (
+ "embed"
+ "github.com/anhgelus/golatt"
+)
+
+//go:embed templates
+var templates embed.FS
+
func main() {
+ g := golatt.New(templates)
+ g.DefaultSeoData = &golatt.SeoData{
+ Image: "",
+ Description: "",
+ Domain: "now.anhgelus.world",
+ }
+ g.Templates = append(g.Templates, "templates/page/*.gohtml")
+ g.StartServer(":80")
}
diff --git a/templates/page/base.gohtml b/templates/page/base.gohtml
new file mode 100644
index 0000000..2de2ba4
--- /dev/null
+++ b/templates/page/base.gohtml
@@ -0,0 +1,23 @@
+{{define "base"}}
+ <!doctype html>
+ <html lang="fr" prefix="og: https://ogp.me/ns#">
+ <head>
+ <meta charset="UTF-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <link rel="shortcut icon" href="{{getStaticPath "logo.png"}}" type="image/png" />
+ <title>{{ .Title }}</title>
+ <link rel="stylesheet" href="{{getAssetPath "styles.css"}}" />
+ {{template "opengraph-base" .SEO}}
+ </head>
+ <body>
+ {{if .Data.HasNav}}
+ {{template "navbar" .}}
+ {{end}}
+ {{template "body" .}}
+ {{if .Data.HasFooter}}
+ {{template "footer" .}}
+ {{end}}
+ <script type="module" src="{{getAssetPath "index.js"}}" defer></script>
+ </body>
+ </html>
+{{end}} \ No newline at end of file
diff --git a/templates/page/opengraph.gohtml b/templates/page/opengraph.gohtml
new file mode 100644
index 0000000..f51d561
--- /dev/null
+++ b/templates/page/opengraph.gohtml
@@ -0,0 +1,18 @@
+{{define "opengraph-base"}}
+ <meta property="description" content="{{.Description}}" />
+ <!-- Open Graph -->
+ <meta property="og:title" content="{{.Title}}" />
+ <meta property="og:type" content="website" />
+ <meta property="og:url" content="https://{{.Domain}}{{.URL}}" />
+ <meta property="og:image" content="https://{{.Domain}}{{.Image}}" />
+ <meta property="og:description" content="{{.Description}}" />
+ <meta property="og:local" content="fr_FR" />
+ <meta property="og:site_name" content="Architects Land" />
+ <!-- Twitter -->
+ <meta name="twitter:card" content="summary_large_image" />
+ <meta property="twitter:domain" content="{{.Domain}}" />
+ <meta property="twitter:url" content="https://{{.Domain}}{{.URL}}/" />
+ <meta name="twitter:title" content="{{.Title}}" />
+ <meta name="twitter:description" content="{{.Description}}" />
+ <meta name="twitter:image" content="https://{{.Domain}}{{.Image}}" />
+{{end}}