This is a combination of 13 commits:
1. New signal for registering custom generators
2. New plugin: pelican.plugins.sitemap
3. pelican.plugins.sitemap: more settings
4. pelican.plugins.sitemap: translations are indexed
5. pelican.plugins.sitemap: added documentation
6. pelican.plugins.sitemap: added XML DTD & W3C dates
7. pelican.plugins.sitemap: removed a <changefreq> bug
8. the `get_generators` can now return a tuple
9. pelican.plugins.sitemap: cleaned the code
10. pelican.plugin.sitemap: settings changes
11. sitemap plugin: improved configuration & documentation
12. sitemap plugin: :set spell
13. sitemap plugin: removed useless whitespaces
wrote unit tests and documentation, improved regular expression.
The HtmlReader is enabled by default now and parses metadata in html
files of the form:
<!-- key:value -->
This caused the defaults to be overwritten and edge case bugs with tests.
The test for empty setting needed to be updated to reflect that the method
for setting up the local settings sets extra settings.
Previously, webassets' ASSET_URL always was absolute.
This patch allows a relative ASSET_URL, depending on Pelican's
RELATIVE_URLS setting.
Hint for templates:
-------------------
Current version of webassets seem to remove any relative
paths at the beginning of the URL. So, if RELATIVE_URLS
is on, ASSET_URL will start with 'theme/', regardless if we
set assets_url here to './theme/' or to 'theme/'.
XXX However, this breaks the ASSET_URL if user navigates to
a sub-URL, e.g. if he clicks on a category. To workaround this
issue, I use
<link rel="stylesheet" href="{{ SITEURL }}/{{ ASSET_URL }}">
instead of
<link rel="stylesheet" href="{{ ASSET_URL }}">
Maybe this hint is worth to be included in the documentation.
I have it also written as comments in the source.
Three changes:
1. Fix inconsistent "pwd" behavior by using make's $(CURDIR) builtin.
2. Change bash shebang to the more-portable form.
3. Tell users when Pelican and SimpleHTTPServer have been backgrounded.
Used assertItemsEqual in article generation to create more precise tests than with an elif chain
Separated out categories out into their own named test for clarity
Closes#405
Used an exception so show error state.
Used a bool flag to make sure the error is only shown once PER error.
Updated tests to check for the correct Exception raised
Argument index is included in .format() method format string in order to be friendly with various Python versions and consistent with the rest of the code.