Homepage "/" respects PublishDir - hugo - [fork] hugo port for 9front
 (HTM) git clone git@git.drkhsh.at/hugo.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 6274aa0a64b0cb229a556d71c1d34d4139446aaa
 (DIR) parent 610c06e6589770d950d8fd4e01efd90b132fcff5
 (HTM) Author: Noah Campbell <noahcampbell@gmail.com>
       Date:   Thu,  5 Sep 2013 09:57:25 -0700
       
       Homepage "/" respects PublishDir
       
       It wasn't taking the value of PublishDir into consideration for the
       special case of the homepage "/".
       
       Fixes #75
       
       Diffstat:
         M hugolib/site_url_test.go            |       2 --
         M target/file.go                      |       3 +++
         M target/file_test.go                 |      25 +++++++++++++++++++++++++
       
       3 files changed, 28 insertions(+), 2 deletions(-)
       ---
 (DIR) diff --git a/hugolib/site_url_test.go b/hugolib/site_url_test.go
       @@ -49,8 +49,6 @@ func TestPageCount(t *testing.T) {
                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"))))
        
 (DIR) diff --git a/target/file.go b/target/file.go
       @@ -56,6 +56,9 @@ func (fs *Filesystem) Publish(path string, r io.Reader) (err error) {
        
        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
                }
        
 (DIR) diff --git a/target/file_test.go b/target/file_test.go
       @@ -32,6 +32,31 @@ func TestFileTranslator(t *testing.T) {
                }
        }
        
       +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