ref: 6274aa0a64b0cb229a556d71c1d34d4139446aaa
parent: 610c06e6589770d950d8fd4e01efd90b132fcff5
author: Noah Campbell <noahcampbell@gmail.com>
date: Thu Sep 5 05:57:25 EDT 2013
Homepage "/" respects PublishDir It wasn't taking the value of PublishDir into consideration for the special case of the homepage "/". Fixes #75
--- a/hugolib/site_url_test.go
+++ b/hugolib/site_url_test.go
@@ -49,8 +49,6 @@
s := &Site{Target: target}s.prepTemplates()
must(s.addTemplate("indexes/blue.html", INDEX_TEMPLATE))- //s.Files = append(s.Files, "blue/doc1.md")
- //s.Files = append(s.Files, "blue/doc2.md")
s.Pages = append(s.Pages, mustReturn(ReadFrom(strings.NewReader(SLUG_DOC_1), filepath.FromSlash("content/blue/doc1.md")))) s.Pages = append(s.Pages, mustReturn(ReadFrom(strings.NewReader(SLUG_DOC_2), filepath.FromSlash("content/blue/doc2.md"))))--- a/target/file.go
+++ b/target/file.go
@@ -56,6 +56,9 @@
func (fs *Filesystem) Translate(src string) (dest string, err error) { if src == "/" {+ if fs.PublishDir != "" {+ return path.Join(fs.PublishDir, "index.html"), nil
+ }
return "index.html", nil
}
--- a/target/file_test.go
+++ b/target/file_test.go
@@ -32,6 +32,31 @@
}
}
+func TestFileTranslatorBase(t *testing.T) {+ tests := []struct {+ content string
+ expected string
+ }{+ {"/", "a/base/index.html"},+ }
+
+ for _, test := range tests {+ f := &Filesystem{PublishDir: "a/base"}+ fts := &Filesystem{PublishDir: "a/base/"}+
+ for _, fs := range []*Filesystem{f, fts} {+ dest, err := fs.Translate(test.content)
+ if err != nil {+ t.Fatalf("Translated returned and err: %s", err)+ }
+
+ if dest != test.expected {+ t.Errorf("Translate expected: %s, got: %s", test.expected, dest)+ }
+ }
+ }
+}
+
func TestTranslateUglyUrls(t *testing.T) { tests := []struct {content string
--
⑨