diff --git a/internal/builder/build_page.go b/internal/builder/build_page.go index f0fb5cd..c78f39e 100644 --- a/internal/builder/build_page.go +++ b/internal/builder/build_page.go @@ -77,6 +77,11 @@ func buildPageData(m Metadata, path string, settings *Settings) *PageData { p.FooterName = settings.FooterName 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 } @@ -96,7 +101,7 @@ func ConvertFile(in string, out string, settings *Settings) error { html := MdToHTML(md) pd.Content = template.HTML(html) - tmpl, err := template.New("webpage").Parse(settings.DefaultTemplate) + tmpl, err := template.New("webpage").Parse(pd.Template) if err != nil { return err } diff --git a/internal/builder/config.go b/internal/builder/config.go index d291591..6809c36 100644 --- a/internal/builder/config.go +++ b/internal/builder/config.go @@ -10,16 +10,6 @@ import ( "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{ "config": "config.yml", "header": "header.md", @@ -108,7 +98,7 @@ func buildSettings(f []byte) (*Settings, error) { } s.DefaultTemplateName = n s.DefaultTemplate = string(v) - artTemp := readEmbed(ArticleTemplateName) + artTemp := readEmbed(string(defaultNames["article"])) s.ArticleTemplate = string(artTemp) return s, nil @@ -126,7 +116,7 @@ func readEmbed(name string) []byte { func GetSettings(root string) *Settings { var config []byte - configPath := filepath.Join(root, DefConfigName) + configPath := filepath.Join(root, defaultNames["config"]) if !util.FileExists(configPath) { // Config file does not exist, we used embedded default config = readEmbed(defaultNames["config"]) diff --git a/internal/builder/embed/default.html b/internal/builder/embed/default.html index eb677d8..2dfb1a8 100644 --- a/internal/builder/embed/default.html +++ b/internal/builder/embed/default.html @@ -15,13 +15,7 @@