Javascript has been updated to Bootstrap version 5.3.2 and CSS has been
updated to the the Bootswatch Cerulean theme version 5.3.2. Adding support
for a dark mode to the mkdocs theme is now possible.
All local colors (in base.css, extra.css, etc.) are now defined using
Bootstrap variables so that any future color modes (such as dark mode)
will be consistent.
Admonition styles have also been fully fleshed out with all colors being
Bootstrap colors (via variables) rather than our own custom colors.
Note that while Bootstrap version 5 dropped a dependency on jQuery, the
mkdocs theme is still making use of jQuery at this time. However, future
changes could remove the need for this dependency.
Co-authored-by: Oleh Prypin <oleh@pryp.in>
This partly reverts changes in commit e755aaed7e as some of that functionality will be deprecated.
Several more edge cases are taken into account now.
Co-authored-by: Waylan Limberg <waylan.limberg@icloud.com>
If a pull request has applicable Ruff fixes or needs re-formatting with Black/isort, these will be automatically pushed to the pull request via https://pre-commit.ci/lite.html
Versions of these formatter tools are already pinned since commit c9cf11b941, so unexpected unrelated changes from just updating these tools will not happen.
Note that the actual pre-commit tool is not used, and there are no plans for that.
The "get-deps" command will still be provided inside MkDocs like before (and is not deprecated at all) but is now implemented in a separate repository and can be used directly from there as well.
This separation of code was done because obtaining just the "get-deps" part with very few dependencies can be useful: one can run it in a main environment but then install actual MkDocs with dependencies in a virtual environment.
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.
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.
The user story is that the following command should let you "just build" any MkDocs site:
pip install $(mkdocs get-deps) && mkdocs build
This cross-references 2 files:
* mkdocs.yml - `theme`, `plugins`, `markdown_extensions`
* projects.yaml - a registry of all popular MkDocs-related projects and which entry points they provide - downloaded on the fly
-and prints the names of Python packages from PyPI that need to be installed to build the current MkDocs project