diff options
Diffstat (limited to 'page/page.go')
| -rw-r--r-- | page/page.go | 9 |
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 } |
