# Collate Content *Author: Edward J. Stronge <ejstronge@gmail.com>* Makes categories of content available to the template as lists through a `collations` attribute. I primarily developed this to make it easier to work with `Page` objects that contain category metadata. ## Installation If you downloaded this module as part of the pelican-plugins repository, add it to your Pelican configuration as follows: PLUGIN_PATH = '/path/to/pelican-plugins' PLUGINS = ['pelican_collate_content', ] Otherwise, you can import it into Python as a normal module if you place this repository in your `$PYTHONPATH`. ## Usage To display all content in the category `Software Development`, you could use the following block in a template. In the template, the category will appear in lowercase with internal whitespace and '-' characters converted to underscores: ```html <h1>Development blog</h1> <ul> {% for a in collations.software_development_articles %} <li>a.date - a.title</li> {% endfor %} </ul> <h1> Open source projects </h1> I'm an active contributor to the following projects: <ul> {% for p in software_development_pages %} <li> p.title - p.summary</li> {% endfor %} </ul> ``` ### Articles or pages with multiple categories Multiple categories are supported out-of-the box. Categories may not contain commas but otherwise work with no problem. ## Settings To limit which categories and subcategories are collated, set the `CATEGORIES_TO_COLLATE` option in your Pelican configuration file. If this option is present and is a list, only categories present in `CATEGORIES_TO_COLLATE` will be collated: CATEGORIES_TO_COLLATE = ['category-of-interest', 'another-cool-category']