From 1dc63a221695eeacf226e301ec4306e8573e1b79 Mon Sep 17 00:00:00 2001 From: Adam Mathes Date: Thu, 1 Feb 2018 17:51:23 -0800 Subject: list generic templates --- site/site.go | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'site/site.go') diff --git a/site/site.go b/site/site.go index 136c100..b69a4af 100644 --- a/site/site.go +++ b/site/site.go @@ -10,6 +10,7 @@ import ( "log" "path" "sort" + "strings" ) type Site struct { @@ -19,11 +20,12 @@ type Site struct { Posts post.Posts // all archives are optional based on presence of template - Archive *archive.ListArchive - Home *archive.ListArchive - Rss *archive.ListArchive - Paged *archive.PagedArchives - Tagged *archive.TagArchives + Archive *archive.ListArchive + Home *archive.ListArchive + Rss *archive.ListArchive + Paged *archive.PagedArchives + Tagged *archive.TagArchives + ListArchives []*archive.ListArchive } /* @@ -55,6 +57,14 @@ func (s *Site) Read() { s.Home.Template = "home" s.Home.Site = s } + + // generic list templates + for _, t := range render.TemplateNames() { + if strings.HasSuffix(t, ".list") { + la := archive.NewGenericListArchive(s.Posts, t, strings.TrimSuffix(t, ".list")) + s.ListArchives = append(s.ListArchives, la) + } + } } /* @@ -141,6 +151,11 @@ func (s *Site) WriteArchives() { render.Write(t) } } + for _, t := range s.ListArchives { + t.Site = s + render.Write(t) + } + } func (s *Site) WritePosts() { -- cgit v1.2.3