ref: 92c31bbe10a68bb29c62535f5a7a6b4bfc80a21d
parent: d5f55430615265f18b8d50d215c536a14c21a7b4
author: spf13 <[email protected]>
date: Fri Jul 26 05:51:07 EDT 2013
permalink now respects pretty urls
--- a/hugolib/page.go
+++ b/hugolib/page.go
@@ -228,13 +228,22 @@
func (p *Page) Permalink() template.HTML {
if len(strings.TrimSpace(p.Slug)) > 0 {
- return template.HTML(MakePermalink(string(p.Site.BaseUrl), strings.TrimSpace(p.Section)+"/"+p.Slug))
+ if p.Site.Config.UglyUrls {
+ return template.HTML(MakePermalink(string(p.Site.BaseUrl), strings.TrimSpace(p.Section)+"/"+p.Slug+"."+p.Extension))
+ } else {
+ return template.HTML(MakePermalink(string(p.Site.BaseUrl), strings.TrimSpace(p.Section)+"/"+p.Slug))
+ }
} else if len(strings.TrimSpace(p.Url)) > 2 {
return template.HTML(MakePermalink(string(p.Site.BaseUrl), strings.TrimSpace(p.Url)))
} else {
_, t := filepath.Split(p.FileName)
- x := replaceExtension(strings.TrimSpace(t), p.Extension)
- return template.HTML(MakePermalink(string(p.Site.BaseUrl), strings.TrimSpace(p.Section)+"/"+x))
+ 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))
+ } else {
+ file, _ := fileExt(strings.TrimSpace(t))
+ return template.HTML(MakePermalink(string(p.Site.BaseUrl), strings.TrimSpace(p.Section)+"/"+file))
+ }
}
}
--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -48,6 +48,7 @@
Recent *Pages
LastChange time.Time
Title string
+ Config *Config
}
func (s *Site) getFromIndex(kind string, name string) Pages {
@@ -166,7 +167,7 @@
filepath.Walk(s.c.GetAbsPath(s.c.SourceDir), walker)
- s.Info = SiteInfo{BaseUrl: template.URL(s.c.BaseUrl), Title: s.c.Title}
+ s.Info = SiteInfo{BaseUrl: template.URL(s.c.BaseUrl), Title: s.c.Title, Config: &s.c}
s.Shortcodes = make(map[string]ShortcodeFunc)
}