diff --git a/example/templates/index.html b/example/templates/index.html
index 59ba59f..85aded1 100644
--- a/example/templates/index.html
+++ b/example/templates/index.html
@@ -1,39 +1,12 @@
-
-
{{ Meta.Title }}
-
-
-
-
+ {{> meta.html }}
-
-
- main Level 1
-
- {{#each NavMap.de.SubMap.main.SubSlice }}
- - {{ Navname }}
- {{/each}}
-
-
+ {{> header.html }}
{{{ Body }}}
-
+ {{> footer.html }}
\ No newline at end of file
diff --git a/example/templates/mitBild.html b/example/templates/mitBild.html
index 7f52141..dacb69d 100644
--- a/example/templates/mitBild.html
+++ b/example/templates/mitBild.html
@@ -1,26 +1,7 @@
-
- {{ Meta.Title }}
-
-
-
-
+ {{> meta.html }}
-
- main Level 1
-
- {{#each NavMap.de.SubMap.main.SubSlice }}
- - {{ Navname }}
- {{/each}}
-
-
+ {{> header.html }}
{{{ Body }}}
@@ -30,13 +11,6 @@
-
+ {{> footer.html }}
\ No newline at end of file
diff --git a/example/templates/partials/footer.html b/example/templates/partials/footer.html
new file mode 100644
index 0000000..bf137af
--- /dev/null
+++ b/example/templates/partials/footer.html
@@ -0,0 +1,8 @@
+
diff --git a/example/templates/partials/header.html b/example/templates/partials/header.html
new file mode 100644
index 0000000..148710c
--- /dev/null
+++ b/example/templates/partials/header.html
@@ -0,0 +1,9 @@
+
+
+ main Level 1
+
+ {{#each NavMap.de.SubMap.main.SubSlice }}
+ - {{ Navname }}
+ {{/each}}
+
+
diff --git a/example/templates/partials/meta.html b/example/templates/partials/meta.html
new file mode 100644
index 0000000..a601114
--- /dev/null
+++ b/example/templates/partials/meta.html
@@ -0,0 +1,13 @@
+
+ {{ Meta.Title }}
+
+
+
+
diff --git a/main.go b/main.go
index 3e28fae..cb4a021 100644
--- a/main.go
+++ b/main.go
@@ -573,6 +573,33 @@ func main() {
//spew.Dump(navMap)
+ partialsPath := *inDir + "/templates/partials"
+ if d, err := os.Stat(partialsPath); !os.IsNotExist(err) {
+ if d != nil && d.IsDir() {
+ log.Debugf("register template partials from '%s'", partialsPath)
+ if entries, err := ioutil.ReadDir(partialsPath); err == nil {
+ for _, f := range entries {
+ if !f.IsDir() {
+ pFile := partialsPath + "/" + f.Name()
+ log.Noticef("registering partial: %s", pFile)
+ pContent, err := ioutil.ReadFile(pFile)
+ if err != nil {
+ log.Panicf("could not read partial '%s': %s", pFile, err)
+ }
+ raymond.RegisterPartial(f.Name(), string(pContent))
+ }
+ }
+ } else {
+ log.Panicf("could not read from partials directory '%s': %s", partialsPath, err)
+ }
+ } else if err == nil {
+ log.Panicf("template partials directory '%s' is not a directory", partialsPath)
+ } else {
+ log.Panicf("unknown error on partials directory '%s': %s", partialsPath, err)
+ }
+
+ }
+
processContent(contentConfig)
processAssets()