diff --git a/domain/model/entry.go b/domain/model/entry.go
index b8d2a0d..e59562f 100644
--- a/domain/model/entry.go
+++ b/domain/model/entry.go
@@ -15,6 +15,7 @@ type Entry interface {
// Optional: can return empty string
Title() string
+ ImageUrl() string
SetID(id string)
SetPublishedAt(publishedAt *time.Time)
@@ -40,6 +41,10 @@ func (e *EntryBase) PublishedAt() *time.Time {
return e.publishedAt
}
+func (e *EntryBase) ImageUrl() string {
+ return ""
+}
+
func (e *EntryBase) SetID(id string) {
e.id = id
}
diff --git a/entry_types/image.go b/entry_types/image.go
index fcaaed6..89959a3 100644
--- a/entry_types/image.go
+++ b/entry_types/image.go
@@ -58,6 +58,10 @@ func (e *Image) Title() string {
return e.meta.Title
}
+func (e *Image) ImageUrl() string {
+ return "/media/" + e.meta.ImageId
+}
+
func (e *Image) Content() model.EntryContent {
str, err := render.RenderTemplateToString("entry/Image", e)
if err != nil {
diff --git a/render/templates.go b/render/templates.go
index 9cc9d55..6166919 100644
--- a/render/templates.go
+++ b/render/templates.go
@@ -4,6 +4,7 @@ import (
"bytes"
"embed"
"io"
+ "net/url"
"owl-blogs/domain/model"
"text/template"
@@ -29,6 +30,10 @@ var funcMap = template.FuncMap{
}
return html
},
+ "urljoin": func(elems ...string) string {
+ r, _ := url.JoinPath(elems[0], elems[1:]...)
+ return r
+ },
}
func CreateTemplateWithBase(templateName string) (*template.Template, error) {
diff --git a/render/templates/base.tmpl b/render/templates/base.tmpl
index 703dcf0..454354f 100644
--- a/render/templates/base.tmpl
+++ b/render/templates/base.tmpl
@@ -6,6 +6,8 @@
{{template "title" .Data}} - {{ .SiteConfig.Title }}
+ {{ template "head" .}}
+
diff --git a/render/templates/views/admin.tmpl b/render/templates/views/admin.tmpl
index b28deae..d281530 100644
--- a/render/templates/views/admin.tmpl
+++ b/render/templates/views/admin.tmpl
@@ -1,4 +1,5 @@
{{define "title"}}Admin{{end}}
+{{define "head"}}{{end}}
{{define "main"}}
Write
diff --git a/render/templates/views/admin_config.tmpl b/render/templates/views/admin_config.tmpl
index ab91f6f..e33c0ec 100644
--- a/render/templates/views/admin_config.tmpl
+++ b/render/templates/views/admin_config.tmpl
@@ -1,5 +1,7 @@
{{define "title"}}Configuration{{end}}
+{{define "head"}}{{end}}
+
{{define "main"}}
← Back
diff --git a/render/templates/views/binary_manager.tmpl b/render/templates/views/binary_manager.tmpl
index 9640a5b..d009f40 100644
--- a/render/templates/views/binary_manager.tmpl
+++ b/render/templates/views/binary_manager.tmpl
@@ -1,4 +1,5 @@
{{define "title"}}Files{{end}}
+{{define "head"}}{{end}}
{{define "main"}}
diff --git a/render/templates/views/draft_list.tmpl b/render/templates/views/draft_list.tmpl
index c87e7c3..2575d16 100644
--- a/render/templates/views/draft_list.tmpl
+++ b/render/templates/views/draft_list.tmpl
@@ -1,4 +1,5 @@
{{define "title"}}Index{{end}}
+{{define "head"}}{{end}}
{{define "main"}}
diff --git a/render/templates/views/editor.tmpl b/render/templates/views/editor.tmpl
index 78948ca..8fa742b 100644
--- a/render/templates/views/editor.tmpl
+++ b/render/templates/views/editor.tmpl
@@ -1,4 +1,5 @@
{{define "title"}}Editor{{end}}
+{{define "head"}}{{end}}
{{define "main"}}
diff --git a/render/templates/views/entry.tmpl b/render/templates/views/entry.tmpl
index df2fdee..26724b9 100644
--- a/render/templates/views/entry.tmpl
+++ b/render/templates/views/entry.tmpl
@@ -1,5 +1,15 @@
{{define "title"}}{{.Entry.Title}}{{end}}
+{{define "head"}}
+
+
+{{ if .Data.Entry.ImageUrl}}
+
+{{ end }}
+
+
+{{end}}
+
{{define "main"}}
{{ if not .Entry.PublishedAt }}
@@ -16,7 +26,7 @@
{{.Entry.Title}}
{{end}}
- #
+ #
Published:
{{ if .Entry.PublishedAt }}