URI: 
       Detect missed index from front matter - hugo - [fork] hugo port for 9front
  HTML git clone git@git.drkhsh.at/hugo.git
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
   DIR commit 8eca8f8aa08d5d95386c34979f653a5b5463c8c9
   DIR parent e66ba5d2a7dd1a043a24bf86a271a5440b7b1385
  HTML Author: Noah Campbell <noahcampbell@gmail.com>
       Date:   Tue, 13 Aug 2013 10:46:05 -0700
       
       Detect missed index from front matter
       
       Diffstat:
         A hugolib/indexing_test.go            |      18 ++++++++++++++++++
         M hugolib/site.go                     |      20 ++++++++++++++++++++
       
       2 files changed, 38 insertions(+), 0 deletions(-)
       ---
   DIR diff --git a/hugolib/indexing_test.go b/hugolib/indexing_test.go
       @@ -0,0 +1,18 @@
       +package hugolib
       +
       +import (
       +        "testing"
       +        "strings"
       +)
       +
       +func TestSitePossibleIndexes(t *testing.T) {
       +        site := new(Site)
       +        page, _ := ReadFrom(strings.NewReader(PAGE_YAML_WITH_INDEXES_A), "path/to/page")
       +        site.Pages = append(site.Pages, page)
       +        indexes := site.possibleIndexes()
       +        if !compareStringSlice(indexes, []string{"tags", "categories"}) {
       +                t.Fatalf("possible indexes do not match [tags categories].  Got: %s", indexes)
       +        }
       +}
       +
       +
   DIR diff --git a/hugolib/site.go b/hugolib/site.go
       @@ -390,6 +390,26 @@ func (s *Site) BuildSiteMeta() (err error) {
                return
        }
        
       +func (s *Site) possibleIndexes() (indexes []string) {
       +        for _, p := range s.Pages {
       +                for k, _ := range p.Params {
       +                        if !inStringArray(indexes, k) {
       +                                indexes = append(indexes, k)
       +                        }
       +                }
       +        }
       +        return
       +}
       +
       +func inStringArray(arr []string, el string) bool {
       +        for _, v := range arr {
       +                if v == el {
       +                        return true
       +                }
       +        }
       +        return false
       +}
       +
        func (s *Site) RenderAliases() error {
                for i, p := range s.Pages {
                        for _, a := range p.Aliases {