diff --git a/docs/changelog.rst b/docs/changelog.rst
index f9c315ac..51f1a0ff 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 34bd78a0..e6d4d324 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 da770775..3ff83b6b 100644
--- a/pelican/settings.py
+++ b/pelican/settings.py
@@ -35,6 +35,7 @@ _DEFAULT_CONFIG = {'PATH': os.curdir,
'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 e105cfe7..251b3aab 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 26895a93..06b3e6e6 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 bc951630..fb425644 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 0a3d5ea7..39d55c6b 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 7ab2f05d..e7e59440 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 ccbe7084..8b83c8a6 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 9b930634..cdcbb04f 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 8b28c767..f815a45b 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 c785e7df..1922f57a 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 7ec4aae2..cdf2a437 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 1d0b68b6..fc108e93 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 8a0ade2f..3b971617 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 31f83113..657ea233 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 aafe76bd..761ae0ff 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 fedb4125..20995de3 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 b2f0254f..6f1f71ee 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 3149f59f..ce9ffd2c 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 b91a081c..67c206af 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 991f9045..e779e0da 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 793cf737..6d4138f2 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 5ca0c5de..dd44e38a 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 e830de6b..0812ed7c 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 a95e5041..83ace5e3 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 5ab924de..4694dadf 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 e09e7051..5d4358cb 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 f8d13dd5..7a4971a7 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 37b9d5a2..bb297236 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 90586fe2..3499ac40 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 aaece637..18105799 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 ebad4b48..84b5946f 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 81536509..ac5c3e20 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 677c000e..34899e3b 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 9b08f340..cf241fdf 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 dba92905..312a2bed 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 865ad010..0419984c 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 25015ab9..011d1ef4 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 8f9fdefb..68ec424c 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 29d99bed..39377513 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 ab39c20f..1f851030 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 b9cb6de3..edaaf543 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 eb50cac5..c70b3d87 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 432a1cdf..377baac1 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 df3c094d..a008617e 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 85dc6a24..c0d352f6 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 25ed3361..53e4d1f6 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 31df8b21..4932fd1d 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 10debbcd..1184c381 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 bd51d7a5..0fd32bcd 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 84142880..353553bb 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 5fcbe122..c827c380 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 29492171..07baf855 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 b3fbefb7..56077a89 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 2bd3dea6..2cd1d2e5 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 dbd7c48a..8ec3a2b0 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 4094477f..98e10102 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 7c12ea5a..4a77477d 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 93d8282d..b0e0b51c 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 dd60851e..861077f6 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 59b591cc..528df431 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 565d5aa3..058f2f2b 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 be5c1f1a..8ed9c54c 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 6b11cb09..42a2cec1 100644
--- a/pelican/themes/notmyidea/templates/base.html
+++ b/pelican/themes/notmyidea/templates/base.html
@@ -31,14 +31,16 @@
{% for title, link in MENUITEMS %}
{{ title }}
{% endfor %}
- {% if DISPLAY_PAGES_ON_MENU %}
+ {% if DISPLAY_PAGES_ON_MENU -%}
{% for page in PAGES %}
{{ page.title }}
{% endfor %}
{% endif %}
+ {% if DISPLAY_CATEGORIES_ON_MENU -%}
{% for cat, null in categories %}
{{ cat }}
{% endfor %}
+ {% endif %}
{% block content %}
diff --git a/pelican/themes/simple/templates/base.html b/pelican/themes/simple/templates/base.html
index 212aef5e..7973d774 100644
--- a/pelican/themes/simple/templates/base.html
+++ b/pelican/themes/simple/templates/base.html
@@ -44,9 +44,11 @@
{{ p.title }}
{% endfor %}
{% else %}
- {% for cat, null in categories %}
- {{ cat }}
- {% endfor %}
+ {% if DISPLAY_CATEGORIES_ON_MENU %}
+ {% for cat, null in categories %}
+ {{ cat }}
+ {% endfor %}
+ {% endif %}
{% endif %}
{% block content %}