Oleh Prypin
ec7eee6ce3
Release 1.4.2 ( #3032 )
1.4.2
2022-11-01 19:23:29 +01:00
Oleh Prypin
c99ec45a32
Support multiple instances of the same plugin ( #3027 )
...
Depending on what a plugin does, say if it "adds a thing" into the site, it can be reasonable to allow it to be specified multiple times in the `plugins:` list, so it can "add multiple things". Previously such a use case was completely not predicted in MkDocs, so it silently passes but is bugged - the plugin runs twice but with only one of the configs both times.
So, this commit addresses that by registering a plugin `- foo:` as `'foo'`, and then if another plugin `- foo:` appears, it gets registered as `'foo #2 '` (the name affects primarily just how it's referred to in warnings and errors).
By default, a warning will appear from MkDocs anyway, unless the plugin adds a class variable `supports_multiple_instances = True`.
2022-11-01 18:53:43 +01:00
Oleh Prypin
452c39eae2
Chore dependency upgrade
2022-10-29 22:44:38 +02:00
pcgaustad
f190c35a99
Translate mkdocs theme to Norwegian (nb and nn) ( #3024 )
2022-10-29 14:55:02 +02:00
Oleh Prypin
c576f07d30
Declare support for Python 3.11 ( #3020 )
2022-10-29 14:48:00 +02:00
Oleh Prypin
32359f3e93
Relative links end with slash even for homepage links ( #3022 )
...
Fixes #3015
2022-10-29 14:41:50 +02:00
Oleh Prypin
1fa2af7926
Expand type checking coverage ( #3019 )
2022-10-25 21:59:30 +02:00
Oleh Prypin
d76cae9059
Merge pull request #3016 from mkdocs/optw
...
Update warnings of config options
2022-10-23 17:57:29 +02:00
Oleh Prypin
9d73c2a824
Reduce redundancy in config errors/warnings
2022-10-21 22:29:42 +02:00
Oleh Prypin
427d553c2b
Let plugins put strings into warnings
...
even though they should be 2-tuples.
Fixes #3014
2022-10-21 22:27:22 +02:00
Oleh Prypin
0584e51e7d
Chore dependency upgrade
2022-10-16 16:27:32 +02:00
Oleh Prypin
faba3f046e
Add missed entry in release notes
2022-10-15 21:29:03 +02:00
Oleh Prypin
aa9eabea1a
Release 1.4.1 ( #3004 )
1.4.1
2022-10-15 21:13:41 +02:00
Blueswen
79fa445717
URL-encode paths when serving a redirect ( #3001 )
...
Co-authored-by: Oleh Prypin <oleh@pryp.in >
2022-10-14 00:48:47 +02:00
Oleh Prypin
64c42a6943
Fix tests for previous commit
2022-10-14 00:45:17 +02:00
Oleh Prypin
6b7d0a55e0
Prevent a confusing stack trace when theme config fails validation
...
Caused by previous commit.
When, for example, the chosen theme is not installed, a stack trace would be shown instead of a proper error. Because then somehow the theme config remains a dict but validation moves on anyway.
2022-10-14 00:23:55 +02:00
Oleh Prypin
6fca6b59a2
Support theme-namespaced plugin loading ( #2998 )
...
This is mainly aimed at 'material' theme which also ships plugins with it. It will be able to ship plugins under the name e.g. 'material/search' and that will ensure the following effects:
* If the current theme is 'material', the plugin 'material/search' will always be preferred over 'search'.
* If the current theme *isn't* 'material', the only way to use this plugin is by specifying `plugins: [material/search]`.
One can also specify `plugins: ['/search']` instead of `plugins: ['search']` to definitely avoid the theme-namespaced plugin.
Previously:
* #2591
@squidfunk
2022-10-12 03:54:40 +02:00
Oleh Prypin
568e63ec3f
Merge pull request #2997 from mkdocs/plugconf
...
Refactor plugin-related config options and error reporting
2022-10-11 21:51:50 -04:00
Oleh Prypin
aaf819f183
Better guard an edge case in plugin config
2022-10-08 15:07:34 +02:00
Oleh Prypin
b964e05372
Refactor load_plugin usage
2022-10-08 14:56:20 +02:00
Oleh Prypin
9ada9bf969
Also tighten warnings of plugin configs
2022-10-08 14:56:20 +02:00
Oleh Prypin
6b4d20e1eb
Refactor plugin_cache usage to avoid nested exception
2022-10-08 14:49:04 +02:00
Oleh Prypin
ca8a3c8d67
Tighten warnings and type annotations in config_options
2022-10-08 14:49:04 +02:00
Oleh Prypin
76709ab540
Expand plugin testing
2022-10-08 14:49:04 +02:00
Oleh Prypin
7a72282f8a
Refactor Theme config option to use mainly run_validation
2022-10-08 14:48:46 +02:00
Oleh Prypin
b2083d07f5
Add CLI reference page, auto-generated from Click ( #2996 )
2022-10-08 11:17:05 +02:00
Oleh Prypin
aa10190a55
Migrate from Tox to Hatch as test runner ( #2991 )
2022-10-07 23:18:05 +02:00
Oleh Prypin
65c24c21f0
Integrate Babel build steps as a Hatch hook ( #2992 )
2022-10-07 18:07:35 +02:00
Oleh Prypin
30cdac47a9
Switch to pyproject.toml and Hatch build ( #2988 )
2022-10-07 00:42:48 +02:00
Oleh Prypin
12ee265cc1
Remove pybabel setuptools integration ( #2990 )
2022-10-03 19:30:02 +02:00
Oleh Prypin
f2c648b35f
Fix tests that wrote something into the source directory
2022-10-03 01:22:25 +02:00
Oleh Prypin
418d23a4da
Actually depend on 'colorama' on Windows ( #2987 )
...
This was missed in #2606
2022-10-02 20:14:06 +02:00
Oleh Prypin
1a43c4a111
Remove unused FontAwesome.otf
2022-10-02 15:03:12 +02:00
Oleh Prypin
4dd64a6950
Mention event priority values also in release notes
2022-09-27 20:00:35 +02:00
Oleh Prypin
927ee2684b
Release 1.4.0 ( #2986 )
1.4.0
2022-09-27 19:26:54 +02:00
Oleh Prypin
5cce5012b4
Merge pull request #2962 from mkdocs/meta
...
Rework ConfigOption schemas as class-based
2022-09-26 14:25:18 +02:00
Oleh Prypin
5015fa72af
Add examples of class-based schema with ListOfItems
2022-09-26 11:35:24 +02:00
Oleh Prypin
cc627f7ba3
Prevent wrapping into Optional when the option has a default
2022-09-26 11:35:24 +02:00
Oleh Prypin
aeffe61499
Change config_options.URL's default from '' to None
2022-09-26 11:35:24 +02:00
Oleh Prypin
51569476c0
Add a test for subclassing a config schema
2022-09-25 20:03:54 +02:00
Oleh Prypin
ff8552a57a
Add tests for new class-based configs
...
The old-style tests are intentionally kept at config_options_legacy_tests.py
2022-09-25 20:03:54 +02:00
Oleh Prypin
6d8c4d1c7f
Preserve a copy of config_options_tests before reworking it
2022-09-25 20:03:20 +02:00
Oleh Prypin
452f56c61f
Move config_options_tests.py before reworking it
2022-09-25 20:02:57 +02:00
Oleh Prypin
cf9d23757e
Change ListOfItems' "default default" from [] to None
2022-09-25 19:19:10 +02:00
Oleh Prypin
4470c75ee9
Support passing Config subclasses to SubConfig
...
They are validated by default
2022-09-25 19:19:09 +02:00
Oleh Prypin
ac0efce437
Add Optional config but make fields in class-based config required
2022-09-25 19:19:09 +02:00
Oleh Prypin
a4c1bb14dc
Add documentation for type-checked configs
2022-09-25 19:19:09 +02:00
Oleh Prypin
e160c47962
Eliminate the need to write config_class = FooConfig
...
when subclassing BasePlugin[FooConfig]
2022-09-25 19:19:09 +02:00
Oleh Prypin
1ab0a9f84b
Use attribute-based access from MkDocsConfig
2022-09-25 19:19:09 +02:00
Oleh Prypin
46afe3ffef
Annotate the type MkDocsConfig
2022-09-25 19:19:09 +02:00