This is to avoid subtle behaviour that contributed to root cause of
https://github.com/pelican-plugins/sitemap/issues/36
Specifically: if installing Pelican into a local virtualenv with the pdm or uv
default name ".venv", then subdirectories of .venv will contain all of the test
.rst and .md files.
If you then run Pelican in that same root directory using the default PATH
value (".") then it will add those content files to the site.
Having a feed with hundreds of articles, making a very large file, is
rarely expected.
Set a high fallback value of 100 so it does not change for small sites.
Still allow to have infinite feed by setting FEED_MAX_ITEM = None
Get rid of the coerce_overrides() function.
Add the ParseOverrides argparse.Action to parse overrides.
Treat all extra settings values strictly as json values.
Test overrides.
Edit docs and cli help.
Add a --setting-overrides KEY=VAL command line option to override
default settings or those defined in settings files. This adds
flexibility in running Pelican and helps reduce sprawl of settings
files. Cast int and str setting overrides to their respective types.
Support other setting types by treating them as JSON. Fall back to JSON
when an override typecast errors. This should make it possible to set
int values to None, resp. to JSON 'none'
* Creates pelican.plugins
* Moves plugin related code under pelican.plugins
* pelican.plugins.signals is now the location for signals, pelican.signals is kept
for backwards compatibility
* pelican.plugins._utils contains necessary bits for plugin discovery and loading.
Logic from Pelican class is moved here. Pelican class now just asks for plugins
and registers them
* Contains tests for old and new plugin loading
This commit removes Six as a dependency for Pelican, replacing the
relevant aliases with the proper Python 3 imports. It also removes
references to Python 2 logic that did not require Six.
3a0add4b6e caused existing configs to fall
back to defaults. But since we know exactly how to fix the user config
so that the behavior doesn't change, we should do so, while still
warning that use of %s is deprecated.
Also fixes a bug where we tried to look for %s in None.