ref: 7a51a8a5a32881c01dcd472d818b4d774a487935
parent: b4bcc591e45e9526b7eb9fe77f355da5ead8e627
parent: 97eb9225a72fd08f671e5000bbc4c94cf6b78d7e
author: Steve Francia <steve.francia@gmail.com>
date: Tue Aug 13 16:03:18 EDT 2013
Merge pull request #38 from noahcampbell/workflow_dotfile Workflow dotfile
--- /dev/null
+++ b/hugolib/content_directory_test.go
@@ -1,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)+ }
+ }
+}
--- a/hugolib/path_seperators_test.go
+++ b/hugolib/path_seperators_test.go
@@ -23,10 +23,10 @@
}
func TestNewPageWithFilePath(t *testing.T) {- toCheck := []struct{- input string
+ toCheck := []struct {+ input string
section string
- layout string
+ layout string
}{ {filepath.Join("sub", "foobar.html"), "sub", "sub/single.html"}, {filepath.Join("content", "sub", "foobar.html"), "sub", "sub/single.html"},@@ -47,5 +47,3 @@
}
}
}
-
-
--- a/hugolib/path_seperators_windows_test.go
+++ b/hugolib/path_seperators_windows_test.go
@@ -7,7 +7,7 @@
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" {--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -106,7 +106,9 @@
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()
@@ -199,12 +201,15 @@
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),
@@ -214,6 +219,10 @@
}
s.Shortcodes = make(map[string]ShortcodeFunc)
+}
+
+func ignoreDotFile(path string) bool {+ return filepath.Base(path)[0] == '.'
}
func (s *Site) absLayoutDir() string {--
⑨