commit b286bd6d6d2eb76a9f37153df6baa1a1ef447987
parent 0a1168d69074d28401aa878482d8d400b2a9c090
Author: gearsix <gearsix@tuta.io>
Date: Tue, 27 Jul 2021 20:23:28 +0100
Config.Contents->Config->Pages
Diffstat:
3 files changed, 36 insertions(+), 36 deletions(-)
diff --git a/config.go b/config.go
@@ -9,20 +9,20 @@ import (
// Config is the data structure containing all key/values to be loaded
// in pagr configuration files
type Config struct {
- Contents string
+ Pages string
Templates string
Output string
}
// relPaths sets all filepath values in `cfg` relative to `dir`
func (cfg *Config) relPaths(dir string) {
- var paths = []string{cfg.Contents, cfg.Templates, cfg.Output}
+ var paths = []string{cfg.Pages, cfg.Templates, cfg.Output}
for i, path := range paths {
if !filepath.IsAbs(path) {
paths[i] = filepath.Join(dir, path)
}
}
- cfg.Contents = paths[0]
+ cfg.Pages = paths[0]
cfg.Templates = paths[1]
cfg.Output = paths[2]
return
@@ -31,7 +31,7 @@ func (cfg *Config) relPaths(dir string) {
// NewConfig returns a Config with default values
func NewConfig() Config {
return Config{
- Contents: "./content",
+ Pages: "./content",
Templates: "./templates",
Output: "./out",
}
diff --git a/page.go b/page.go
@@ -18,37 +18,6 @@ import (
"sort"
)
-func titleFromPath(path string) (title string) {
- if title = filepath.Base(path); title == "/" {
- title = "Home"
- }
- title = strings.TrimSuffix(title, filepath.Ext(title))
- title = strings.ReplaceAll(title, "-", " ")
- title = strings.Title(title)
- return
-}
-
-func lastFileMod(fpath string) time.Time {
- t := time.Now() // default/error ret
- if fd, e := os.Stat(fpath); e != nil {
- return t
- } else if !fd.IsDir() {
- return fd.ModTime()
- } else {
- t = fd.ModTime()
- }
- if dir, err := os.ReadDir(fpath); err != nil {
- return t
- } else {
- for _, d := range dir {
- if fd, err := d.Info(); err == nil && fd.ModTime().After(t) {
- t = fd.ModTime()
- }
- }
- }
- return t
-}
-
// Sitemap parses `pages` to determine the `.Nav` values for each element in `pages`
// based on their `.Path` value. These values will be set in the returned Content
func BuildSitemap(pages []Page) []Page {
@@ -104,6 +73,37 @@ func BuildSitemap(pages []Page) []Page {
return pages
}
+func titleFromPath(path string) (title string) {
+ if title = filepath.Base(path); title == "/" {
+ title = "Home"
+ }
+ title = strings.TrimSuffix(title, filepath.Ext(title))
+ title = strings.ReplaceAll(title, "-", " ")
+ title = strings.Title(title)
+ return
+}
+
+func lastFileMod(fpath string) time.Time {
+ t := time.Now() // default/error ret
+ if fd, e := os.Stat(fpath); e != nil {
+ return t
+ } else if !fd.IsDir() {
+ return fd.ModTime()
+ } else {
+ t = fd.ModTime()
+ }
+ if dir, err := os.ReadDir(fpath); err != nil {
+ return t
+ } else {
+ for _, d := range dir {
+ if fd, err := d.Info(); err == nil && fd.ModTime().After(t) {
+ t = fd.ModTime()
+ }
+ }
+ }
+ return t
+}
+
var contentExts = [5]string{
".txt", // plain-text
".html", // HTML
diff --git a/pagr.go b/pagr.go
@@ -54,7 +54,7 @@ func main() {
vlog("loaded config: %s\n", config)
var c []Page
- c, err = LoadContentDir(config.Contents)
+ c, err = LoadContentDir(config.Pages)
check(err)
log.Printf("loaded %d content pages", len(c))