diff --git a/docs/content/layout/variables.md b/docs/content/layout/variables.md index 226ebb3a3..bbbe251f1 100644 --- a/docs/content/layout/variables.md +++ b/docs/content/layout/variables.md @@ -15,6 +15,8 @@ are available in the context for the templates. **.Date** The date the content is published on.
**.Indexes** These will use the field name of the plural form of the index (see tags and categories above)
**.Permalink** The Permanent link for this page.
+**.RelPermalink** The Relative permanent link for this page.
+**.LinkTitle** Access when creating links to this content. Will use linktitle if set in front-matter, else title
**.FuzzyWordCount** The approximate number of words in the content.
**.RSSLink** Link to the indexes' rss link
**.Prev** Pointer to the previous content (based on pub date)
@@ -46,7 +48,7 @@ includes indexes, lists and the homepage. Also available is `.Site` which has the following: **.Site.BaseUrl** The base URL for the site as defined in the config.json file.
-**.Site.Indexes** The names of the indexes of the site.
+**.Site.Indexes** The indexes for the entire site.
**.Site.LastChange** The date of the last change of the most recent content.
**.Site.Recent** Array of all content ordered by Date, newest first
diff --git a/hugolib/page.go b/hugolib/page.go index b8a2d45b7..ae0a630af 100644 --- a/hugolib/page.go +++ b/hugolib/page.go @@ -47,6 +47,7 @@ type Page struct { Markup string renderable bool layout string + linkTitle string PageMeta File Position @@ -276,6 +277,14 @@ func (p *Page) permalink() (*url.URL, error) { return MakePermalink(base, path), nil } +func (p *Page) LinkTitle() string { + if len(p.linkTitle) > 0 { + return p.linkTitle + } else { + return p.Title + } +} + func (p *Page) Permalink() (string, error) { link, err := p.permalink() if err != nil { @@ -334,6 +343,8 @@ func (page *Page) update(f interface{}) error { switch loki { case "title": page.Title = interfaceToString(v) + case "linktitle": + page.linkTitle = interfaceToString(v) case "description": page.Description = interfaceToString(v) case "slug":