ref: 51e309854821a5e943e8e64eea218bc82c8f2dc6
parent: e76c3feb52381efaf8add59857d6940aaec7c0a8
author: spf13 <steve.francia@gmail.com>
date: Tue Jul 9 20:14:02 EDT 2013
Writing relative links to absolute so they work in feeds
--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -83,6 +83,8 @@
site.timer.Step("render and write lists")site.ProcessShortcodes()
site.timer.Step("render shortcodes")+ site.AbsUrlify()
+ site.timer.Step("absolute URLify")site.RenderPages()
site.timer.Step("render pages")site.RenderHomePage()
@@ -179,6 +181,17 @@
func (s *Site) ProcessShortcodes() { for i, _ := range s.Pages {s.Pages[i].Content = template.HTML(ShortcodesHandle(string(s.Pages[i].Content), s.Pages[i], s.Tmpl))
+ }
+}
+
+func (s *Site) AbsUrlify() {+ for i, _ := range s.Pages {+ content := string(s.Pages[i].Content)
+ content = strings.Replace(content, " src=\"/", " src=\""+s.c.BaseUrl+"/", -1)
+ content = strings.Replace(content, " src='/", " src='"+s.c.BaseUrl+"/", -1)
+ content = strings.Replace(content, " href='/", " href='"+s.c.BaseUrl+"/", -1)
+ content = strings.Replace(content, " href=\"/", " href=\""+s.c.BaseUrl+"/", -1)
+ s.Pages[i].Content = template.HTML(content)
}
}
--- a/main.go
+++ b/main.go
@@ -64,7 +64,9 @@
if *baseUrl != "" {config.BaseUrl = *baseUrl
- }
+ } else if *server {+ config.BaseUrl = "http://localhost:" + *port
+ }
if *version { fmt.Println("Hugo Static Site Generator v0.8")--
⑨