@@ 163,20 163,17 @@ func (f *FsBuilder) HandleFeed(feed *domain.Feed) error {
// 1. Custom selector handling
if feed.PageSelectionPattern != "" {
- template, err := template.New(feed.Path).Funcs(template.FuncMap{
+ funcs := template.FuncMap{
"collect": func(pages []*domain.Page) int {
includedPages = pages
return len(includedPages)
},
- // must be duplicated because golang is too stupid to spread a map
- "get_root_section": GetRootSection,
- "get_subsection": GetSubsection,
- "all_pages": GetAllPages,
- "by_date": ByDate,
- "by_name": ByName,
- "published": OnlyPublished,
- "unpublished": OnlyUnpublished,
- }).Parse(feed.PageSelectionPattern)
+ }
+ for k, v := range templateFuncs {
+ funcs[k] = v
+ }
+
+ template, err := template.New(feed.Path).Funcs(funcs).Parse(feed.PageSelectionPattern)
if err != nil {
return err
}