Writing relative links to absolute so they work in feeds

This commit is contained in:
spf13 2013-07-10 00:14:02 -04:00
parent e76c3feb52
commit 51e3098548
2 changed files with 16 additions and 1 deletions

View file

@ -83,6 +83,8 @@ func (site *Site) Render() {
site.timer.Step("render and write lists") site.timer.Step("render and write lists")
site.ProcessShortcodes() site.ProcessShortcodes()
site.timer.Step("render shortcodes") site.timer.Step("render shortcodes")
site.AbsUrlify()
site.timer.Step("absolute URLify")
site.RenderPages() site.RenderPages()
site.timer.Step("render pages") site.timer.Step("render pages")
site.RenderHomePage() site.RenderHomePage()
@ -182,6 +184,17 @@ func (s *Site) ProcessShortcodes() {
} }
} }
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)
}
}
func (s *Site) CreatePages() { func (s *Site) CreatePages() {
for _, fileName := range s.Files { for _, fileName := range s.Files {
page := NewPage(fileName) page := NewPage(fileName)

View file

@ -64,7 +64,9 @@ func main() {
if *baseUrl != "" { if *baseUrl != "" {
config.BaseUrl = *baseUrl config.BaseUrl = *baseUrl
} } else if *server {
config.BaseUrl = "http://localhost:" + *port
}
if *version { if *version {
fmt.Println("Hugo Static Site Generator v0.8") fmt.Println("Hugo Static Site Generator v0.8")