Add Sitemap documentation content
authorVincent Batoufflet <vincent@batoufflet.info>
Wed, 7 May 2014 06:58:25 +0000 (08:58 +0200)
committerspf13 <steve.francia@gmail.com>
Sat, 10 May 2014 03:11:48 +0000 (23:11 -0400)
docs/content/layout/sitemap.md [new file with mode: 0644]
docs/content/overview/source-directory.md
examples/blog/layouts/sitemap.xml [new file with mode: 0644]

diff --git a/docs/content/layout/sitemap.md b/docs/content/layout/sitemap.md
new file mode 100644 (file)
index 0000000..b2cf151
--- /dev/null
@@ -0,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" ?>
index 28e4dee57cdc0bd2389e29ae730af0e9141d2ba5..54fb8272c3d4682a83c44371a2a25e2f62889c4c 100644 (file)
@@ -11,7 +11,7 @@ menu:
 
 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 @@ An example directory may look like:
     |   |   ├── vimeo.html
     |   |   └── youtube.html
     |   ├── index.html
-    |   └── rss.xml
+    |   ├── rss.xml
+    |   └── sitemap.xml
     └── static
 
 This directory structure tells us a lot about this site:
diff --git a/examples/blog/layouts/sitemap.xml b/examples/blog/layouts/sitemap.xml
new file mode 100644 (file)
index 0000000..2cc7608
--- /dev/null
@@ -0,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>