ref: 51e309854821a5e943e8e64eea218bc82c8f2dc6
parent: e76c3feb52381efaf8add59857d6940aaec7c0a8
author: spf13 <[email protected]>
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")