summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorspf13 <steve.francia@gmail.com>2013-10-25 18:37:53 -0400
committerspf13 <steve.francia@gmail.com>2013-10-25 18:37:53 -0400
commit9388f236062c97e44b3964e4097e7bf34658d8b8 (patch)
treefeb5749fc3705746ad1ab06f33a7eb60fd9460f8
parentb580a25d1f9308d71aa20673cd3e271711943846 (diff)
Adding support for linkTitles
-rw-r--r--docs/content/layout/variables.md4
-rw-r--r--hugolib/page.go11
2 files changed, 14 insertions, 1 deletions
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.<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>
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":