shithub: hugo

Download patch

ref: e98f0014f2f46ff4b342d5eb3062d4fb1e6d4184
parent: d65061dffb6e9ff4afb1a683181a84cefdfedfd3
author: Lorenzo Bolla <[email protected]>
date: Tue May 27 05:14:05 EDT 2014

Allow to use filename in permalinks

--- a/hugolib/permalinks.go
+++ b/hugolib/permalinks.go
@@ -3,6 +3,7 @@
 import (
 	"errors"
 	"fmt"
+	"path/filepath"
 	"strconv"
 	"strings"
 
@@ -117,6 +118,13 @@
 	return helpers.Urlize(p.Title), nil
 }
 
+// pageToPermalinkFilename returns the URL-safe form of the filename
+func pageToPermalinkFilename(p *Page, _ string) (string, error) {
+	var extension = filepath.Ext(p.FileName)
+	var name = p.FileName[0 : len(p.FileName)-len(extension)]
+	return helpers.Urlize(name), nil
+}
+
 // if the page has a slug, return the slug, else return the title
 func pageToPermalinkSlugElseTitle(p *Page, a string) (string, error) {
 	if p.Slug != "" {
@@ -142,5 +150,6 @@
 		"section":     pageToPermalinkSection,
 		"title":       pageToPermalinkTitle,
 		"slug":        pageToPermalinkSlugElseTitle,
+		"filename":    pageToPermalinkFilename,
 	}
 }