Oleh Prypin
d5bb15fa10
Properly support config_file_path being None
...
* Prevent error when the config file is a stream, to support `-` as the config.
* Fix type annotations and edge cases when `config_file_path` is None
* Properly prevent users setting `config_file_path` in mkdocs.yml - this was not intended.
2023-06-18 17:55:41 +02:00
Oleh Prypin
285461a3e7
Merge pull request #3249 from mkdocs/userc
...
Deprecate Theme-related fields that were accidentally available
2023-06-18 17:53:01 +02:00
Oleh Prypin
afb66c1bea
Add mkdocs build --no-strict that overrides strict: true ( #3254 )
2023-06-12 13:45:11 +02:00
Oleh Prypin
b6ff158d9a
Don't abort mkdocs serve for build errors during rebuilds ( #3255 )
2023-06-12 12:02:18 +02:00
Oleh Prypin
82aa8637b9
Merge pull request #3224 from mkdocs/ignore
...
New `exclude_docs` config: gitignore-like patterns of files to exclude
2023-06-11 20:40:05 +02:00
Oleh Prypin
ff68d77617
Deprecate Theme._vars but add custom_dir and other attributes
2023-06-09 21:46:21 +02:00
Oleh Prypin
96920d347f
Deprecate user_configs
2023-06-09 21:46:20 +02:00
Oleh Prypin
9d56fa21d9
Merge remote-tracking branch 'origin/master' into ignore
2023-06-09 20:18:54 +02:00
Oleh Prypin
f2d14c52a7
Merge pull request #3205 from mkdocs/getdeps
...
New `get-deps` command: infer PyPI dependencies from mkdocs.yml
2023-06-09 20:05:07 +02:00
Oleh Prypin
4f98a94f14
Fix typo in extra_javascript doc
2023-06-08 10:33:48 +02:00
Timothée Mazzucotelli
fdd30c0c34
Add DictOfItems type for configuration options ( #3242 )
2023-06-07 01:22:59 +02:00
Timothée Mazzucotelli
18c01d2e74
Add plugin logger utility ( #3245 )
2023-06-07 01:22:00 +02:00
Oleh Prypin
619f7cf898
Add tests for get_deps command + bugfix for namespacing
2023-06-07 01:06:59 +02:00
Oleh Prypin
5de1273259
Avoid effects of YAML tags in get_deps
2023-06-07 01:06:24 +02:00
Oleh Prypin
e175070243
Let plugins declare their own optional dependencies
...
This is inferred from particular config keys
The current known plugin in need of this is mkdocstrings (handlers)
2023-06-07 01:06:21 +02:00
Timothée Mazzucotelli
45c8b9669b
Add note about formatting code ( #3244 )
2023-06-07 00:43:45 +02:00
Oleh Prypin
3363c615de
Update docs - "best-of-mkdocs" became "catalog"
2023-06-07 00:39:01 +02:00
Oleh Prypin
395daa05fb
Merge remote-tracking branch 'origin/master' into getdeps
2023-06-04 23:24:58 +02:00
Timothée Mazzucotelli
73c640f73e
Hide instance-attribute labels in docs ( #3238 )
2023-06-04 18:43:18 +02:00
Oleh Prypin
32d8c3a986
Expand config.extra_javascript to support type, async, defer
...
The top-level template object `extra_javascript` gets soft-deprecated because it still reports only a list of plain strings.
Themes need to take action and pick up the new config keys from `config.extra_javascript` instead.
2023-06-04 00:37:41 +02:00
Oleh Prypin
cc63a4bedf
Include *.mjs files into javascript_files()
2023-06-04 00:37:41 +02:00
Oleh Prypin
0f793b9984
Make TemplateContext typed, move utils.filters to utils.templates
2023-06-04 00:37:41 +02:00
Oleh Prypin
73e503990e
Make it possible to create a subclass of SubConfig[T]
...
`SubConfig[SomeType]()` is now the preferred way to express `SubConfig(SomeType)`
but more importantly, it is now possible to subclass `SubConfig[SomeType]` for post-processing of the value.
2023-06-04 00:37:41 +02:00
Oleh Prypin
8315da2248
More concise error message in SubConfig
2023-06-04 00:37:41 +02:00
Oleh Prypin
1db8e884fa
Strip trailing _ from config members, to bypass Python reserved words
...
Example of adding an `async` boolean option that can be read through `config['async']` or `config.async_`:
class ExampleConfig(Config):
async_ = Type(bool, default=False)
2023-06-04 00:37:41 +02:00
Oleh Prypin
fce89f71a9
Fix propagating warnings from sub-items of ListOfItems
2023-06-04 00:37:41 +02:00
Oleh Prypin
c4db02b586
Stop using defer for most scripts, move them to the end of body
2023-06-04 00:37:35 +02:00
Oleh Prypin
e254d4b1bc
Consistently use tojson for pasting strings to JavaScript
2023-06-03 21:12:11 +02:00
Oleh Prypin
b4c02e53ac
Update highlight.js to version 11.8.0
2023-06-03 15:52:22 +02:00
Oleh Prypin
41c6ee2de7
Enforce that imports are under if TYPE_CHECKING if possible ( #3236 )
2023-06-03 15:51:18 +02:00
Oleh Prypin
1363c7c390
Upgrade PyPy in CI
2023-06-03 15:36:39 +02:00
Oleh Prypin
d4d483c779
Print the local URL of pages that are "built only for the preview"
...
And refactor `LiveReloadServer` to not start listening in the constructor
2023-06-03 15:07:35 +02:00
Oleh Prypin
5af8bd3053
Infer titles of pages based on full Markdown parsing ( #3191 )
...
Properly parse Markdown and report the first H1 tag rather than naively looking for `# Stuff` at the start of the doc.
This satisfies feature requests such as supporting setext-style headers and fixes attr-list suffixes that failed to be ignored.
Co-authored-by: Hendrik Polczynski <hendrikpolczyn@gmail.com >
Co-authored-by: Darrick Herwehe <darrick@exitcodeone.com >
2023-05-29 21:59:31 +02:00
Oleh Prypin
89f15d9c69
Add tests for the build process - files, exclusions, plugins
2023-05-29 11:11:54 +02:00
Oleh Prypin
a3f0d4be50
Move logging DuplicateFilter to utils, enable it only in __main__
2023-05-29 01:04:29 +02:00
Oleh Prypin
9fdcb435d6
Refactor plugin tests
2023-05-29 01:04:29 +02:00
Oleh Prypin
930ae26a55
New flag mkdocs serve --clean - simulate a pure mkdocs build and then serve
...
Also rename `--dirtyreload` flag to `--dirty` (keep the old name working)
2023-05-29 01:04:29 +02:00
Oleh Prypin
f37ce51da1
Serve excluded files in mkdocs serve + new not_in_nav config
...
* Docs that match any of the `not_in_nav` patterns will not produce warnings about never being included into the nav.
* Files that are excluded by `exclude_docs` will now be preserved in the `Files` collection and will even be rendered but only in `mkdocs serve` mode - such files will have a `DRAFT` notice prepended to the content.
2023-05-29 01:04:29 +02:00
Oleh Prypin
67e0e4e052
New exclude_docs config: gitignore-like patterns of files to exclude
...
These files will not be picked up into the `Files` collection and as such, also the final built site.
Also adds the ability to *un*-ignore the files that MkDocs forcibly ignores.
2023-05-28 23:10:25 +02:00
Oleh Prypin
e08c1089d8
Revert "Cache the value of documentation_pages"
...
This reverts commit 4e0429e8f5 .
2023-05-28 23:08:28 +02:00
Oleh Prypin
8ecdfb2510
Clarify that Private config can be accessed, add a type to mdx_configs ( #3229 )
2023-05-26 18:54:32 +02:00
Oleh Prypin
562d5e14c1
Un-pin upper version of Python-Markdown ( #3222 )
...
Reverts commit dd7986ff7b
2023-05-18 18:44:44 +02:00
Oleh Prypin
62e312478e
Modernize type annotations using pyupgrade ( #3219 )
...
* https://peps.python.org/pep-0563/ - Postponed Evaluation of Annotations
* https://peps.python.org/pep-0585/ - Type Hinting Generics In Standard Collections
* https://peps.python.org/pep-0604/ - Allow writing union types as `X | Y`
2023-05-14 22:49:34 +02:00
Oleh Prypin
3eb834ebd1
Remove deprecated localization commands ( #3218 )
2023-05-14 22:40:51 +02:00
Oleh Prypin
566a5bdda8
Allow paths traversing above the root - in nav and extra_ ( #3010 )
...
+ Refactor and expand tests for normalize_url
2023-05-09 20:56:54 +02:00
Oleh Prypin
5c9e4dcfad
Merge pull request #3209 from mkdocs/desturi
...
Allow to set a different `dest_uri` when creating a `File`
2023-05-08 22:14:57 +02:00
Oleh Prypin
4e0429e8f5
Cache the value of documentation_pages
2023-05-07 17:29:03 +02:00
Oleh Prypin
d5af6426c5
Allow to set a different dest_uri when creating a File
2023-05-07 17:29:03 +02:00
Zac Knitter
2a232bf153
Update customizing-your-theme.md ( #3215 )
...
Fixed typo
2023-05-07 10:20:05 +02:00
Oleh Prypin
b776ad8820
Deprecate mkdocs.utils.warning_filter ( #3008 )
2023-05-04 21:59:58 +02:00