mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-21 20:46:30 -05:00
Merge pull request #38 from noahcampbell/workflow_dotfile
Workflow dotfile
This commit is contained in:
commit
7a51a8a5a3
4 changed files with 40 additions and 8 deletions
25
hugolib/content_directory_test.go
Normal file
25
hugolib/content_directory_test.go
Normal 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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -23,10 +23,10 @@ func TestDegenerateMissingFolderInPageFilename(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestNewPageWithFilePath(t *testing.T) {
|
func TestNewPageWithFilePath(t *testing.T) {
|
||||||
toCheck := []struct{
|
toCheck := []struct {
|
||||||
input string
|
input string
|
||||||
section string
|
section string
|
||||||
layout string
|
layout string
|
||||||
}{
|
}{
|
||||||
{filepath.Join("sub", "foobar.html"), "sub", "sub/single.html"},
|
{filepath.Join("sub", "foobar.html"), "sub", "sub/single.html"},
|
||||||
{filepath.Join("content", "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) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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" {
|
||||||
|
|
|
@ -106,7 +106,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()
|
||||||
|
@ -199,12 +201,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),
|
||||||
|
@ -216,6 +221,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)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue