aboutsummaryrefslogtreecommitdiff
path: root/page/page.go
diff options
context:
space:
mode:
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
}