Merge branch 'master' of github.com:spf13/hugo

This commit is contained in:
spf13 2013-08-14 10:19:59 -04:00
commit 3c3fc45d3c
3 changed files with 37 additions and 3 deletions

View file

@ -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)
}
}
}

View file

@ -7,7 +7,7 @@ import (
func TestTemplatePathSeperator(t *testing.T) { func TestTemplatePathSeperator(t *testing.T) {
config := Config{ config := Config{
LayoutDir: "c:\\a\\windows\\path\\layout", LayoutDir: "c:\\a\\windows\\path\\layout",
Path: "c:\\a\\windows\\path", Path: "c:\\a\\windows\\path",
} }
s := &Site{Config: config} s := &Site{Config: config}
if name := s.generateTemplateNameFrom("c:\\a\\windows\\path\\layout\\sub1\\index.html"); name != "sub1/index.html" { if name := s.generateTemplateNameFrom("c:\\a\\windows\\path\\layout\\sub1\\index.html"); name != "sub1/index.html" {

View file

@ -107,7 +107,9 @@ func (site *Site) Render() (err error) {
site.timerStep("render shortcodes") site.timerStep("render shortcodes")
site.AbsUrlify() site.AbsUrlify()
site.timerStep("absolute URLify") site.timerStep("absolute URLify")
site.RenderIndexes() if err = site.RenderIndexes(); err != nil {
return
}
site.RenderIndexesIndexes() site.RenderIndexesIndexes()
site.timerStep("render and write indexes") site.timerStep("render and write indexes")
site.RenderLists() site.RenderLists()
@ -200,12 +202,15 @@ func (s *Site) initialize() {
site.Directories = append(site.Directories, path) site.Directories = append(site.Directories, path)
return nil return nil
} else { } else {
if ignoreDotFile(path) {
return nil
}
site.Files = append(site.Files, path) site.Files = append(site.Files, path)
return nil return nil
} }
} }
filepath.Walk(s.Config.GetAbsPath(s.Config.ContentDir), walker) filepath.Walk(s.absContentDir(), walker)
s.Info = SiteInfo{ s.Info = SiteInfo{
BaseUrl: template.URL(s.Config.BaseUrl), BaseUrl: template.URL(s.Config.BaseUrl),
@ -217,6 +222,10 @@ func (s *Site) initialize() {
s.Shortcodes = make(map[string]ShortcodeFunc) s.Shortcodes = make(map[string]ShortcodeFunc)
} }
func ignoreDotFile(path string) bool {
return filepath.Base(path)[0] == '.'
}
func (s *Site) absLayoutDir() string { func (s *Site) absLayoutDir() string {
return s.Config.GetAbsPath(s.Config.LayoutDir) return s.Config.GetAbsPath(s.Config.LayoutDir)
} }