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":