commit d32d15f49e8def390dd87676db8e6bd1e32c9647
parent a701ad7ab84223adaecc0e91ca771a318ab5edce
Author: gearsix <gearsix@tuta.io>
Date: Wed, 6 Oct 2021 15:45:54 +0100
refactors to fix several renames
Diffstat:
6 files changed, 23 insertions(+), 20 deletions(-)
diff --git a/config.go b/config.go
@@ -52,7 +52,7 @@ func NewConfigFromFile(fpath string) (cfg Config, err error) {
return
}
- if err = suti.LoadDataFile(fpath, &cfg); err != nil {
+ if err = suti.LoadDataFilepath(fpath, &cfg); err != nil {
return
}
diff --git a/page.go b/page.go
@@ -158,7 +158,7 @@ func LoadPagesDir(dir string) (p []Page, e error) {
if suti.IsSupportedDataLang(filepath.Ext(fpath)) > -1 {
var m Meta
- if err = suti.LoadDataFile(fpath, &m); err == nil {
+ if err = suti.LoadDataFilepath(fpath, &m); err == nil {
if strings.Contains(filepath.Base(fpath), "defaults.") {
if meta, ok := dmetas[path]; ok {
m.MergeMeta(meta, false)
@@ -263,7 +263,7 @@ func NewPage(path string, updated time.Time) Page {
// (in the order) and return the value of the first existing key as a string.
// If `.Meta` neither has the key `template` or `Template`, then it will
// return `DefaultTemplateName` from [./template.go].
-func (p *Page) GetTemplate() string {
+func (p *Page) TemplateName() string {
if v, ok := p.Meta["template"]; ok {
return v.(string)
} else if v, ok = p.Meta["Template"]; ok {
diff --git a/page_test.go b/page_test.go
@@ -137,12 +137,13 @@ func TestBuildSitemap(test *testing.T) {
test.Parallel()
var err error
+ /*
writef := func(path, data string) {
if err == nil {
err = os.WriteFile(path, []byte(data), 0644)
}
}
-
+ */
tdir := test.TempDir()
// TODO write files to pages dir
@@ -219,20 +220,20 @@ func TestNewPage(test *testing.T) {
}
}
-func TestGetTemplate(test *testing.T) {
+func TestTemplateName(test *testing.T) {
test.Parallel()
p := NewPage("/test", time.Now())
- if p.GetTemplate() != DefaultTemplateName {
- test.Fatalf("'%s' not returned from GetTemplate()", DefaultTemplateName)
+ if p.TemplateName() != DefaultTemplateName {
+ test.Fatalf("'%s' not returned from TemplateName()", DefaultTemplateName)
}
p.Meta["Template"] = "test1"
- if p.GetTemplate() != "test1" {
- test.Fatalf("'test1' not returned from GetTemplate()")
+ if p.TemplateName() != "test1" {
+ test.Fatalf("'test1' not returned from TemplateName()")
}
p.Meta["template"] = "test2"
- if p.GetTemplate() != "test2" {
- test.Fatalf("'test2' not returned from GetTemplate()")
+ if p.TemplateName() != "test2" {
+ test.Fatalf("'test2' not returned from TemplateName()")
}
}
@@ -330,7 +331,10 @@ func TestBuild(test *testing.T) {
var err error
tdir := test.TempDir()
p := NewPage("/test", time.Now())
- t, err := suti.LoadTemplateString("tmpl", "test", "{{.Title}}")
+ t, err := suti.LoadTemplateString("tmpl", "test", `{{.Meta.Title}} {{template "p" .}}`, map[string]string{"p": "p"})
+ if err != nil {
+ test.Error(err)
+ }
var fpath string
if fpath, err = p.Build(tdir, t); err != nil {
@@ -340,8 +344,8 @@ func TestBuild(test *testing.T) {
if fbuf, err = os.ReadFile(fpath); err != nil {
test.Fatal(err)
}
- if string(fbuf) != "Test" {
- test.Fatalf("invalid result parsed: '%s', expected: 'Test'", string(fbuf))
+ if string(fbuf) != "Test p" {
+ test.Fatalf("invalid result parsed: '%s', expected: 'Test p'", string(fbuf))
}
}
diff --git a/pagr.go b/pagr.go
@@ -72,7 +72,7 @@ func main() {
tmpl, err = findTemplate(pg, t)
if os.IsNotExist(err) {
log.Printf("warning: skipping '%s', failed to find template '%s'\n",
- pg.Path, pg.GetTemplate())
+ pg.Path, pg.TemplateName())
continue
} else {
check(err)
@@ -95,13 +95,11 @@ func main() {
return
}
-func findTemplate(pg Page, templates []suti.Template) (suti.Template, error) {
+func findTemplate(p Page, templates []suti.Template) (suti.Template, error) {
var t suti.Template
err := os.ErrNotExist
- target := pg.GetTemplate()
for _, t := range templates {
- tname := filepath.Base(t.Source)
- if tname == target || strings.TrimSuffix(tname, filepath.Ext(tname)) == target {
+ if t.Name == p.TemplateName() {
return t, nil
}
}
diff --git a/template.go b/template.go
@@ -57,7 +57,7 @@ func LoadTemplateDir(dir string) ([]suti.Template, error) {
var ret []suti.Template
for t, partials := range paths {
- tmpl, err := suti.LoadTemplateFile(t, partials...)
+ tmpl, err := suti.LoadTemplateFilepath(t, partials...)
if err != nil {
return nil, err
}
diff --git a/template_test.go b/template_test.go
@@ -29,6 +29,7 @@ func TestLoadTemplateDir(t *testing.T) {
var templates = map[string]string{ // [ext]template
"tmpl": "{{.Contents}}",
+ "hmpl": "{{.Contents}}",
"mst": "{{Contents}}",
}