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
Oleh Prypin
eb3264c634
Add type annotations to ConfigOptions, enabling actual type safety
2022-09-25 19:19:09 +02:00
Oleh Prypin
73e8fef506
Rework ConfigOption schemas as class-based
...
This is NOT a breaking change, the old style keeps working.
Now developers can make a subclass of Config, declare the schema of the config as fields of the class, and instances of this class will hold the processed config.
This better represents the relationship between what a config definition and a config instance is, now you think of configs definitions as classes and parsed configs as instances.
We also can write these fields as descriptors and enable safe attribute-based access. Static analysis will be able to see when a missing fields is accessed. And in followup changes I plan to add type annotations which will make even type checking fully sound.
2022-09-25 19:19:07 +02:00
Oleh Prypin
4a56b4a72b
Merge pull request #2983 from mkdocs/meta1
...
Refactor in preparation for ConfigOption schemas rework
2022-09-25 19:16:36 +02:00
Oleh Prypin
9c48c3317f
Revert dropping support for backslashes in media URIs ( #2984 )
...
Only show a warning for now.
2022-09-25 14:53:40 +02:00
Oleh Prypin
2263c50e80
Soft-deprecate ConfigItems instead of expanding it
...
This undoes the addition of the `validate` parameter from ee844242d1 .
It is OK to do because this was not released yet.
2022-09-24 22:37:29 +02:00
Oleh Prypin
dba48e1564
Refactor config_option_tests to be more consistent
2022-09-24 22:37:25 +02:00
Oleh Prypin
f1da904a7f
Refactor: use config_options module through a short alias 'c'
2022-09-22 23:23:23 +02:00
Oleh Prypin
dce025e544
Remove duplicated style due to a merge mistake
2022-09-19 22:46:24 +02:00
Oleh Prypin
bc5ca89b16
Merge pull request #2982 from mkdocs/styl2
...
Docs: update Markdown style
2022-09-19 22:25:39 +02:00
Oleh Prypin
81d6ebf59d
Replace instances of ```no-highlight
2022-09-19 22:22:33 +02:00
Oleh Prypin
6123328cbe
Enforce fenced codeblocks in our docs
2022-09-19 22:22:33 +02:00
Oleh Prypin
8dfef829b8
Enable <details> admonitions and nested codeblocks
2022-09-19 22:22:12 +02:00