Merge branch 'master' of github.com:spf13/hugo - 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 3c3fc45d3c34a7dcd1a0e9fd2636e7a5c5933e03
 (DIR) parent 480e01eb153b6c6c4c11a7569d9802274772a568
 (HTM) Author: spf13 <steve.francia@gmail.com>
       Date:   Wed, 14 Aug 2013 10:19:59 -0400
       
       Merge branch 'master' of github.com:spf13/hugo
       
       Diffstat:
         A hugolib/content_directory_test.go   |      25 +++++++++++++++++++++++++
         M hugolib/path_seperators_windows_te… |       2 +-
         M hugolib/site.go                     |      13 +++++++++++--
       
       3 files changed, 37 insertions(+), 3 deletions(-)
       ---
 (DIR) diff --git a/hugolib/content_directory_test.go b/hugolib/content_directory_test.go
       @@ -0,0 +1,25 @@
       +package hugolib
       +
       +import (
       +        "testing"
       +)
       +
       +func TestIgnoreDotFiles(t *testing.T) {
       +        tests := []struct {
       +                path string
       +                ignore bool
       +        } {
       +                {"barfoo.md", false},
       +                {"foobar/barfoo.md", false},
       +                {"foobar/.barfoo.md", true},
       +                {".barfoo.md", true},
       +                {".md", true},
       +                {"", true},
       +        }
       +
       +        for _, test := range tests {
       +                if ignored := ignoreDotFile(test.path); test.ignore != ignored {
       +                        t.Errorf("File not ignored.  Expected: %t, got: %t", test.ignore, ignored)
       +                }
       +        }
       +}
 (DIR) diff --git a/hugolib/path_seperators_windows_test.go b/hugolib/path_seperators_windows_test.go
       @@ -7,7 +7,7 @@ import (
        func TestTemplatePathSeperator(t *testing.T) {
                config := Config{
                        LayoutDir: "c:\\a\\windows\\path\\layout",
       -                Path: "c:\\a\\windows\\path",
       +                Path:      "c:\\a\\windows\\path",
                }
                s := &Site{Config: config}
                if name := s.generateTemplateNameFrom("c:\\a\\windows\\path\\layout\\sub1\\index.html"); name != "sub1/index.html" {
 (DIR) diff --git a/hugolib/site.go b/hugolib/site.go
       @@ -107,7 +107,9 @@ func (site *Site) Render() (err error) {
                site.timerStep("render shortcodes")
                site.AbsUrlify()
                site.timerStep("absolute URLify")
       -        site.RenderIndexes()
       +        if err = site.RenderIndexes(); err != nil {
       +                return
       +        }
                site.RenderIndexesIndexes()
                site.timerStep("render and write indexes")
                site.RenderLists()
       @@ -200,12 +202,15 @@ func (s *Site) initialize() {
                                site.Directories = append(site.Directories, path)
                                return nil
                        } else {
       +                        if ignoreDotFile(path) {
       +                                return nil
       +                        }
                                site.Files = append(site.Files, path)
                                return nil
                        }
                }
        
       -        filepath.Walk(s.Config.GetAbsPath(s.Config.ContentDir), walker)
       +        filepath.Walk(s.absContentDir(), walker)
        
                s.Info = SiteInfo{
                        BaseUrl: template.URL(s.Config.BaseUrl),
       @@ -217,6 +222,10 @@ func (s *Site) initialize() {
                s.Shortcodes = make(map[string]ShortcodeFunc)
        }
        
       +func ignoreDotFile(path string) bool {
       +        return filepath.Base(path)[0] == '.'
       +}
       +
        func (s *Site) absLayoutDir() string {
                return s.Config.GetAbsPath(s.Config.LayoutDir)
        }