resource: Add front matter metadata to Resource

This commit expands the Resource interface with 3 new methods:

* Name
* Title
* Params

All of these can be set in the Page front matter. `Name` will get its default value from the base filename, and is the value used in the ByPrefix and GetByPrefix lookup methods.

Fixes #4244
This commit is contained in:
Bjørn Erik Pedersen
2018-01-15 20:40:39 +01:00
parent f8a119b606
commit 20c9b6ec81
27 changed files with 627 additions and 187 deletions

View File

@@ -43,7 +43,7 @@ type WeightedPage struct {
}
func (w WeightedPage) String() string {
return fmt.Sprintf("WeightedPage(%d,%q)", w.Weight, w.Page.Title)
return fmt.Sprintf("WeightedPage(%d,%q)", w.Weight, w.Page.title)
}
// OrderedTaxonomy is another representation of an Taxonomy using an array rather than a map.
@@ -214,7 +214,7 @@ func (wp WeightedPages) Count() int { return len(wp) }
func (wp WeightedPages) Less(i, j int) bool {
if wp[i].Weight == wp[j].Weight {
if wp[i].Page.Date.Equal(wp[j].Page.Date) {
return wp[i].Page.Title < wp[j].Page.Title
return wp[i].Page.title < wp[j].Page.title
}
return wp[i].Page.Date.After(wp[i].Page.Date)
}