// and URLs for this Page.
func (p *Page) createTargetPathDescriptor(t output.Format) (targetPathDescriptor, error) {
if p.targetPathDescriptorPrototype == nil {
- panic("Must run initTargetPathDescriptor()")
+ panic(fmt.Sprintf("Must run initTargetPathDescriptor() for page %q, kind %q", p.Title, p.Kind))
}
d := *p.targetPathDescriptorPrototype
d.Type = t
}
p := s.newNodePage(kind404)
+
p.Title = "404 Page not found"
p.Data["Pages"] = s.Pages
p.Pages = s.Pages
p.URLPath.URL = "404.html"
+ if err := p.initTargetPathDescriptor(); err != nil {
+ return err
+ }
+
nfLayouts := []string{"404.html"}
return s.renderAndWritePage("404 page", "404.html", p, s.appendThemeTemplates(nfLayouts)...)
page := s.newNodePage(kindSitemap)
page.URLPath.URL = ""
+ if err := page.initTargetPathDescriptor(); err != nil {
+ return err
+ }
page.Sitemap.ChangeFreq = sitemapDefault.ChangeFreq
page.Sitemap.Priority = sitemapDefault.Priority
page.Sitemap.Filename = sitemapDefault.Filename
n.Data["Pages"] = pages
n.Pages = pages
+ // TODO(bep) output
+ if err := page.initTargetPathDescriptor(); err != nil {
+ return err
+ }
+
// TODO(bep) this should be done somewhere else
for _, page := range pages {
if page.Sitemap.ChangeFreq == "" {
}
n := s.newNodePage(kindRobotsTXT)
+ if err := n.initTargetPathDescriptor(); err != nil {
+ return err
+ }
n.Data["Pages"] = s.Pages
n.Pages = s.Pages