Adding support for linkTitles
authorspf13 <steve.francia@gmail.com>
Fri, 25 Oct 2013 22:37:53 +0000 (18:37 -0400)
committerspf13 <steve.francia@gmail.com>
Fri, 25 Oct 2013 22:37:53 +0000 (18:37 -0400)
docs/content/layout/variables.md
hugolib/page.go

index 226ebb3a3689e45035a2bbe8a2990d42a3af7e10..bbbe251f158e6c527c5658e20e0e0b05dcaf08d2 100644 (file)
@@ -15,6 +15,8 @@ are available in the context for the templates.
 **.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 @@ 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.<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>
 
index b8a2d45b7b031f5319e40de9359cd867544c5a1e..ae0a630aff3971b589a825999fe515062de95d46 100644 (file)
@@ -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":