shithub: hugo

Download patch

ref: 5df0cf7ecac3240c57fd2d3b3cf3f4eb9c966dc4
parent: 35926dcf3742df915a9d535d7178a363c666e840
author: Vincent Batoufflet <[email protected]>
date: Wed May 7 04:58:25 EDT 2014

Add Sitemap documentation content

--- /dev/null
+++ b/docs/content/layout/sitemap.md
@@ -1,0 +1,47 @@
+---
+title: "Sitemap Template"
+date: "2014-05-07"
+weight: 45
+notoc: true
+menu:
+  main:
+    parent: 'layout'
+---
+
+A single Sitemap template is used to generate the `sitemap.xml` file.
+
+This page is of the type "node" and have all the [node
+variables](/layout/variables/) available to use in this template
+along with Sitemap-specific ones:
+
+**.Sitemap.ChangeFreq** The page change frequency<br>
+**.Sitemap.Priority** The priority of the page<br>
+
+In addition to the standard node variables, the homepage has access to all
+site pages through `.Data.Pages`.
+
+    ▾ layouts/
+        sitemap.xml
+
+## sitemap.xml
+
+This template respects the version 0.9 of the [Sitemap
+Protocol](http://www.sitemaps.org/protocol.html).
+
+{{% highlight xml %}}
+<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
+  {{ range .Data.Pages }}
+  <url>
+    <loc>{{ .Permalink }}</loc>
+    <lastmod>{{ safeHtml ( .Date.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ with .Sitemap.ChangeFreq }}
+    <changefreq>{{ . }}</changefreq>{{ end }}{{ if ge .Sitemap.Priority 0.0 }}
+    <priority>{{ .Sitemap.Priority }}</priority>{{ end }}
+  </url>
+  {{ end }}
+</urlset>
+{{% /highlight %}}
+
+*Important: Hugo will automatically add the following header line to this file
+on render...please don't include this in the template as it's not valid HTML.*
+
+    <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
--- a/docs/content/overview/source-directory.md
+++ b/docs/content/overview/source-directory.md
@@ -11,7 +11,7 @@
 
 Hugo takes a single directory and uses it as the input for creating a complete website.
 
-Hugo has a very small amount of configuration, while remaining highly customizable. 
+Hugo has a very small amount of configuration, while remaining highly customizable.
 It accomplishes by assuming that you will only provide templates with the intent of
 using them.
 
@@ -48,7 +48,8 @@
     |   |   ├── vimeo.html
     |   |   └── youtube.html
     |   ├── index.html
-    |   └── rss.xml
+    |   ├── rss.xml
+    |   └── sitemap.xml
     └── static
 
 This directory structure tells us a lot about this site:
--- /dev/null
+++ b/examples/blog/layouts/sitemap.xml
@@ -1,0 +1,10 @@
+<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
+  {{ range .Data.Pages }}
+  <url>
+    <loc>{{ .Permalink }}</loc>
+    <lastmod>{{ safeHtml ( .Date.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ with .Sitemap.ChangeFreq }}
+    <changefreq>{{ . }}</changefreq>{{ end }}{{ if ge .Sitemap.Priority 0.0 }}
+    <priority>{{ .Sitemap.Priority }}</priority>{{ end }}
+  </url>
+  {{ end }}
+</urlset>