fixed article template override

This commit is contained in:
Daniel Fichtinger 2024-11-28 18:15:12 -05:00
parent bfe7ddffd4
commit c65ebfc809
4 changed files with 12 additions and 19 deletions

View file

@ -77,6 +77,11 @@ func buildPageData(m Metadata, path string, settings *Settings) *PageData {
p.FooterName = settings.FooterName p.FooterName = settings.FooterName
p.Footer = settings.Footer p.Footer = settings.Footer
} }
if t, ok := m["type"].(string); ok && t == "article" || t == "post" {
p.Template = (settings.ArticleTemplate)
} else {
p.Template = (settings.DefaultTemplate)
}
return p return p
} }
@ -96,7 +101,7 @@ func ConvertFile(in string, out string, settings *Settings) error {
html := MdToHTML(md) html := MdToHTML(md)
pd.Content = template.HTML(html) pd.Content = template.HTML(html)
tmpl, err := template.New("webpage").Parse(settings.DefaultTemplate) tmpl, err := template.New("webpage").Parse(pd.Template)
if err != nil { if err != nil {
return err return err
} }

View file

@ -10,16 +10,6 @@ import (
"gopkg.in/yaml.v3" "gopkg.in/yaml.v3"
) )
const (
DefConfigName = "config.yml"
DefHeaderName = "header.md"
DefFooterName = "footer.md"
DefStylesheetName = "style.css"
DefIconName = "icon.png"
DefTemplateName = "default.html"
ArticleTemplateName = "article.html"
)
var defaultNames = map[string]string{ var defaultNames = map[string]string{
"config": "config.yml", "config": "config.yml",
"header": "header.md", "header": "header.md",
@ -108,7 +98,7 @@ func buildSettings(f []byte) (*Settings, error) {
} }
s.DefaultTemplateName = n s.DefaultTemplateName = n
s.DefaultTemplate = string(v) s.DefaultTemplate = string(v)
artTemp := readEmbed(ArticleTemplateName) artTemp := readEmbed(string(defaultNames["article"]))
s.ArticleTemplate = string(artTemp) s.ArticleTemplate = string(artTemp)
return s, nil return s, nil
@ -126,7 +116,7 @@ func readEmbed(name string) []byte {
func GetSettings(root string) *Settings { func GetSettings(root string) *Settings {
var config []byte var config []byte
configPath := filepath.Join(root, DefConfigName) configPath := filepath.Join(root, defaultNames["config"])
if !util.FileExists(configPath) { if !util.FileExists(configPath) {
// Config file does not exist, we used embedded default // Config file does not exist, we used embedded default
config = readEmbed(defaultNames["config"]) config = readEmbed(defaultNames["config"])

View file

@ -15,13 +15,7 @@
<body> <body>
<div id="container"> <div id="container">
<header id="header">{{ .Header }}</header> <header id="header">{{ .Header }}</header>
<article id="content">
{{ .Content }} {{ .Content }}
<nav id="nextprev">
{{ .NextPost }}<br />
{{ .PrevPost }}
</nav>
</article>
<footer id="footer">{{ .Footer }}</footer> <footer id="footer">{{ .Footer }}</footer>
</div> </div>
</body> </body>

View file

@ -1,3 +1,7 @@
---
type: article
---
# My amazing markdown file! # My amazing markdown file!
I can _even_ do **this**! I can _even_ do **this**!