typogrify & webassets are optional packages for usage but should be included for testing by developers and CI
dev_requirements also had packages that setup.py covers already. Added comments for redundancy
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
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.
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.
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.