summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Francia <steve.francia@gmail.com>2013-08-13 20:03:18 -0700
committerSteve Francia <steve.francia@gmail.com>2013-08-13 20:03:18 -0700
commit7a51a8a5a32881c01dcd472d818b4d774a487935 (patch)
tree4ca576960bfb90c4898c22b2ad16f7e91a19056c
parentb4bcc591e45e9526b7eb9fe77f355da5ead8e627 (diff)
parent97eb9225a72fd08f671e5000bbc4c94cf6b78d7e (diff)
Merge pull request #38 from noahcampbell/workflow_dotfile
Workflow dotfile
-rw-r--r--hugolib/content_directory_test.go25
-rw-r--r--hugolib/path_seperators_test.go8
-rw-r--r--hugolib/path_seperators_windows_test.go2
-rw-r--r--hugolib/site.go13
4 files changed, 40 insertions, 8 deletions
diff --git a/hugolib/content_directory_test.go b/hugolib/content_directory_test.go
new file mode 100644
index 000000000..8b8d7c4f6
--- /dev/null
+++ 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)
+ }
+ }
+}
diff --git a/hugolib/path_seperators_test.go b/hugolib/path_seperators_test.go
index f13eea1ef..9e112f82d 100644
--- a/hugolib/path_seperators_test.go
+++ b/hugolib/path_seperators_test.go
@@ -23,10 +23,10 @@ func TestDegenerateMissingFolderInPageFilename(t *testing.T) {
}
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 @@ func TestNewPageWithFilePath(t *testing.T) {
}
}
}
-
-
diff --git a/hugolib/path_seperators_windows_test.go b/hugolib/path_seperators_windows_test.go
index 85b97222b..c6df7f61e 100644
--- 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" {
diff --git a/hugolib/site.go b/hugolib/site.go
index 770a14fc1..ef23632e1 100644
--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -106,7 +106,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()
@@ -199,12 +201,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),
@@ -216,6 +221,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)
}