aboutsummaryrefslogtreecommitdiff
path: root/page/page.go
diff options
context:
space:
mode:
authorMitch Riedstra <mitch@riedstra.us>2020-09-20 20:56:53 -0400
committerMitch Riedstra <mitch@riedstra.us>2020-09-20 20:56:53 -0400
commit09979dcab01643349cee425b71fa3b4db24f8d60 (patch)
tree333d7c4c8941b6ad8d4092d700566956d107521a /page/page.go
parent3b94493a21f227962a01ec0b11fd855178985604 (diff)
downloadgo-website-09979dcab01643349cee425b71fa3b4db24f8d60.tar.gz
go-website-09979dcab01643349cee425b71fa3b4db24f8d60.tar.xz
Save the index in memory and only rebuild if clearedv0.0.7
Diffstat (limited to 'page/page.go')
-rw-r--r--page/page.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/page/page.go b/page/page.go
index 6e1d7d5..c5230c6 100644
--- a/page/page.go
+++ b/page/page.go
@@ -135,10 +135,17 @@ func (p Page) String() string {
return fmt.Sprintf("Page: %s", p.Path)
}
+var pageIndex map[string]PageList
+
// Index returns a map of all pages below the current Page's Path seperated
// into their respective tags If a Page has multiple tags it will be listed
// under each
func (p *Page) Index() (map[string]PageList, error) {
+ if pageIndex != nil {
+ return pageIndex, nil
+ }
+ fmt.Fprintln(os.Stderr, "Rebuilding index...")
+
out := make(map[string]PageList)
var pageErr error
@@ -173,5 +180,7 @@ func (p *Page) Index() (map[string]PageList, error) {
return nil
})
+ pageIndex = out
+
return out, nil
}