shithub: hugo

Download patch

ref: b198cb26ba6a5ce0c1dcbe2aee6c83736fe83280
parent: a4a1e39a512d8b91ba24e86bb02596aff4c09896
author: spf13 <[email protected]>
date: Thu May 15 05:57:36 EDT 2014

Renaming indexes to taxonomies in docs

--- a/docs/content/indexes/category.md
+++ /dev/null
@@ -1,64 +1,0 @@
----
-title: "Example Index - Category"
-date: "2013-07-01"
-linktitle: "Example - Categories"
-aliases: ["/extras/indexes/category"]
-groups: ["indexes"]
-groups_weight: 60
----
-
-This page demonstrates what would be required to add a new index called "categories" to your site.
-
-## config.yaml
-First step is to define the index in your config file.
-*Because we use both the singular and plural name of the index in our rendering it's
-important to provide both here. We require this, rather than using inflection in
-effort to support as many languages as possible.*
-
-{{% highlight yaml %}}
----
-indexes:
-category: "categories"
-baseurl: "http://spf13.com/"
-title: "Steve Francia is spf13.com"
----
-{{% /highlight %}}
-
-## /layouts/indexes/category.html
-
-For each index type a template needs to be provided to render the index page.
-In the case of categories, this will render the content for /categories/`CATEGORYNAME`/.
-
-{{% highlight html %}}
-{{ template "chrome/header.html" . }}
-{{ template "chrome/subheader.html" . }}
-
-<section id="main">
-<div>
-<h1 id="title">{{ .Title }}</h1>
-{{ range .Data.Pages }}
-{{ .Render "summary"}}
-{{ end }}
-</div>
-</section>
-
-{{ template "chrome/footer.html" }}
-{{% /highlight %}}
-
-
-## Assigning indexes to content
-
-Make sure that the index is set in the front matter:
-
-{{% highlight json %}}
-{
-    "title": "Hugo: A fast and flexible static site generator",
-    "categories": [
-        "Development",
-        "Go",
-        "Blogging"
-    ],
-    "slug": "hugo"
-}
-{{% /highlight %}}
-
--- a/docs/content/indexes/displaying.md
+++ /dev/null
@@ -1,122 +1,0 @@
----
-title:  "Rendering Taxonomies"
-date: "2013-07-01"
-linktitle: "Displaying"
-aliases: ["/indexes/displaying/"]
-weight: 20
-menu:
-  main:
-    parent: 'taxonomy'
----
-
-## Rendering index values assigned to this content
-
-Within your content templates you may wish to display 
-the indexes that that piece of content is assigned to.
-
-Because we are leveraging the front matter system to 
-define indexes for content, the indexes assigned to 
-each content piece are located in the usual place 
-(.Params.`plural`)
-
-### Example
-
-{{% highlight html %}}
-<ul id="tags">
-  {{ range .Params.tags }}
-    <li><a href="tags/{{ . | urlize }}">{{ . }}</a> </li>
-  {{ end }}
-</ul>
-{{% /highlight %}}
-
-## Rendering a Site's Indexes
-
-If you wish to display the list of all keys for an index you can find retrieve
-them from the `.Site` variable which is available on every page.
-
-This may take the form of a tag cloud, a menu or simply a list.
-
-The following example displays all tag keys:
-
-### Example
-
-{{% highlight html %}}
-<ul id="all-tags">
-  {{ range .Site.Indexes.tags }}
-    <li><a href="/tags/{{ .Name | urlize }}">{{ .Name }}</a></li>  
-  {{ end }}
-</ul>
-{{% /highlight %}}
-
-## Creating a menu based on indexes
-
-Hugo can generate menus based on indexes by iterating and
-nesting the index keys. This can be used to build a hierarchy
-of content within your site.
-
-To have hugo create the menu, simply create a template in chrome
-called menu.html, then include it using the 
-`{{ template "chrome/menu.html" . }}` syntax.
-
-
-
-### Example complete menu.html file
-This example will list all indexes, each of their keys and all the content assigned to each key.
-
-{{% highlight html %}}
-<section id="menu">
-  <ul>
-    {{ range $indexname, $index := .Site.Indexes }}
-      <li><a href="/{{ $indexname | urlize }}">{{ $indexname }}</a> 
-        <ul> 
-          {{ range $key, $value := $index }}
-          <li> {{ $key }} </li>
-                <ul>
-                {{ range $value.Pages }}
-                    <li hugo-nav="{{ .RelPermalink}}"><a href="{{ .Permalink}}"> {{ .LinkTitle }} </a> </li>
-                {{ end }}
-                </ul>
-          {{ end }}
-        </ul>
-      </li> 
-    {{ end }}
-  </ul>
-</section>
-{{% /highlight %}}
-
-### menu.html using a single index
-It is more likely that you would want to use a single index for navigation.
-In this example we are using the `groups` index for our menu.
-
-{{% highlight html %}}
-<section id="menu">
-    <ul>
-        {{ range $key, $index := .Site.Indexes.groups }}
-        <li> {{ $key }} </li>
-        <ul>
-            {{ range $index.Pages }}
-            <li hugo-nav="{{ .RelPermalink}}"><a href="{{ .Permalink}}"> {{ .LinkTitle }} </a> </li>
-            {{ end }}
-        </ul>
-        {{ end }}
-    </ul>
-</section>
-{{% /highlight %}}
-
-
-### menu.html using a single index ordered by Popularity
-
-{{% highlight html %}}
-<section id="menu">
-    <ul>
-        {{ range .Site.Indexes.groups.ByCount }}
-        <li> {{ .Name }} </li>
-        <ul>
-            {{ range .Pages }}
-            <li hugo-nav="{{ .RelPermalink}}"><a href="{{ .Permalink}}"> {{ .LinkTitle }} </a> </li>
-            {{ end }}
-        </ul>
-        {{ end }}
-    </ul>
-</section>
-{{% /highlight %}}
--- a/docs/content/indexes/lists.md
+++ /dev/null
@@ -1,78 +1,0 @@
----
-title: "Taxonomy Lists"
-date: "2013-07-01"
-aliases: ["/indexes/lists/","/doc/indexes/", "/extras/indexes"]
-linktitle: "Lists"
-weight: 40
-menu:
-  main:
-    parent: 'taxonomy'
----
-
-An index list is a list of all the keys that are contained in the index. When a
-template is present, this will be rendered at `/IndexPlural/`
-
-Hugo also supports creating pages that list your values for each index along
-with the number of content items associated with the index key. These are
-global pages, not attached to any specific content, but rather display the meta
-data in aggregate.
-
-To have hugo create these list of indexes pages, simply create a template in
-/layouts/indexes/ called indexes.html
-
-Hugo can order the meta data in two different ways. It can be ordered by the
-number of content assigned to that key or alphabetically.
-
-
-## Example indexes.html file (alphabetical)
-
-{{% highlight html %}}
-{{ template "chrome/header.html" . }}
-{{ template "chrome/subheader.html" . }}
-
-<section id="main">
-  <div>
-   <h1 id="title">{{ .Title }}</h1>
-   <ul>
-   {{ $data := .Data }}
-    {{ range $key, $value := .Data.Index.Alphabetical }}
-    <li><a href="{{ $data.Plural }}/{{ $value.Name | urlize }}"> {{ $value.Name }} </a> {{ $value.Count }} </li>
-    {{ end }}
-   </ul>
-  </div>
-</section>
-{{ template "chrome/footer.html" }}
-{{% /highlight %}}
-
-## Example indexes.html file (ordered)
-
-{{% highlight html %}}
-{{ template "chrome/header.html" . }}
-{{ template "chrome/subheader.html" . }}
-
-<section id="main">
-  <div>
-   <h1 id="title">{{ .Title }}</h1>
-   <ul>
-   {{ $data := .Data }}
-    {{ range $key, $value := .Data.Index.ByCount }}
-    <li><a href="{{ $data.Plural }}/{{ $value.Name | urlize }}"> {{ $value.Name }} </a> {{ $value.Count }} </li>
-    {{ end }}
-   </ul>
-  </div>
-</section>
-
-{{ template "chrome/footer.html" }}
-{{% /highlight %}}
-
-## Variables available to list of indexes pages.
-
-**.Title**  The title for the content. <br>
-**.Date** The date the content is published on.<br>
-**.Permalink** The Permanent link for this page.<br>
-**.RSSLink** Link to the indexes' rss link. <br>
-**.Data.Singular** The singular name of the index <br>
-**.Data.Plural** The plural name of the index<br>
-**.Data.Index** The Index itself<br>
-**.Data.Index.Alphabetical** The Index alphabetized<br>
-**.Data.Index.ByCount** The Index ordered by popularity<br>
--- a/docs/content/indexes/ordering.md
+++ /dev/null
@@ -1,77 +1,0 @@
----
-title: "Ordering Taxonomies"
-date: "2013-07-01"
-linktitle: "Ordering"
-aliases: ["/indexes/ordering/"]
-weight: 60
-menu:
-  main:
-    parent: 'taxonomy'
----
-
-Hugo provides the ability to both:
-
- 1. Order the way the keys for an index are displayed
- 2. Order the way indexed content appears
-
-
-## Ordering Indexes
-Indexes can be ordered by either alphabetical key or by the number of content pieces assigned to that key.
-
-### Order Alphabetically Example:
-
-{{% highlight html %}}
-<ul>
-{{ $data := .Data }}
-{{ range $key, $value := .Data.Index.Alphabetical }}
-<li><a href="{{ $data.Plural }}/{{ $value.Name | urlize }}"> {{ $value.Name }} </a> {{ $value.Count }} </li>
-{{ end }}
-</ul>
-{{% /highlight %}}
-
-### Order by Popularity Example:
-
-{{% highlight html %}}
-<ul>
-{{ $data := .Data }}
-{{ range $key, $value := .Data.Index.ByCount }}
-<li><a href="{{ $data.Plural }}/{{ $value.Name | urlize }}"> {{ $value.Name }} </a> {{ $value.Count }} </li>
-{{ end }}
-</ul>
-{{% /highlight %}}
-
-
-[See Also Index Lists](/indexes/lists/)
-
-## Ordering Content within Indexes
-
-Hugo uses both **Date** and **Weight** to order content within indexes.
-
-Each piece of content in Hugo can optionally be assigned a date.
-It can also be assigned a weight for each index it is assigned to.
-
-When iterating over content within indexes the default sort is first by weight then by date. This means that if the weights for two pieces of content are the same, than the more recent content will be displayed first. The default weight for any piece of content is 0.
-
-### Assigning Weight
-
-Content can be assigned weight for each index that it's assigned to.
-
-    +++
-    tags = [ "a", "b", "c" ]
-    tags_weight = 22
-    categories = ["d"]
-    title = "foo"
-    categories_weight = 44
-    +++
-    Front Matter with weighted tags and categories
-
-
-The convention is `indexname_weight`.
-
-In the above example, this piece of content has a weight of 22 which applies to the sorting when rendering the pages assigned to the "a", "b" and "c" values of the 'tag' index.
-
-It has also been assigned the weight of 44 when rendering the 'd' category.
-
-With this the same piece of content can appear in different positions in different indexes.
-
-Currently indexes only support the default ordering of content which is weight -> date.
--- a/docs/content/indexes/overview.md
+++ /dev/null
@@ -1,80 +1,0 @@
----
-title: "Taxonomy Overview"
-date: "2013-07-01"
-aliases: ["/indexes/overview/","/doc/indexes/", "/extras/indexes"]
-weight: 10
-menu:
-  main:
-    parent: 'taxonomy'
----
-
-Hugo includes support for user defined groupings of content called indexes.
-
-Indexes can be used to organize content in a variety of ways. For example, if I
-wanted to use a wordpress style organization I would create two indexes called
-"categories" and "tags". Other common uses would include categories, tags, groups,
-navigation, series and many more. Just think of an index as way to organize similar content.
-
-It's important to understand what Indexes do. At it's most basic form an index
-is simply a map of a key to a list of content values.
-
-In the hugo internals this is stored as `Site.Indexes[Plural][key][]pages`.
-For example all the content tagged with Go would be found at 
-`Site.Indexes["tags"]["Go"]`.
-
-For a
-more complete example see the source of [this docs site](http://github.com/spf13/hugo/docs/).
-
-## Defining Indexes for a site
-
-Indexes must be defined in the site configuration, before they
-can be used throughout the site. 
-
-Here is an example configuration in YAML that specifies two indexes.
-Notice the format is **singular key** : *plural value*. While 
-we could use an inflection library to pluralize this, they currently
-support only a few languages, so instead we've opted for user defined
-pluralization.
-
-### config.yaml
-
-{{% highlight yaml %}}
----
-indexes:
-    tag: "tags"
-    category: "categories"
-baseurl: "http://spf13.com/"
-title: "Steve Francia is spf13.com"
----
-{{% /highlight %}}
-
-## Assigning index values to content
-
-Once an index is defined at the site level, any piece of content
-can be assigned to it regardless of content type or section.
-
-Assigning content to an index is done in the front matter.
-Simply create a variable with the *plural* name of the index
-and assign all keys you want this content to match against. 
-
-**Index values are case insensitive**
-
-### Example
-
-{{% highlight json %}}
-{
-    "title": "Hugo: A fast and flexible static site generator",
-    "tags": [
-        "Development",
-        "Go",
-        "fast",
-        "Blogging"
-    ],
-    "categories" : [
-        "Development"
-    ]
-    "slug": "hugo",
-    "project_url": "http://github.com/spf13/hugo"
-}
-{{% /highlight %}}
-
--- a/docs/content/indexes/templates.md
+++ /dev/null
@@ -1,58 +1,0 @@
----
-title: "Taxonomy Templates"
-date: "2013-07-01"
-linktitle: "Templates"
-aliases: ["/indexes/templates/"]
-weight: 30
-menu:
-  main:
-    parent: 'taxonomy'
----
-
-There are two different templates that the use of indexes will require you to provide.
-
-The first is a list of all the content assigned to a specific index key. The
-second is a [list](/indexes/lists/) of all keys for that index. This document
-addresses the template used for the first type.
-
-## Creating index templates
-For each index type a template needs to be provided to render the index page.
-In the case of tags, this will render the content for `/tags/TAGNAME/`.
-
-The template must be called the singular name of the index and placed in 
-layouts/indexes
-
-    .
-    └── layouts
-        └── indexes
-            └── category.html
-
-The template will be provided Data about the index. 
-
-## Variables
-
-The following variables are available to the index template:
-
-**.Title**  The title for the content. <br>
-**.Date** The date the content is published on.<br>
-**.Permalink** The Permanent link for this page.<br>
-**.RSSLink** Link to the indexes' rss link. <br>
-**.Data.Pages** The content that is assigned this index.<br>
-**.Data.`singular`** The index itself.<br>
-
-## Example
-{{% highlight html %}}
-{{ template "chrome/header.html" . }}
-{{ template "chrome/subheader.html" . }}
-
-<section id="main">
-  <div>
-   <h1 id="title">{{ .Title }}</h1>
-    {{ range .Data.Pages }}
-        {{ .Render "summary"}}
-    {{ end }}
-  </div>
-</section>
-
-{{ template "chrome/footer.html" }}
-{{% /highlight %}}
--- /dev/null
+++ b/docs/content/taxonomies/category.md
@@ -1,0 +1,57 @@
+---
+title: "Example Index - Category"
+date: "2013-07-01"
+linktitle: "Example - Categories"
+aliases: ["/extras/indexes/category"]
+groups: ["indexes"]
+groups_weight: 60
+---
+
+This page demonstrates what would be required to add a new index called "categories" to your site.
+
+## config.yaml
+First step is to define the index in your config file.
+*Because we use both the singular and plural name of the index in our rendering it's
+important to provide both here. We require this, rather than using inflection in
+effort to support as many languages as possible.*
+
+    ---
+    indexes:
+    category: "categories"
+    baseurl: "http://spf13.com/"
+    title: "Steve Francia is spf13.com"
+    ---
+
+## /layouts/indexes/category.html
+
+For each index type a template needs to be provided to render the index page.
+In the case of categories, this will render the content for /categories/`CATEGORYNAME`/.
+
+    {{ template "chrome/header.html" . }}
+    {{ template "chrome/subheader.html" . }}
+
+    <section id="main">
+    <div>
+    <h1 id="title">{{ .Title }}</h1>
+    {{ range .Data.Pages }}
+    {{ .Render "summary"}}
+    {{ end }}
+    </div>
+    </section>
+
+    {{ template "chrome/footer.html" }}
+
+## Assigning indexes to content
+
+Make sure that the index is set in the front matter:
+
+    {
+        "title": "Hugo: A fast and flexible static site generator",
+        "categories": [
+            "Development",
+            "Go",
+            "Blogging"
+        ],
+        "slug": "hugo"
+    }
+
--- /dev/null
+++ b/docs/content/taxonomies/displaying.md
@@ -1,0 +1,112 @@
+---
+title:  "Rendering Taxonomies"
+date: "2013-07-01"
+linktitle: "Displaying"
+aliases: ["/indexes/displaying/"]
+weight: 20
+menu:
+  main:
+    parent: 'taxonomy'
+---
+
+## Rendering index values assigned to this content
+
+Within your content templates you may wish to display 
+the indexes that that piece of content is assigned to.
+
+Because we are leveraging the front matter system to 
+define indexes for content, the indexes assigned to 
+each content piece are located in the usual place 
+(.Params.`plural`)
+
+### Example
+
+    <ul id="tags">
+      {{ range .Params.tags }}
+        <li><a href="tags/{{ . | urlize }}">{{ . }}</a> </li>
+      {{ end }}
+    </ul>
+
+## Rendering a Site's Indexes
+
+If you wish to display the list of all keys for an index you can find retrieve
+them from the `.Site` variable which is available on every page.
+
+This may take the form of a tag cloud, a menu or simply a list.
+
+The following example displays all tag keys:
+
+### Example
+
+    <ul id="all-tags">
+      {{ range .Site.Indexes.tags }}
+        <li><a href="/tags/{{ .Name | urlize }}">{{ .Name }}</a></li>  
+      {{ end }}
+    </ul>
+
+## Creating a menu based on indexes
+
+Hugo can generate menus based on indexes by iterating and
+nesting the index keys. This can be used to build a hierarchy
+of content within your site.
+
+To have hugo create the menu, simply create a template in chrome
+called menu.html, then include it using the 
+`{{ template "chrome/menu.html" . }}` syntax.
+
+
+
+### Example complete menu.html file
+This example will list all indexes, each of their keys and all the content assigned to each key.
+
+    <section id="menu">
+      <ul>
+        {{ range $indexname, $index := .Site.Indexes }}
+          <li><a href="/{{ $indexname | urlize }}">{{ $indexname }}</a> 
+            <ul> 
+              {{ range $key, $value := $index }}
+              <li> {{ $key }} </li>
+                    <ul>
+                    {{ range $value.Pages }}
+                        <li hugo-nav="{{ .RelPermalink}}"><a href="{{ .Permalink}}"> {{ .LinkTitle }} </a> </li>
+                    {{ end }}
+                    </ul>
+              {{ end }}
+            </ul>
+          </li> 
+        {{ end }}
+      </ul>
+    </section>
+
+### menu.html using a single index
+It is more likely that you would want to use a single index for navigation.
+In this example we are using the `groups` index for our menu.
+
+    <section id="menu">
+        <ul>
+            {{ range $key, $index := .Site.Indexes.groups }}
+            <li> {{ $key }} </li>
+            <ul>
+                {{ range $index.Pages }}
+                <li hugo-nav="{{ .RelPermalink}}"><a href="{{ .Permalink}}"> {{ .LinkTitle }} </a> </li>
+                {{ end }}
+            </ul>
+            {{ end }}
+        </ul>
+    </section>
+
+
+### menu.html using a single index ordered by Popularity
+
+    <section id="menu">
+        <ul>
+            {{ range .Site.Indexes.groups.ByCount }}
+            <li> {{ .Name }} </li>
+            <ul>
+                {{ range .Pages }}
+                <li hugo-nav="{{ .RelPermalink}}"><a href="{{ .Permalink}}"> {{ .LinkTitle }} </a> </li>
+                {{ end }}
+            </ul>
+            {{ end }}
+        </ul>
+    </section>
--- /dev/null
+++ b/docs/content/taxonomies/lists.md
@@ -1,0 +1,74 @@
+---
+title: "Taxonomy Lists"
+date: "2013-07-01"
+aliases: ["/indexes/lists/","/doc/indexes/", "/extras/indexes"]
+linktitle: "Lists"
+weight: 40
+menu:
+  main:
+    parent: 'taxonomy'
+---
+
+An index list is a list of all the keys that are contained in the index. When a
+template is present, this will be rendered at `/IndexPlural/`
+
+Hugo also supports creating pages that list your values for each index along
+with the number of content items associated with the index key. These are
+global pages, not attached to any specific content, but rather display the meta
+data in aggregate.
+
+To have hugo create these list of indexes pages, simply create a template in
+/layouts/indexes/ called indexes.html
+
+Hugo can order the meta data in two different ways. It can be ordered by the
+number of content assigned to that key or alphabetically.
+
+
+## Example indexes.html file (alphabetical)
+
+    {{ template "chrome/header.html" . }}
+    {{ template "chrome/subheader.html" . }}
+
+    <section id="main">
+      <div>
+       <h1 id="title">{{ .Title }}</h1>
+       <ul>
+       {{ $data := .Data }}
+        {{ range $key, $value := .Data.Index.Alphabetical }}
+        <li><a href="{{ $data.Plural }}/{{ $value.Name | urlize }}"> {{ $value.Name }} </a> {{ $value.Count }} </li>
+        {{ end }}
+       </ul>
+      </div>
+    </section>
+    {{ template "chrome/footer.html" }}
+
+## Example indexes.html file (ordered)
+
+    {{ template "chrome/header.html" . }}
+    {{ template "chrome/subheader.html" . }}
+
+    <section id="main">
+      <div>
+       <h1 id="title">{{ .Title }}</h1>
+       <ul>
+       {{ $data := .Data }}
+        {{ range $key, $value := .Data.Index.ByCount }}
+        <li><a href="{{ $data.Plural }}/{{ $value.Name | urlize }}"> {{ $value.Name }} </a> {{ $value.Count }} </li>
+        {{ end }}
+       </ul>
+      </div>
+    </section>
+
+    {{ template "chrome/footer.html" }}
+
+## Variables available to list of indexes pages.
+
+**.Title**  The title for the content. <br>
+**.Date** The date the content is published on.<br>
+**.Permalink** The Permanent link for this page.<br>
+**.RSSLink** Link to the indexes' rss link. <br>
+**.Data.Singular** The singular name of the index <br>
+**.Data.Plural** The plural name of the index<br>
+**.Data.Index** The Index itself<br>
+**.Data.Index.Alphabetical** The Index alphabetized<br>
+**.Data.Index.ByCount** The Index ordered by popularity<br>
--- /dev/null
+++ b/docs/content/taxonomies/ordering.md
@@ -1,0 +1,74 @@
+---
+title: "Ordering Taxonomies"
+date: "2013-07-01"
+linktitle: "Ordering"
+aliases: ["/indexes/ordering/"]
+weight: 60
+menu:
+  main:
+    identifier: "Ordering Taxonomies"
+    parent: 'taxonomy'
+---
+
+Hugo provides the ability to both:
+
+ 1. Order the way the keys for an index are displayed
+ 2. Order the way indexed content appears
+
+
+## Ordering Indexes
+Indexes can be ordered by either alphabetical key or by the number of content pieces assigned to that key.
+
+### Order Alphabetically Example:
+
+    <ul>
+    {{ $data := .Data }}
+    {{ range $key, $value := .Data.Index.Alphabetical }}
+    <li><a href="{{ $data.Plural }}/{{ $value.Name | urlize }}"> {{ $value.Name }} </a> {{ $value.Count }} </li>
+    {{ end }}
+    </ul>
+
+### Order by Popularity Example:
+
+    <ul>
+    {{ $data := .Data }}
+    {{ range $key, $value := .Data.Index.ByCount }}
+    <li><a href="{{ $data.Plural }}/{{ $value.Name | urlize }}"> {{ $value.Name }} </a> {{ $value.Count }} </li>
+    {{ end }}
+    </ul>
+
+
+[See Also Index Lists](/indexes/lists/)
+
+## Ordering Content within Indexes
+
+Hugo uses both **Date** and **Weight** to order content within indexes.
+
+Each piece of content in Hugo can optionally be assigned a date.
+It can also be assigned a weight for each index it is assigned to.
+
+When iterating over content within indexes the default sort is first by weight then by date. This means that if the weights for two pieces of content are the same, than the more recent content will be displayed first. The default weight for any piece of content is 0.
+
+### Assigning Weight
+
+Content can be assigned weight for each index that it's assigned to.
+
+    +++
+    tags = [ "a", "b", "c" ]
+    tags_weight = 22
+    categories = ["d"]
+    title = "foo"
+    categories_weight = 44
+    +++
+    Front Matter with weighted tags and categories
+
+
+The convention is `indexname_weight`.
+
+In the above example, this piece of content has a weight of 22 which applies to the sorting when rendering the pages assigned to the "a", "b" and "c" values of the 'tag' index.
+
+It has also been assigned the weight of 44 when rendering the 'd' category.
+
+With this the same piece of content can appear in different positions in different indexes.
+
+Currently indexes only support the default ordering of content which is weight -> date.
--- /dev/null
+++ b/docs/content/taxonomies/overview.md
@@ -1,0 +1,76 @@
+---
+title: "Taxonomy Overview"
+date: "2013-07-01"
+aliases: ["/indexes/overview/","/doc/indexes/", "/extras/indexes"]
+weight: 10
+menu:
+  main:
+    parent: 'taxonomy'
+---
+
+Hugo includes support for user defined groupings of content called indexes.
+
+Indexes can be used to organize content in a variety of ways. For example, if I
+wanted to use a wordpress style organization I would create two indexes called
+"categories" and "tags". Other common uses would include categories, tags, groups,
+navigation, series and many more. Just think of an index as way to organize similar content.
+
+It's important to understand what Indexes do. At it's most basic form an index
+is simply a map of a key to a list of content values.
+
+In the hugo internals this is stored as `Site.Indexes[Plural][key][]pages`.
+For example all the content tagged with Go would be found at 
+`Site.Indexes["tags"]["Go"]`.
+
+For a
+more complete example see the source of [this docs site](http://github.com/spf13/hugo/docs/).
+
+## Defining Indexes for a site
+
+Indexes must be defined in the site configuration, before they
+can be used throughout the site. 
+
+Here is an example configuration in YAML that specifies two indexes.
+Notice the format is **singular key** : *plural value*. While 
+we could use an inflection library to pluralize this, they currently
+support only a few languages, so instead we've opted for user defined
+pluralization.
+
+### config.yaml
+
+    ---
+    indexes:
+        tag: "tags"
+        category: "categories"
+    baseurl: "http://spf13.com/"
+    title: "Steve Francia is spf13.com"
+    ---
+
+## Assigning index values to content
+
+Once an index is defined at the site level, any piece of content
+can be assigned to it regardless of content type or section.
+
+Assigning content to an index is done in the front matter.
+Simply create a variable with the *plural* name of the index
+and assign all keys you want this content to match against. 
+
+**Index values are case insensitive**
+
+### Example
+
+    {
+        "title": "Hugo: A fast and flexible static site generator",
+        "tags": [
+            "Development",
+            "Go",
+            "fast",
+            "Blogging"
+        ],
+        "categories" : [
+            "Development"
+        ]
+        "slug": "hugo",
+        "project_url": "http://github.com/spf13/hugo"
+    }
+
--- /dev/null
+++ b/docs/content/taxonomies/templates.md
@@ -1,0 +1,56 @@
+---
+title: "Taxonomy Templates"
+date: "2013-07-01"
+linktitle: "Templates"
+aliases: ["/indexes/templates/"]
+weight: 30
+menu:
+  main:
+    parent: 'taxonomy'
+---
+
+There are two different templates that the use of indexes will require you to provide.
+
+The first is a list of all the content assigned to a specific index key. The
+second is a [list](/indexes/lists/) of all keys for that index. This document
+addresses the template used for the first type.
+
+## Creating index templates
+For each index type a template needs to be provided to render the index page.
+In the case of tags, this will render the content for `/tags/TAGNAME/`.
+
+The template must be called the singular name of the index and placed in 
+layouts/indexes
+
+    .
+    └── layouts
+        └── indexes
+            └── category.html
+
+The template will be provided Data about the index. 
+
+## Variables
+
+The following variables are available to the index template:
+
+**.Title**  The title for the content. <br>
+**.Date** The date the content is published on.<br>
+**.Permalink** The Permanent link for this page.<br>
+**.RSSLink** Link to the indexes' rss link. <br>
+**.Data.Pages** The content that is assigned this index.<br>
+**.Data.`singular`** The index itself.<br>
+
+## Example
+    {{ template "chrome/header.html" . }}
+    {{ template "chrome/subheader.html" . }}
+
+    <section id="main">
+      <div>
+       <h1 id="title">{{ .Title }}</h1>
+        {{ range .Data.Pages }}
+            {{ .Render "summary"}}
+        {{ end }}
+      </div>
+    </section>
+
+    {{ template "chrome/footer.html" }}