shithub: hugo

Download patch

ref: 9388f236062c97e44b3964e4097e7bf34658d8b8
parent: b580a25d1f9308d71aa20673cd3e271711943846
author: spf13 <[email protected]>
date: Fri Oct 25 14:37:53 EDT 2013

Adding support for linkTitles

--- a/docs/content/layout/variables.md
+++ b/docs/content/layout/variables.md
@@ -15,6 +15,8 @@
 **.Date** The date the content is published on.<br>
 **.Indexes** These will use the field name of the plural form of the index (see tags and categories above)<br>
 **.Permalink** The Permanent link for this page.<br>
+**.RelPermalink** The Relative permanent link for this page.<br>
+**.LinkTitle** Access when creating links to this content. Will use linktitle if set in front-matter, else title<br>
 **.FuzzyWordCount** The approximate number of words in the content.<br>
 **.RSSLink** Link to the indexes' rss link <br>
 **.Prev** Pointer to the previous content (based on pub date)<br>
@@ -46,7 +48,7 @@
 Also available is `.Site` which has the following:
 
 **.Site.BaseUrl** The base URL for the site as defined in the config.json file.<br>
-**.Site.Indexes** The names of the indexes of the site.<br>
+**.Site.Indexes** The indexes for the entire site.<br>
 **.Site.LastChange** The date of the last change of the most recent content.<br>
 **.Site.Recent** Array of all content ordered by Date, newest first<br>
 
--- a/hugolib/page.go
+++ b/hugolib/page.go
@@ -47,6 +47,7 @@
 	Markup      string
 	renderable  bool
 	layout      string
+	linkTitle   string
 	PageMeta
 	File
 	Position
@@ -276,6 +277,14 @@
 	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 @@
 		switch loki {
 		case "title":
 			page.Title = interfaceToString(v)
+		case "linktitle":
+			page.linkTitle = interfaceToString(v)
 		case "description":
 			page.Description = interfaceToString(v)
 		case "slug":