ref: 3ab5245049a74b5d53d80a24e4bf9c60db7fce07
parent: 1bb00b8c194266d5cf3e7497dd383fd43adff9c0
author: Fabrizio (Misto) Milo <[email protected]>
date: Wed Aug 28 05:33:10 EDT 2013
clean up logic Signed-off-by: Noah Campbell <[email protected]>
--- a/hugolib/page.go
+++ b/hugolib/page.go
@@ -185,24 +185,30 @@
}
func (p *Page) Permalink() template.HTML {
- if len(strings.TrimSpace(p.Slug)) > 0 {
+ baseUrl := string(p.Site.BaseUrl)
+ section := strings.TrimSpace(p.Section)
+ pSlug := strings.TrimSpace(p.Slug)
+ pUrl := strings.TrimSpace(p.Url)
+ var path string
+ if len(pSlug) > 0 {
if p.Site.Config.UglyUrls {
- return template.HTML(MakePermalink(string(p.Site.BaseUrl), strings.TrimSpace(p.Section)+"/"+p.Slug+"."+p.Extension))
+ path = section + "/" + p.Slug + "." + p.Extension
} else {
- return template.HTML(MakePermalink(string(p.Site.BaseUrl), strings.TrimSpace(p.Section)+"/"+p.Slug+"/"))
+ path = section + "/" + p.Slug + "/"
}
- } else if len(strings.TrimSpace(p.Url)) > 2 {
- return template.HTML(MakePermalink(string(p.Site.BaseUrl), strings.TrimSpace(p.Url)))
+ } else if len(pUrl) > 2 {
+ path = pUrl
} else {
_, t := filepath.Split(p.FileName)
if p.Site.Config.UglyUrls {
x := replaceExtension(strings.TrimSpace(t), p.Extension)
- return template.HTML(MakePermalink(string(p.Site.BaseUrl), strings.TrimSpace(p.Section)+"/"+x))
+ path = section + "/" + x
} else {
file, _ := fileExt(strings.TrimSpace(t))
- return template.HTML(MakePermalink(string(p.Site.BaseUrl), strings.TrimSpace(p.Section)+"/"+file))
+ path = section + "/" + file
}
}
+ return template.HTML(MakePermalink(baseUrl, path))
}
func (page *Page) handleTomlMetaData(datum []byte) (interface{}, error) {