diff --git a/docs/changelog.rst b/docs/changelog.rst
index f9c315acd..51f1a0ff7 100644
--- a/docs/changelog.rst
+++ b/docs/changelog.rst
@@ -7,6 +7,8 @@ Release history
* Support for Python 3!
* Ensure exceptions are raised if they take place during processing
with autoreload enabled with debug enabled.
+* Provide ability to show or hide categories from menu using
+ ``DISPLAY_CATEGORIES_ON_MENU`` option.
3.1 (2012-12-04)
================
diff --git a/docs/settings.rst b/docs/settings.rst
index 34bd78a0a..e6d4d3246 100644
--- a/docs/settings.rst
+++ b/docs/settings.rst
@@ -42,6 +42,9 @@ Setting name (default value) What doe
`DISPLAY_PAGES_ON_MENU` (``True``) Whether to display pages on the menu of the
template. Templates may or may not honor this
setting.
+`DISPLAY_CATEGORIES_ON_MENU` (``True``) Whether to display categories on the menu of the
+ template. Templates may or not honor this
+ setting.
`DEFAULT_DATE` (``None``) The default date you want to use.
If ``fs``, Pelican will use the file system
timestamp information (mtime) if it can't get
diff --git a/pelican/settings.py b/pelican/settings.py
index da770775e..3ff83b6be 100644
--- a/pelican/settings.py
+++ b/pelican/settings.py
@@ -35,6 +35,7 @@
'SITEURL': '',
'SITENAME': 'A Pelican Blog',
'DISPLAY_PAGES_ON_MENU': True,
+ 'DISPLAY_CATEGORIES_ON_MENU': True,
'PDF_GENERATOR': False,
'OUTPUT_SOURCES': False,
'OUTPUT_SOURCES_EXTENSION': '.text',
diff --git a/pelican/tests/output/basic/a-markdown-powered-article.html b/pelican/tests/output/basic/a-markdown-powered-article.html
index e105cfe77..251b3aab8 100644
--- a/pelican/tests/output/basic/a-markdown-powered-article.html
+++ b/pelican/tests/output/basic/a-markdown-powered-article.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/basic/archives.html b/pelican/tests/output/basic/archives.html
index 26895a930..06b3e6e65 100644
--- a/pelican/tests/output/basic/archives.html
+++ b/pelican/tests/output/basic/archives.html
@@ -22,13 +22,13 @@
Archives for A Pelican Blog
diff --git a/pelican/tests/output/basic/article-1.html b/pelican/tests/output/basic/article-1.html
index bc951630a..fb4256449 100644
--- a/pelican/tests/output/basic/article-1.html
+++ b/pelican/tests/output/basic/article-1.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/basic/article-2.html b/pelican/tests/output/basic/article-2.html
index 0a3d5ea79..39d55c6bd 100644
--- a/pelican/tests/output/basic/article-2.html
+++ b/pelican/tests/output/basic/article-2.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/basic/article-3.html b/pelican/tests/output/basic/article-3.html
index 7ab2f05d1..e7e594406 100644
--- a/pelican/tests/output/basic/article-3.html
+++ b/pelican/tests/output/basic/article-3.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/basic/author/alexis-metaireau.html b/pelican/tests/output/basic/author/alexis-metaireau.html
index ccbe7084a..8b83c8a69 100644
--- a/pelican/tests/output/basic/author/alexis-metaireau.html
+++ b/pelican/tests/output/basic/author/alexis-metaireau.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/basic/categories.html b/pelican/tests/output/basic/categories.html
index 9b9306347..cdcbb04f8 100644
--- a/pelican/tests/output/basic/categories.html
+++ b/pelican/tests/output/basic/categories.html
@@ -22,13 +22,13 @@
- bar
diff --git a/pelican/tests/output/basic/category/bar.html b/pelican/tests/output/basic/category/bar.html
index 8b28c767d..f815a45b2 100644
--- a/pelican/tests/output/basic/category/bar.html
+++ b/pelican/tests/output/basic/category/bar.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/basic/category/cat1.html b/pelican/tests/output/basic/category/cat1.html
index c785e7dfa..1922f57a7 100644
--- a/pelican/tests/output/basic/category/cat1.html
+++ b/pelican/tests/output/basic/category/cat1.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/basic/category/misc.html b/pelican/tests/output/basic/category/misc.html
index 7ec4aae2b..cdf2a4375 100644
--- a/pelican/tests/output/basic/category/misc.html
+++ b/pelican/tests/output/basic/category/misc.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/basic/category/yeah.html b/pelican/tests/output/basic/category/yeah.html
index 1d0b68b61..fc108e938 100644
--- a/pelican/tests/output/basic/category/yeah.html
+++ b/pelican/tests/output/basic/category/yeah.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/basic/filename_metadata-example.html b/pelican/tests/output/basic/filename_metadata-example.html
index 8a0ade2f9..3b9716171 100644
--- a/pelican/tests/output/basic/filename_metadata-example.html
+++ b/pelican/tests/output/basic/filename_metadata-example.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/basic/index.html b/pelican/tests/output/basic/index.html
index 31f831138..657ea2331 100644
--- a/pelican/tests/output/basic/index.html
+++ b/pelican/tests/output/basic/index.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/basic/oh-yeah.html b/pelican/tests/output/basic/oh-yeah.html
index aafe76bd5..761ae0fff 100644
--- a/pelican/tests/output/basic/oh-yeah.html
+++ b/pelican/tests/output/basic/oh-yeah.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/basic/override/index.html b/pelican/tests/output/basic/override/index.html
index fedb41256..20995de3d 100644
--- a/pelican/tests/output/basic/override/index.html
+++ b/pelican/tests/output/basic/override/index.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/basic/pages/this-is-a-test-hidden-page.html b/pelican/tests/output/basic/pages/this-is-a-test-hidden-page.html
index b2f0254f5..6f1f71ee8 100644
--- a/pelican/tests/output/basic/pages/this-is-a-test-hidden-page.html
+++ b/pelican/tests/output/basic/pages/this-is-a-test-hidden-page.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/basic/pages/this-is-a-test-page.html b/pelican/tests/output/basic/pages/this-is-a-test-page.html
index 3149f59f9..ce9ffd2cc 100644
--- a/pelican/tests/output/basic/pages/this-is-a-test-page.html
+++ b/pelican/tests/output/basic/pages/this-is-a-test-page.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/basic/second-article-fr.html b/pelican/tests/output/basic/second-article-fr.html
index b91a081c8..67c206af6 100644
--- a/pelican/tests/output/basic/second-article-fr.html
+++ b/pelican/tests/output/basic/second-article-fr.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/basic/second-article.html b/pelican/tests/output/basic/second-article.html
index 991f9045e..e779e0da2 100644
--- a/pelican/tests/output/basic/second-article.html
+++ b/pelican/tests/output/basic/second-article.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/basic/tag/bar.html b/pelican/tests/output/basic/tag/bar.html
index 793cf737d..6d4138f2d 100644
--- a/pelican/tests/output/basic/tag/bar.html
+++ b/pelican/tests/output/basic/tag/bar.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/basic/tag/baz.html b/pelican/tests/output/basic/tag/baz.html
index 5ca0c5de8..dd44e38af 100644
--- a/pelican/tests/output/basic/tag/baz.html
+++ b/pelican/tests/output/basic/tag/baz.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/basic/tag/foo.html b/pelican/tests/output/basic/tag/foo.html
index e830de6bf..0812ed7c8 100644
--- a/pelican/tests/output/basic/tag/foo.html
+++ b/pelican/tests/output/basic/tag/foo.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/basic/tag/foobar.html b/pelican/tests/output/basic/tag/foobar.html
index a95e5041f..83ace5e30 100644
--- a/pelican/tests/output/basic/tag/foobar.html
+++ b/pelican/tests/output/basic/tag/foobar.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/basic/tag/oh.html b/pelican/tests/output/basic/tag/oh.html
index 5ab924dec..4694dadff 100644
--- a/pelican/tests/output/basic/tag/oh.html
+++ b/pelican/tests/output/basic/tag/oh.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/basic/tag/yeah.html b/pelican/tests/output/basic/tag/yeah.html
index e09e70518..5d4358cb3 100644
--- a/pelican/tests/output/basic/tag/yeah.html
+++ b/pelican/tests/output/basic/tag/yeah.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/basic/this-is-a-super-article.html b/pelican/tests/output/basic/this-is-a-super-article.html
index f8d13dd5e..7a4971a7e 100644
--- a/pelican/tests/output/basic/this-is-a-super-article.html
+++ b/pelican/tests/output/basic/this-is-a-super-article.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/basic/unbelievable.html b/pelican/tests/output/basic/unbelievable.html
index 37b9d5a20..bb2972365 100644
--- a/pelican/tests/output/basic/unbelievable.html
+++ b/pelican/tests/output/basic/unbelievable.html
@@ -22,13 +22,13 @@
diff --git a/pelican/tests/output/custom/a-markdown-powered-article.html b/pelican/tests/output/custom/a-markdown-powered-article.html
index 90586fe2b..3499ac404 100644
--- a/pelican/tests/output/custom/a-markdown-powered-article.html
+++ b/pelican/tests/output/custom/a-markdown-powered-article.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/archives.html b/pelican/tests/output/custom/archives.html
index aaece637e..181057994 100644
--- a/pelican/tests/output/custom/archives.html
+++ b/pelican/tests/output/custom/archives.html
@@ -26,13 +26,13 @@
Archives for Alexis' log
diff --git a/pelican/tests/output/custom/article-1.html b/pelican/tests/output/custom/article-1.html
index ebad4b48c..84b5946f8 100644
--- a/pelican/tests/output/custom/article-1.html
+++ b/pelican/tests/output/custom/article-1.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/article-2.html b/pelican/tests/output/custom/article-2.html
index 81536509b..ac5c3e20a 100644
--- a/pelican/tests/output/custom/article-2.html
+++ b/pelican/tests/output/custom/article-2.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/article-3.html b/pelican/tests/output/custom/article-3.html
index 677c000e3..34899e3b5 100644
--- a/pelican/tests/output/custom/article-3.html
+++ b/pelican/tests/output/custom/article-3.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/author/alexis-metaireau.html b/pelican/tests/output/custom/author/alexis-metaireau.html
index 9b08f3404..cf241fdf6 100644
--- a/pelican/tests/output/custom/author/alexis-metaireau.html
+++ b/pelican/tests/output/custom/author/alexis-metaireau.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/author/alexis-metaireau2.html b/pelican/tests/output/custom/author/alexis-metaireau2.html
index dba929051..312a2bed5 100644
--- a/pelican/tests/output/custom/author/alexis-metaireau2.html
+++ b/pelican/tests/output/custom/author/alexis-metaireau2.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/author/alexis-metaireau3.html b/pelican/tests/output/custom/author/alexis-metaireau3.html
index 865ad010e..0419984c7 100644
--- a/pelican/tests/output/custom/author/alexis-metaireau3.html
+++ b/pelican/tests/output/custom/author/alexis-metaireau3.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/categories.html b/pelican/tests/output/custom/categories.html
index 25015ab98..011d1ef44 100644
--- a/pelican/tests/output/custom/categories.html
+++ b/pelican/tests/output/custom/categories.html
@@ -26,13 +26,13 @@
- yeah
diff --git a/pelican/tests/output/custom/category/bar.html b/pelican/tests/output/custom/category/bar.html
index 8f9fdefb9..68ec424cf 100644
--- a/pelican/tests/output/custom/category/bar.html
+++ b/pelican/tests/output/custom/category/bar.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/category/cat1.html b/pelican/tests/output/custom/category/cat1.html
index 29d99bed3..393775133 100644
--- a/pelican/tests/output/custom/category/cat1.html
+++ b/pelican/tests/output/custom/category/cat1.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/category/misc.html b/pelican/tests/output/custom/category/misc.html
index ab39c20f3..1f851030a 100644
--- a/pelican/tests/output/custom/category/misc.html
+++ b/pelican/tests/output/custom/category/misc.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/category/yeah.html b/pelican/tests/output/custom/category/yeah.html
index b9cb6de38..edaaf5432 100644
--- a/pelican/tests/output/custom/category/yeah.html
+++ b/pelican/tests/output/custom/category/yeah.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/drafts/a-draft-article.html b/pelican/tests/output/custom/drafts/a-draft-article.html
index eb50cac59..c70b3d879 100644
--- a/pelican/tests/output/custom/drafts/a-draft-article.html
+++ b/pelican/tests/output/custom/drafts/a-draft-article.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/filename_metadata-example.html b/pelican/tests/output/custom/filename_metadata-example.html
index 432a1cdf9..377baac17 100644
--- a/pelican/tests/output/custom/filename_metadata-example.html
+++ b/pelican/tests/output/custom/filename_metadata-example.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/index.html b/pelican/tests/output/custom/index.html
index df3c094d7..a008617e7 100644
--- a/pelican/tests/output/custom/index.html
+++ b/pelican/tests/output/custom/index.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/index2.html b/pelican/tests/output/custom/index2.html
index 85dc6a240..c0d352f6a 100644
--- a/pelican/tests/output/custom/index2.html
+++ b/pelican/tests/output/custom/index2.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/index3.html b/pelican/tests/output/custom/index3.html
index 25ed33614..53e4d1f6e 100644
--- a/pelican/tests/output/custom/index3.html
+++ b/pelican/tests/output/custom/index3.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/jinja2_template.html b/pelican/tests/output/custom/jinja2_template.html
index 31df8b21c..4932fd1d8 100644
--- a/pelican/tests/output/custom/jinja2_template.html
+++ b/pelican/tests/output/custom/jinja2_template.html
@@ -26,13 +26,13 @@
Some text
diff --git a/pelican/tests/output/custom/oh-yeah-fr.html b/pelican/tests/output/custom/oh-yeah-fr.html
index 10debbcde..1184c381e 100644
--- a/pelican/tests/output/custom/oh-yeah-fr.html
+++ b/pelican/tests/output/custom/oh-yeah-fr.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/oh-yeah.html b/pelican/tests/output/custom/oh-yeah.html
index bd51d7a5c..0fd32bcde 100644
--- a/pelican/tests/output/custom/oh-yeah.html
+++ b/pelican/tests/output/custom/oh-yeah.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/override/index.html b/pelican/tests/output/custom/override/index.html
index 841428803..353553bb8 100644
--- a/pelican/tests/output/custom/override/index.html
+++ b/pelican/tests/output/custom/override/index.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/pages/this-is-a-test-hidden-page.html b/pelican/tests/output/custom/pages/this-is-a-test-hidden-page.html
index 5fcbe1226..c827c3802 100644
--- a/pelican/tests/output/custom/pages/this-is-a-test-hidden-page.html
+++ b/pelican/tests/output/custom/pages/this-is-a-test-hidden-page.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/pages/this-is-a-test-page.html b/pelican/tests/output/custom/pages/this-is-a-test-page.html
index 294921716..07baf8556 100644
--- a/pelican/tests/output/custom/pages/this-is-a-test-page.html
+++ b/pelican/tests/output/custom/pages/this-is-a-test-page.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/second-article-fr.html b/pelican/tests/output/custom/second-article-fr.html
index b3fbefb7e..56077a89a 100644
--- a/pelican/tests/output/custom/second-article-fr.html
+++ b/pelican/tests/output/custom/second-article-fr.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/second-article.html b/pelican/tests/output/custom/second-article.html
index 2bd3dea69..2cd1d2e59 100644
--- a/pelican/tests/output/custom/second-article.html
+++ b/pelican/tests/output/custom/second-article.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/tag/bar.html b/pelican/tests/output/custom/tag/bar.html
index dbd7c48a8..8ec3a2b0d 100644
--- a/pelican/tests/output/custom/tag/bar.html
+++ b/pelican/tests/output/custom/tag/bar.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/tag/baz.html b/pelican/tests/output/custom/tag/baz.html
index 4094477f4..98e101025 100644
--- a/pelican/tests/output/custom/tag/baz.html
+++ b/pelican/tests/output/custom/tag/baz.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/tag/foo.html b/pelican/tests/output/custom/tag/foo.html
index 7c12ea5ad..4a77477db 100644
--- a/pelican/tests/output/custom/tag/foo.html
+++ b/pelican/tests/output/custom/tag/foo.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/tag/foobar.html b/pelican/tests/output/custom/tag/foobar.html
index 93d8282d1..b0e0b51cf 100644
--- a/pelican/tests/output/custom/tag/foobar.html
+++ b/pelican/tests/output/custom/tag/foobar.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/tag/oh.html b/pelican/tests/output/custom/tag/oh.html
index dd60851ec..861077f60 100644
--- a/pelican/tests/output/custom/tag/oh.html
+++ b/pelican/tests/output/custom/tag/oh.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/tag/yeah.html b/pelican/tests/output/custom/tag/yeah.html
index 59b591cc0..528df431c 100644
--- a/pelican/tests/output/custom/tag/yeah.html
+++ b/pelican/tests/output/custom/tag/yeah.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/this-is-a-super-article.html b/pelican/tests/output/custom/this-is-a-super-article.html
index 565d5aa3a..058f2f2bb 100644
--- a/pelican/tests/output/custom/this-is-a-super-article.html
+++ b/pelican/tests/output/custom/this-is-a-super-article.html
@@ -26,13 +26,13 @@
diff --git a/pelican/tests/output/custom/unbelievable.html b/pelican/tests/output/custom/unbelievable.html
index be5c1f1a2..8ed9c54c1 100644
--- a/pelican/tests/output/custom/unbelievable.html
+++ b/pelican/tests/output/custom/unbelievable.html
@@ -26,13 +26,13 @@
diff --git a/pelican/themes/notmyidea/templates/base.html b/pelican/themes/notmyidea/templates/base.html
index 6b11cb096..42a2cec17 100644
--- a/pelican/themes/notmyidea/templates/base.html
+++ b/pelican/themes/notmyidea/templates/base.html
@@ -31,14 +31,16 @@