mkdocs 1.5.2__tar.gz → 1.6.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mkdocs-1.5.2 → mkdocs-1.6.0}/PKG-INFO +11 -13
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/__init__.py +1 -1
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/__main__.py +21 -16
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/commands/build.py +23 -32
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/commands/gh_deploy.py +1 -1
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/commands/serve.py +12 -19
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/config/base.py +8 -12
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/config/config_options.py +59 -44
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/config/defaults.py +41 -11
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/__init__.py +7 -6
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/lunr-language/lunr.ar.js +1 -1
- mkdocs-1.6.0/mkdocs/contrib/search/lunr-language/lunr.hi.js +123 -0
- mkdocs-1.6.0/mkdocs/contrib/search/lunr-language/lunr.hy.js +98 -0
- mkdocs-1.6.0/mkdocs/contrib/search/lunr-language/lunr.kn.js +110 -0
- mkdocs-1.6.0/mkdocs/contrib/search/lunr-language/lunr.ko.js +114 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/lunr-language/lunr.ro.js +3 -3
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/lunr-language/lunr.ru.js +3 -3
- mkdocs-1.6.0/mkdocs/contrib/search/lunr-language/lunr.sa.js +110 -0
- mkdocs-1.6.0/mkdocs/contrib/search/lunr-language/lunr.ta.js +123 -0
- mkdocs-1.6.0/mkdocs/contrib/search/lunr-language/lunr.te.js +122 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/lunr-language/lunr.th.js +19 -17
- mkdocs-1.6.0/mkdocs/contrib/search/lunr-language/lunr.zh.js +145 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/search_index.py +5 -11
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/exceptions.py +17 -9
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/livereload/__init__.py +66 -46
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/localization.py +11 -7
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/plugins.py +119 -58
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/structure/files.py +297 -76
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/structure/nav.py +29 -8
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/structure/pages.py +179 -68
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/structure/toc.py +4 -14
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/base.py +1 -1
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/build_tests.py +121 -48
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/cli_tests.py +16 -6
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/config/base_tests.py +7 -17
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/config/config_options_legacy_tests.py +23 -25
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/config/config_options_tests.py +110 -55
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/config/config_tests.py +7 -1
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/gh_deploy_tests.py +36 -41
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration.py +3 -3
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/livereload_tests.py +3 -23
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/localization_tests.py +1 -1
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/plugin_tests.py +33 -11
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/search_tests.py +2 -4
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/structure/file_tests.py +262 -263
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/structure/nav_tests.py +98 -3
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/structure/page_tests.py +201 -68
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/theme_tests.py +5 -2
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/utils/utils_tests.py +83 -78
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/theme.py +30 -18
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/base.html +55 -18
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/css/base.css +89 -48
- mkdocs-1.6.0/mkdocs/themes/mkdocs/css/bootstrap.min.css +12 -0
- mkdocs-1.6.0/mkdocs/themes/mkdocs/css/bootstrap.min.css.map +1 -0
- mkdocs-1.6.0/mkdocs/themes/mkdocs/css/brands.min.css +6 -0
- mkdocs-1.6.0/mkdocs/themes/mkdocs/css/fontawesome.min.css +9 -0
- mkdocs-1.6.0/mkdocs/themes/mkdocs/css/solid.min.css +6 -0
- mkdocs-1.6.0/mkdocs/themes/mkdocs/css/v4-font-face.min.css +6 -0
- mkdocs-1.6.0/mkdocs/themes/mkdocs/js/base.js +278 -0
- mkdocs-1.6.0/mkdocs/themes/mkdocs/js/bootstrap.bundle.min.js +7 -0
- mkdocs-1.6.0/mkdocs/themes/mkdocs/js/bootstrap.bundle.min.js.map +1 -0
- mkdocs-1.6.0/mkdocs/themes/mkdocs/js/darkmode.js +65 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/keyboard-modal.html +1 -1
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/de/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/de/LC_MESSAGES/messages.po +9 -9
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/es/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/es/LC_MESSAGES/messages.po +9 -9
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/fa/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/fa/LC_MESSAGES/messages.po +9 -9
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/fr/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/fr/LC_MESSAGES/messages.po +9 -9
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/id/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/id/LC_MESSAGES/messages.po +12 -11
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/it/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/it/LC_MESSAGES/messages.po +9 -9
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/ja/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/ja/LC_MESSAGES/messages.po +9 -9
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/nb/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/nb/LC_MESSAGES/messages.po +9 -9
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/nn/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/nn/LC_MESSAGES/messages.po +9 -9
- mkdocs-1.6.0/mkdocs/themes/mkdocs/locales/pl/LC_MESSAGES/messages.mo +0 -0
- mkdocs-1.6.0/mkdocs/themes/mkdocs/locales/pl/LC_MESSAGES/messages.po +104 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/pt_BR/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/pt_BR/LC_MESSAGES/messages.po +9 -9
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/ru/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/ru/LC_MESSAGES/messages.po +12 -10
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/tr/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/tr/LC_MESSAGES/messages.po +13 -10
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/uk/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/uk/LC_MESSAGES/messages.po +10 -9
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/zh_CN/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/locales/zh_CN/LC_MESSAGES/messages.po +10 -10
- mkdocs-1.6.0/mkdocs/themes/mkdocs/locales/zh_TW/LC_MESSAGES/messages.mo +0 -0
- mkdocs-1.6.0/mkdocs/themes/mkdocs/locales/zh_TW/LC_MESSAGES/messages.po +101 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/messages.pot +16 -15
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/mkdocs_theme.yml +3 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/nav-sub.html +1 -1
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/search-modal.html +1 -1
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/toc.html +4 -4
- mkdocs-1.6.0/mkdocs/themes/mkdocs/webfonts/fa-brands-400.ttf +0 -0
- mkdocs-1.6.0/mkdocs/themes/mkdocs/webfonts/fa-brands-400.woff2 +0 -0
- mkdocs-1.6.0/mkdocs/themes/mkdocs/webfonts/fa-regular-400.ttf +0 -0
- mkdocs-1.6.0/mkdocs/themes/mkdocs/webfonts/fa-regular-400.woff2 +0 -0
- mkdocs-1.6.0/mkdocs/themes/mkdocs/webfonts/fa-solid-900.ttf +0 -0
- mkdocs-1.6.0/mkdocs/themes/mkdocs/webfonts/fa-solid-900.woff2 +0 -0
- mkdocs-1.6.0/mkdocs/themes/mkdocs/webfonts/fa-v4compatibility.ttf +0 -0
- mkdocs-1.6.0/mkdocs/themes/mkdocs/webfonts/fa-v4compatibility.woff2 +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/base.html +8 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/breadcrumbs.html +4 -4
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/css/theme_extra.css +8 -2
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/footer.html +1 -1
- mkdocs-1.6.0/mkdocs/themes/readthedocs/js/theme.js +2 -0
- mkdocs-1.6.0/mkdocs/themes/readthedocs/locales/de/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/locales/de/LC_MESSAGES/messages.po +11 -8
- mkdocs-1.6.0/mkdocs/themes/readthedocs/locales/es/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/locales/es/LC_MESSAGES/messages.po +12 -9
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/locales/fa/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/locales/fa/LC_MESSAGES/messages.po +11 -8
- mkdocs-1.6.0/mkdocs/themes/readthedocs/locales/fr/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/locales/fr/LC_MESSAGES/messages.po +11 -8
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/locales/id/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/locales/id/LC_MESSAGES/messages.po +11 -7
- mkdocs-1.6.0/mkdocs/themes/readthedocs/locales/it/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/locales/it/LC_MESSAGES/messages.po +11 -8
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/locales/ja/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/locales/ja/LC_MESSAGES/messages.po +11 -8
- mkdocs-1.6.0/mkdocs/themes/readthedocs/locales/pl/LC_MESSAGES/messages.mo +0 -0
- mkdocs-1.6.0/mkdocs/themes/readthedocs/locales/pl/LC_MESSAGES/messages.po +114 -0
- mkdocs-1.6.0/mkdocs/themes/readthedocs/locales/pt_BR/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/locales/pt_BR/LC_MESSAGES/messages.po +12 -9
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/locales/ru/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/locales/ru/LC_MESSAGES/messages.po +11 -7
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/locales/tr/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/locales/tr/LC_MESSAGES/messages.po +15 -10
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/locales/uk/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/locales/uk/LC_MESSAGES/messages.po +12 -8
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/locales/zh_CN/LC_MESSAGES/messages.mo +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/locales/zh_CN/LC_MESSAGES/messages.po +13 -12
- mkdocs-1.6.0/mkdocs/themes/readthedocs/locales/zh_TW/LC_MESSAGES/messages.mo +0 -0
- mkdocs-1.6.0/mkdocs/themes/readthedocs/locales/zh_TW/LC_MESSAGES/messages.po +111 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/messages.pot +16 -11
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/nav.html +6 -6
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/versions.html +4 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/utils/__init__.py +19 -69
- mkdocs-1.6.0/mkdocs/utils/cache.py +36 -0
- mkdocs-1.6.0/mkdocs/utils/filters.py +1 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/utils/meta.py +2 -4
- mkdocs-1.6.0/mkdocs/utils/rendering.py +104 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/utils/templates.py +1 -7
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/utils/yaml.py +11 -7
- {mkdocs-1.5.2 → mkdocs-1.6.0}/pyproject.toml +59 -37
- mkdocs-1.5.2/mkdocs/commands/get_deps.py +0 -178
- mkdocs-1.5.2/mkdocs/tests/get_deps_tests.py +0 -172
- mkdocs-1.5.2/mkdocs/themes/mkdocs/css/bootstrap.min.css +0 -12
- mkdocs-1.5.2/mkdocs/themes/mkdocs/css/font-awesome.min.css +0 -4
- mkdocs-1.5.2/mkdocs/themes/mkdocs/js/base.js +0 -283
- mkdocs-1.5.2/mkdocs/themes/mkdocs/js/bootstrap.min.js +0 -7
- mkdocs-1.5.2/mkdocs/themes/readthedocs/css/fonts/fontawesome-webfont.eot +0 -0
- mkdocs-1.5.2/mkdocs/themes/readthedocs/css/fonts/fontawesome-webfont.svg +0 -2671
- mkdocs-1.5.2/mkdocs/themes/readthedocs/css/fonts/fontawesome-webfont.ttf +0 -0
- mkdocs-1.5.2/mkdocs/themes/readthedocs/css/fonts/fontawesome-webfont.woff +0 -0
- mkdocs-1.5.2/mkdocs/themes/readthedocs/css/fonts/fontawesome-webfont.woff2 +0 -0
- mkdocs-1.5.2/mkdocs/themes/readthedocs/js/jquery-3.6.0.min.js +0 -2
- mkdocs-1.5.2/mkdocs/themes/readthedocs/js/theme.js +0 -2
- mkdocs-1.5.2/mkdocs/themes/readthedocs/locales/de/LC_MESSAGES/messages.mo +0 -0
- mkdocs-1.5.2/mkdocs/themes/readthedocs/locales/es/LC_MESSAGES/messages.mo +0 -0
- mkdocs-1.5.2/mkdocs/themes/readthedocs/locales/fr/LC_MESSAGES/messages.mo +0 -0
- mkdocs-1.5.2/mkdocs/themes/readthedocs/locales/it/LC_MESSAGES/messages.mo +0 -0
- mkdocs-1.5.2/mkdocs/themes/readthedocs/locales/pt_BR/LC_MESSAGES/messages.mo +0 -0
- mkdocs-1.5.2/mkdocs/utils/cache.py +0 -64
- mkdocs-1.5.2/mkdocs/utils/filters.py +0 -1
- {mkdocs-1.5.2 → mkdocs-1.6.0}/.gitignore +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/LICENSE +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/README.md +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/hatch_build.py +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/commands/__init__.py +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/commands/new.py +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/config/__init__.py +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/__init__.py +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/lunr-language/lunr.da.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/lunr-language/lunr.de.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/lunr-language/lunr.du.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/lunr-language/lunr.es.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/lunr-language/lunr.fi.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/lunr-language/lunr.fr.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/lunr-language/lunr.hu.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/lunr-language/lunr.it.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/lunr-language/lunr.ja.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/lunr-language/lunr.jp.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/lunr-language/lunr.multi.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/lunr-language/lunr.nl.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/lunr-language/lunr.no.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/lunr-language/lunr.pt.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/lunr-language/lunr.stemmer.support.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/lunr-language/lunr.sv.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/lunr-language/lunr.tr.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/lunr-language/lunr.vi.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/lunr-language/tinyseg.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/prebuild-index.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/templates/search/lunr.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/templates/search/main.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/contrib/search/templates/search/worker.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/py.typed +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/structure/__init__.py +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/templates/sitemap.xml +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/__init__.py +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/config/__init__.py +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/complicated_config/documentation/custom.html +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/complicated_config/documentation/index.md +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/complicated_config/documentation/tweak.css +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/complicated_config/documentation/tweak.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/complicated_config/mkdocs.yml +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/complicated_config/theme_tweaks/404.html +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/minimal/docs/testing.md +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/minimal/mkdocs.yml +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/projects.yaml +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/subpages/docs/image.png +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/subpages/docs/index.md +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/subpages/docs/metadata.md +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/subpages/docs/non-index.md +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/subpages/docs/page-title.md +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/subpages/docs/pageTitle.md +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/subpages/docs/sub1/image.png +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/subpages/docs/sub1/index.md +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/subpages/docs/sub1/non-index.md +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/subpages/docs/sub1/sub1a/index.md +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/subpages/docs/sub1/sub1a/non-index.md +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/subpages/docs/sub2/index.md +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/subpages/docs/sub2/non-index.md +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/subpages/mkdocs.yml +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/unicode/docs/index.md +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/unicode/docs//303/234bersicht.md" +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/unicode/docs//342/231/252.md" +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/integration/unicode/mkdocs.yml +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/new_tests.py +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/structure/__init__.py +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/structure/toc_tests.py +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/utils/__init__.py +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/utils/babel_stub_tests.py +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/tests/utils/templates_tests.py +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/__init__.py +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/babel.cfg +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/404.html +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/__init__.py +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/content.html +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/img/favicon.ico +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/img/grid.png +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/mkdocs/main.html +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/404.html +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/__init__.py +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/css/fonts/Roboto-Slab-Bold.woff +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/css/fonts/Roboto-Slab-Regular.woff +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
- {mkdocs-1.5.2/mkdocs/themes/mkdocs → mkdocs-1.6.0/mkdocs/themes/readthedocs/css}/fonts/fontawesome-webfont.eot +0 -0
- {mkdocs-1.5.2/mkdocs/themes/mkdocs → mkdocs-1.6.0/mkdocs/themes/readthedocs/css}/fonts/fontawesome-webfont.svg +0 -0
- {mkdocs-1.5.2/mkdocs/themes/mkdocs → mkdocs-1.6.0/mkdocs/themes/readthedocs/css}/fonts/fontawesome-webfont.ttf +0 -0
- {mkdocs-1.5.2/mkdocs/themes/mkdocs → mkdocs-1.6.0/mkdocs/themes/readthedocs/css}/fonts/fontawesome-webfont.woff +0 -0
- {mkdocs-1.5.2/mkdocs/themes/mkdocs → mkdocs-1.6.0/mkdocs/themes/readthedocs/css}/fonts/fontawesome-webfont.woff2 +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/css/fonts/lato-bold-italic.woff +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/css/fonts/lato-bold-italic.woff2 +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/css/fonts/lato-bold.woff +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/css/fonts/lato-bold.woff2 +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/css/fonts/lato-normal-italic.woff +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/css/fonts/lato-normal-italic.woff2 +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/css/fonts/lato-normal.woff +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/css/fonts/lato-normal.woff2 +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/css/theme.css +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/img/favicon.ico +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/js/html5shiv.min.js +0 -0
- {mkdocs-1.5.2/mkdocs/themes/mkdocs → mkdocs-1.6.0/mkdocs/themes/readthedocs}/js/jquery-3.6.0.min.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/js/theme_extra.js +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/main.html +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/mkdocs_theme.yml +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/search.html +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/searchbox.html +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/themes/readthedocs/toc.html +0 -0
- {mkdocs-1.5.2 → mkdocs-1.6.0}/mkdocs/utils/babel_stub.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
2
|
Name: mkdocs
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.6.0
|
|
4
4
|
Summary: Project documentation with Markdown.
|
|
5
5
|
Project-URL: Documentation, https://www.mkdocs.org/
|
|
6
6
|
Project-URL: Source, https://github.com/mkdocs/mkdocs
|
|
@@ -18,49 +18,47 @@ Classifier: Operating System :: OS Independent
|
|
|
18
18
|
Classifier: Programming Language :: Python
|
|
19
19
|
Classifier: Programming Language :: Python :: 3
|
|
20
20
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
21
|
-
Classifier: Programming Language :: Python :: 3.7
|
|
22
21
|
Classifier: Programming Language :: Python :: 3.8
|
|
23
22
|
Classifier: Programming Language :: Python :: 3.9
|
|
24
23
|
Classifier: Programming Language :: Python :: 3.10
|
|
25
24
|
Classifier: Programming Language :: Python :: 3.11
|
|
25
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
26
26
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
27
27
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
28
28
|
Classifier: Topic :: Documentation
|
|
29
29
|
Classifier: Topic :: Text Processing
|
|
30
|
-
Requires-Python: >=3.
|
|
30
|
+
Requires-Python: >=3.8
|
|
31
31
|
Requires-Dist: click>=7.0
|
|
32
32
|
Requires-Dist: colorama>=0.4; platform_system == 'Windows'
|
|
33
33
|
Requires-Dist: ghp-import>=1.0
|
|
34
|
-
Requires-Dist: importlib-metadata>=4.
|
|
34
|
+
Requires-Dist: importlib-metadata>=4.4; python_version < '3.10'
|
|
35
35
|
Requires-Dist: jinja2>=2.11.1
|
|
36
|
-
Requires-Dist: markdown>=3.
|
|
36
|
+
Requires-Dist: markdown>=3.3.6
|
|
37
37
|
Requires-Dist: markupsafe>=2.0.1
|
|
38
38
|
Requires-Dist: mergedeep>=1.3.4
|
|
39
|
+
Requires-Dist: mkdocs-get-deps>=0.2.0
|
|
39
40
|
Requires-Dist: packaging>=20.5
|
|
40
41
|
Requires-Dist: pathspec>=0.11.1
|
|
41
|
-
Requires-Dist: platformdirs>=2.2.0
|
|
42
42
|
Requires-Dist: pyyaml-env-tag>=0.1
|
|
43
43
|
Requires-Dist: pyyaml>=5.1
|
|
44
|
-
Requires-Dist: typing-extensions>=3.10; python_version < '3.8'
|
|
45
44
|
Requires-Dist: watchdog>=2.0
|
|
46
45
|
Provides-Extra: i18n
|
|
47
46
|
Requires-Dist: babel>=2.9.0; extra == 'i18n'
|
|
48
47
|
Provides-Extra: min-versions
|
|
49
48
|
Requires-Dist: babel==2.9.0; extra == 'min-versions'
|
|
50
49
|
Requires-Dist: click==7.0; extra == 'min-versions'
|
|
51
|
-
Requires-Dist: colorama==0.4; platform_system == 'Windows' and extra == 'min-versions'
|
|
50
|
+
Requires-Dist: colorama==0.4; (platform_system == 'Windows') and extra == 'min-versions'
|
|
52
51
|
Requires-Dist: ghp-import==1.0; extra == 'min-versions'
|
|
53
|
-
Requires-Dist: importlib-metadata==4.
|
|
52
|
+
Requires-Dist: importlib-metadata==4.4; (python_version < '3.10') and extra == 'min-versions'
|
|
54
53
|
Requires-Dist: jinja2==2.11.1; extra == 'min-versions'
|
|
55
|
-
Requires-Dist: markdown==3.
|
|
54
|
+
Requires-Dist: markdown==3.3.6; extra == 'min-versions'
|
|
56
55
|
Requires-Dist: markupsafe==2.0.1; extra == 'min-versions'
|
|
57
56
|
Requires-Dist: mergedeep==1.3.4; extra == 'min-versions'
|
|
57
|
+
Requires-Dist: mkdocs-get-deps==0.2.0; extra == 'min-versions'
|
|
58
58
|
Requires-Dist: packaging==20.5; extra == 'min-versions'
|
|
59
59
|
Requires-Dist: pathspec==0.11.1; extra == 'min-versions'
|
|
60
|
-
Requires-Dist: platformdirs==2.2.0; extra == 'min-versions'
|
|
61
60
|
Requires-Dist: pyyaml-env-tag==0.1; extra == 'min-versions'
|
|
62
61
|
Requires-Dist: pyyaml==5.1; extra == 'min-versions'
|
|
63
|
-
Requires-Dist: typing-extensions==3.10; python_version < '3.8' and extra == 'min-versions'
|
|
64
62
|
Requires-Dist: watchdog==2.0; extra == 'min-versions'
|
|
65
63
|
Description-Content-Type: text/markdown
|
|
66
64
|
|
|
@@ -89,13 +89,11 @@ class State:
|
|
|
89
89
|
|
|
90
90
|
def __init__(self, log_name='mkdocs', level=logging.INFO):
|
|
91
91
|
self.logger = logging.getLogger(log_name)
|
|
92
|
-
|
|
93
|
-
self.logger.setLevel(1)
|
|
92
|
+
self.logger.setLevel(level)
|
|
94
93
|
self.logger.propagate = False
|
|
95
94
|
|
|
96
95
|
self.stream = logging.StreamHandler()
|
|
97
96
|
self.stream.setFormatter(ColorFormatter())
|
|
98
|
-
self.stream.setLevel(level)
|
|
99
97
|
self.stream.name = 'MkDocsStreamHandler'
|
|
100
98
|
self.logger.addHandler(self.stream)
|
|
101
99
|
|
|
@@ -110,6 +108,7 @@ config_help = (
|
|
|
110
108
|
"Provide a specific MkDocs config. This can be a file name, or '-' to read from stdin."
|
|
111
109
|
)
|
|
112
110
|
dev_addr_help = "IP address and port to serve documentation locally (default: localhost:8000)"
|
|
111
|
+
serve_open_help = "Open the website in a Web browser after the initial build finishes."
|
|
113
112
|
strict_help = "Enable strict mode. This will cause MkDocs to abort the build on any warnings."
|
|
114
113
|
theme_help = "The theme to use when building your documentation."
|
|
115
114
|
theme_choices = sorted(utils.get_theme_names())
|
|
@@ -161,7 +160,7 @@ def verbose_option(f):
|
|
|
161
160
|
def callback(ctx, param, value):
|
|
162
161
|
state = ctx.ensure_object(State)
|
|
163
162
|
if value:
|
|
164
|
-
state.
|
|
163
|
+
state.logger.setLevel(logging.DEBUG)
|
|
165
164
|
|
|
166
165
|
return click.option(
|
|
167
166
|
'-v',
|
|
@@ -177,7 +176,7 @@ def quiet_option(f):
|
|
|
177
176
|
def callback(ctx, param, value):
|
|
178
177
|
state = ctx.ensure_object(State)
|
|
179
178
|
if value:
|
|
180
|
-
state.
|
|
179
|
+
state.logger.setLevel(logging.ERROR)
|
|
181
180
|
|
|
182
181
|
return click.option(
|
|
183
182
|
'-q',
|
|
@@ -244,13 +243,12 @@ PKG_DIR = os.path.dirname(os.path.abspath(__file__))
|
|
|
244
243
|
@common_options
|
|
245
244
|
@color_option
|
|
246
245
|
def cli():
|
|
247
|
-
"""
|
|
248
|
-
MkDocs - Project documentation with Markdown.
|
|
249
|
-
"""
|
|
246
|
+
"""MkDocs - Project documentation with Markdown."""
|
|
250
247
|
|
|
251
248
|
|
|
252
249
|
@cli.command(name="serve")
|
|
253
250
|
@click.option('-a', '--dev-addr', help=dev_addr_help, metavar='<IP:PORT>')
|
|
251
|
+
@click.option('-o', '--open', 'open_in_browser', help=serve_open_help, is_flag=True)
|
|
254
252
|
@click.option('--no-livereload', 'livereload', flag_value=False, help=no_reload_help)
|
|
255
253
|
@click.option('--livereload', 'livereload', flag_value=True, default=True, hidden=True)
|
|
256
254
|
@click.option('--dirtyreload', 'build_type', flag_value='dirty', hidden=True)
|
|
@@ -263,7 +261,7 @@ def cli():
|
|
|
263
261
|
@common_config_options
|
|
264
262
|
@common_options
|
|
265
263
|
def serve_command(**kwargs):
|
|
266
|
-
"""Run the builtin development server"""
|
|
264
|
+
"""Run the builtin development server."""
|
|
267
265
|
from mkdocs.commands import serve
|
|
268
266
|
|
|
269
267
|
_enable_warnings()
|
|
@@ -276,7 +274,7 @@ def serve_command(**kwargs):
|
|
|
276
274
|
@click.option('-d', '--site-dir', type=click.Path(), help=site_dir_help)
|
|
277
275
|
@common_options
|
|
278
276
|
def build_command(clean, **kwargs):
|
|
279
|
-
"""Build the MkDocs documentation"""
|
|
277
|
+
"""Build the MkDocs documentation."""
|
|
280
278
|
from mkdocs.commands import build
|
|
281
279
|
|
|
282
280
|
_enable_warnings()
|
|
@@ -303,7 +301,7 @@ def build_command(clean, **kwargs):
|
|
|
303
301
|
def gh_deploy_command(
|
|
304
302
|
clean, message, remote_branch, remote_name, force, no_history, ignore_version, shell, **kwargs
|
|
305
303
|
):
|
|
306
|
-
"""Deploy your documentation to GitHub Pages"""
|
|
304
|
+
"""Deploy your documentation to GitHub Pages."""
|
|
307
305
|
from mkdocs.commands import build, gh_deploy
|
|
308
306
|
|
|
309
307
|
_enable_warnings()
|
|
@@ -329,19 +327,26 @@ def gh_deploy_command(
|
|
|
329
327
|
@click.option(
|
|
330
328
|
'-p',
|
|
331
329
|
'--projects-file',
|
|
332
|
-
default=
|
|
330
|
+
default=None,
|
|
333
331
|
help=projects_file_help,
|
|
334
332
|
show_default=True,
|
|
335
333
|
)
|
|
336
334
|
def get_deps_command(config_file, projects_file):
|
|
337
|
-
"""Show required PyPI packages inferred from plugins in mkdocs.yml"""
|
|
338
|
-
from
|
|
335
|
+
"""Show required PyPI packages inferred from plugins in mkdocs.yml."""
|
|
336
|
+
from mkdocs_get_deps import get_deps, get_projects_file
|
|
337
|
+
|
|
338
|
+
from mkdocs.config.base import _open_config_file
|
|
339
339
|
|
|
340
340
|
warning_counter = utils.CountHandler()
|
|
341
341
|
warning_counter.setLevel(logging.WARNING)
|
|
342
342
|
logging.getLogger('mkdocs').addHandler(warning_counter)
|
|
343
343
|
|
|
344
|
-
|
|
344
|
+
with get_projects_file(projects_file) as p:
|
|
345
|
+
with _open_config_file(config_file) as f:
|
|
346
|
+
deps = get_deps(config_file=f, projects_file=p)
|
|
347
|
+
|
|
348
|
+
for dep in deps:
|
|
349
|
+
print(dep) # noqa: T201
|
|
345
350
|
|
|
346
351
|
if warning_counter.get_counts():
|
|
347
352
|
sys.exit(1)
|
|
@@ -351,7 +356,7 @@ def get_deps_command(config_file, projects_file):
|
|
|
351
356
|
@click.argument("project_directory")
|
|
352
357
|
@common_options
|
|
353
358
|
def new_command(project_directory):
|
|
354
|
-
"""Create a new MkDocs project"""
|
|
359
|
+
"""Create a new MkDocs project."""
|
|
355
360
|
from mkdocs.commands import new
|
|
356
361
|
|
|
357
362
|
new.new(project_directory)
|
|
@@ -13,17 +13,15 @@ from jinja2.exceptions import TemplateNotFound
|
|
|
13
13
|
import mkdocs
|
|
14
14
|
from mkdocs import utils
|
|
15
15
|
from mkdocs.exceptions import Abort, BuildError
|
|
16
|
-
from mkdocs.structure.files import File, Files, InclusionLevel,
|
|
16
|
+
from mkdocs.structure.files import File, Files, InclusionLevel, get_files, set_exclusions
|
|
17
17
|
from mkdocs.structure.nav import Navigation, get_navigation
|
|
18
18
|
from mkdocs.structure.pages import Page
|
|
19
|
-
from mkdocs.utils import DuplicateFilter # noqa - legacy re-export
|
|
19
|
+
from mkdocs.utils import DuplicateFilter # noqa: F401 - legacy re-export
|
|
20
20
|
from mkdocs.utils import templates
|
|
21
21
|
|
|
22
22
|
if TYPE_CHECKING:
|
|
23
23
|
from mkdocs.config.defaults import MkDocsConfig
|
|
24
24
|
|
|
25
|
-
if TYPE_CHECKING:
|
|
26
|
-
from mkdocs.livereload import LiveReloadServer
|
|
27
25
|
|
|
28
26
|
log = logging.getLogger(__name__)
|
|
29
27
|
|
|
@@ -35,9 +33,7 @@ def get_context(
|
|
|
35
33
|
page: Page | None = None,
|
|
36
34
|
base_url: str = '',
|
|
37
35
|
) -> templates.TemplateContext:
|
|
38
|
-
"""
|
|
39
|
-
Return the template context for a given page or template.
|
|
40
|
-
"""
|
|
36
|
+
"""Return the template context for a given page or template."""
|
|
41
37
|
if page is not None:
|
|
42
38
|
base_url = utils.get_relative_url('.', page.url)
|
|
43
39
|
|
|
@@ -65,9 +61,7 @@ def get_context(
|
|
|
65
61
|
def _build_template(
|
|
66
62
|
name: str, template: jinja2.Template, files: Files, config: MkDocsConfig, nav: Navigation
|
|
67
63
|
) -> str:
|
|
68
|
-
"""
|
|
69
|
-
Return rendered output for given template as a string.
|
|
70
|
-
"""
|
|
64
|
+
"""Return rendered output for given template as a string."""
|
|
71
65
|
# Run `pre_template` plugin events.
|
|
72
66
|
template = config.plugins.on_pre_template(template, template_name=name, config=config)
|
|
73
67
|
|
|
@@ -98,7 +92,6 @@ def _build_theme_template(
|
|
|
98
92
|
template_name: str, env: jinja2.Environment, files: Files, config: MkDocsConfig, nav: Navigation
|
|
99
93
|
) -> None:
|
|
100
94
|
"""Build a template using the theme environment."""
|
|
101
|
-
|
|
102
95
|
log.debug(f"Building theme template: {template_name}")
|
|
103
96
|
|
|
104
97
|
try:
|
|
@@ -117,7 +110,9 @@ def _build_theme_template(
|
|
|
117
110
|
log.debug(f"Gzipping template: {template_name}")
|
|
118
111
|
gz_filename = f'{output_path}.gz'
|
|
119
112
|
with open(gz_filename, 'wb') as f:
|
|
120
|
-
timestamp = utils.get_build_timestamp(
|
|
113
|
+
timestamp = utils.get_build_timestamp(
|
|
114
|
+
pages=[f.page for f in files.documentation_pages() if f.page is not None]
|
|
115
|
+
)
|
|
121
116
|
with gzip.GzipFile(
|
|
122
117
|
fileobj=f, filename=gz_filename, mode='wb', mtime=timestamp
|
|
123
118
|
) as gz_buf:
|
|
@@ -128,7 +123,6 @@ def _build_theme_template(
|
|
|
128
123
|
|
|
129
124
|
def _build_extra_template(template_name: str, files: Files, config: MkDocsConfig, nav: Navigation):
|
|
130
125
|
"""Build user templates which are not part of the theme."""
|
|
131
|
-
|
|
132
126
|
log.debug(f"Building extra template: {template_name}")
|
|
133
127
|
|
|
134
128
|
file = files.get_file_from_path(template_name)
|
|
@@ -137,8 +131,7 @@ def _build_extra_template(template_name: str, files: Files, config: MkDocsConfig
|
|
|
137
131
|
return
|
|
138
132
|
|
|
139
133
|
try:
|
|
140
|
-
|
|
141
|
-
template = jinja2.Template(f.read())
|
|
134
|
+
template = jinja2.Template(file.content_string)
|
|
142
135
|
except Exception as e:
|
|
143
136
|
log.warning(f"Error reading template '{template_name}': {e}")
|
|
144
137
|
return
|
|
@@ -153,7 +146,6 @@ def _build_extra_template(template_name: str, files: Files, config: MkDocsConfig
|
|
|
153
146
|
|
|
154
147
|
def _populate_page(page: Page, config: MkDocsConfig, files: Files, dirty: bool = False) -> None:
|
|
155
148
|
"""Read page content from docs_dir and render Markdown."""
|
|
156
|
-
|
|
157
149
|
config._current_page = page
|
|
158
150
|
try:
|
|
159
151
|
# When --dirty is used, only read the page if the file has been modified since the
|
|
@@ -200,7 +192,6 @@ def _build_page(
|
|
|
200
192
|
excluded: bool = False,
|
|
201
193
|
) -> None:
|
|
202
194
|
"""Pass a Page to theme template and write output to site_dir."""
|
|
203
|
-
|
|
204
195
|
config._current_page = page
|
|
205
196
|
try:
|
|
206
197
|
# When --dirty is used, only build the page if the file has been modified since the
|
|
@@ -255,11 +246,8 @@ def _build_page(
|
|
|
255
246
|
config._current_page = None
|
|
256
247
|
|
|
257
248
|
|
|
258
|
-
def build(
|
|
259
|
-
config: MkDocsConfig, live_server: LiveReloadServer | None = None, dirty: bool = False
|
|
260
|
-
) -> None:
|
|
249
|
+
def build(config: MkDocsConfig, *, serve_url: str | None = None, dirty: bool = False) -> None:
|
|
261
250
|
"""Perform a full site build."""
|
|
262
|
-
|
|
263
251
|
logger = logging.getLogger('mkdocs')
|
|
264
252
|
|
|
265
253
|
# Add CountHandler for strict mode
|
|
@@ -268,7 +256,7 @@ def build(
|
|
|
268
256
|
if config.strict:
|
|
269
257
|
logging.getLogger('mkdocs').addHandler(warning_counter)
|
|
270
258
|
|
|
271
|
-
inclusion = InclusionLevel.
|
|
259
|
+
inclusion = InclusionLevel.is_in_serve if serve_url else InclusionLevel.is_included
|
|
272
260
|
|
|
273
261
|
try:
|
|
274
262
|
start = time.monotonic()
|
|
@@ -289,7 +277,7 @@ def build(
|
|
|
289
277
|
" links within your site. This option is designed for site development purposes only."
|
|
290
278
|
)
|
|
291
279
|
|
|
292
|
-
if not
|
|
280
|
+
if not serve_url: # pragma: no cover
|
|
293
281
|
log.info(f"Building documentation to directory: {config.site_dir}")
|
|
294
282
|
if dirty and site_directory_contains_stale_files(config.site_dir):
|
|
295
283
|
log.info("The directory contains stale files. Use --clean to remove them.")
|
|
@@ -303,7 +291,7 @@ def build(
|
|
|
303
291
|
# Run `files` plugin events.
|
|
304
292
|
files = config.plugins.on_files(files, config=config)
|
|
305
293
|
# If plugins have added files but haven't set their inclusion level, calculate it again.
|
|
306
|
-
|
|
294
|
+
set_exclusions(files, config)
|
|
307
295
|
|
|
308
296
|
nav = get_navigation(files, config)
|
|
309
297
|
|
|
@@ -314,16 +302,16 @@ def build(
|
|
|
314
302
|
excluded = []
|
|
315
303
|
for file in files.documentation_pages(inclusion=inclusion):
|
|
316
304
|
log.debug(f"Reading: {file.src_uri}")
|
|
317
|
-
if file.page is None and file.inclusion.
|
|
318
|
-
if
|
|
319
|
-
excluded.append(urljoin(
|
|
305
|
+
if file.page is None and file.inclusion.is_not_in_nav():
|
|
306
|
+
if serve_url and file.inclusion.is_excluded():
|
|
307
|
+
excluded.append(urljoin(serve_url, file.url))
|
|
320
308
|
Page(None, file, config)
|
|
321
309
|
assert file.page is not None
|
|
322
310
|
_populate_page(file.page, config, files, dirty)
|
|
323
311
|
if excluded:
|
|
324
312
|
log.info(
|
|
325
313
|
"The following pages are being built only for the preview "
|
|
326
|
-
"but will be excluded from `mkdocs build` per `
|
|
314
|
+
"but will be excluded from `mkdocs build` per `draft_docs` config:\n - "
|
|
327
315
|
+ "\n - ".join(excluded)
|
|
328
316
|
)
|
|
329
317
|
|
|
@@ -350,11 +338,15 @@ def build(
|
|
|
350
338
|
file.page, config, doc_files, nav, env, dirty, excluded=file.inclusion.is_excluded()
|
|
351
339
|
)
|
|
352
340
|
|
|
341
|
+
log_level = config.validation.links.anchors
|
|
342
|
+
for file in doc_files:
|
|
343
|
+
assert file.page is not None
|
|
344
|
+
file.page.validate_anchor_links(files=files, log_level=log_level)
|
|
345
|
+
|
|
353
346
|
# Run `post_build` plugin events.
|
|
354
347
|
config.plugins.on_post_build(config=config)
|
|
355
348
|
|
|
356
|
-
counts
|
|
357
|
-
if counts:
|
|
349
|
+
if counts := warning_counter.get_counts():
|
|
358
350
|
msg = ', '.join(f'{v} {k.lower()}s' for k, v in counts)
|
|
359
351
|
raise Abort(f'Aborted with {msg} in strict mode!')
|
|
360
352
|
|
|
@@ -374,5 +366,4 @@ def build(
|
|
|
374
366
|
|
|
375
367
|
def site_directory_contains_stale_files(site_directory: str) -> bool:
|
|
376
368
|
"""Check if the site directory contains stale files from a previous build."""
|
|
377
|
-
|
|
378
|
-
return True if os.path.exists(site_directory) and os.listdir(site_directory) else False
|
|
369
|
+
return bool(os.path.exists(site_directory) and os.listdir(site_directory))
|
|
@@ -7,12 +7,9 @@ from os.path import isdir, isfile, join
|
|
|
7
7
|
from typing import TYPE_CHECKING
|
|
8
8
|
from urllib.parse import urlsplit
|
|
9
9
|
|
|
10
|
-
import jinja2.exceptions
|
|
11
|
-
|
|
12
10
|
from mkdocs.commands.build import build
|
|
13
11
|
from mkdocs.config import load_config
|
|
14
|
-
from mkdocs.
|
|
15
|
-
from mkdocs.livereload import LiveReloadServer
|
|
12
|
+
from mkdocs.livereload import LiveReloadServer, _serve_url
|
|
16
13
|
|
|
17
14
|
if TYPE_CHECKING:
|
|
18
15
|
from mkdocs.config.defaults import MkDocsConfig
|
|
@@ -26,10 +23,12 @@ def serve(
|
|
|
26
23
|
build_type: str | None = None,
|
|
27
24
|
watch_theme: bool = False,
|
|
28
25
|
watch: list[str] = [],
|
|
26
|
+
*,
|
|
27
|
+
open_in_browser: bool = False,
|
|
29
28
|
**kwargs,
|
|
30
29
|
) -> None:
|
|
31
30
|
"""
|
|
32
|
-
Start the MkDocs development server
|
|
31
|
+
Start the MkDocs development server.
|
|
33
32
|
|
|
34
33
|
By default it will serve the documentation on http://localhost:8000/ and
|
|
35
34
|
it will rebuild the documentation and refresh the page automatically
|
|
@@ -40,9 +39,6 @@ def serve(
|
|
|
40
39
|
# string is returned. And it makes MkDocs temp dirs easier to identify.
|
|
41
40
|
site_dir = tempfile.mkdtemp(prefix='mkdocs_')
|
|
42
41
|
|
|
43
|
-
def mount_path(config: MkDocsConfig):
|
|
44
|
-
return urlsplit(config.site_url or '/').path
|
|
45
|
-
|
|
46
42
|
def get_config():
|
|
47
43
|
config = load_config(
|
|
48
44
|
config_file=config_file,
|
|
@@ -50,7 +46,6 @@ def serve(
|
|
|
50
46
|
**kwargs,
|
|
51
47
|
)
|
|
52
48
|
config.watch.extend(watch)
|
|
53
|
-
config.site_url = f'http://{config.dev_addr}{mount_path(config)}'
|
|
54
49
|
return config
|
|
55
50
|
|
|
56
51
|
is_clean = build_type == 'clean'
|
|
@@ -59,16 +54,20 @@ def serve(
|
|
|
59
54
|
config = get_config()
|
|
60
55
|
config.plugins.on_startup(command=('build' if is_clean else 'serve'), dirty=is_dirty)
|
|
61
56
|
|
|
57
|
+
host, port = config.dev_addr
|
|
58
|
+
mount_path = urlsplit(config.site_url or '/').path
|
|
59
|
+
config.site_url = serve_url = _serve_url(host, port, mount_path)
|
|
60
|
+
|
|
62
61
|
def builder(config: MkDocsConfig | None = None):
|
|
63
62
|
log.info("Building documentation...")
|
|
64
63
|
if config is None:
|
|
65
64
|
config = get_config()
|
|
65
|
+
config.site_url = serve_url
|
|
66
66
|
|
|
67
|
-
build(config,
|
|
67
|
+
build(config, serve_url=None if is_clean else serve_url, dirty=is_dirty)
|
|
68
68
|
|
|
69
|
-
host, port = config.dev_addr
|
|
70
69
|
server = LiveReloadServer(
|
|
71
|
-
builder=builder, host=host, port=port, root=site_dir, mount_path=mount_path
|
|
70
|
+
builder=builder, host=host, port=port, root=site_dir, mount_path=mount_path
|
|
72
71
|
)
|
|
73
72
|
|
|
74
73
|
def error_handler(code) -> bytes | None:
|
|
@@ -102,17 +101,11 @@ def serve(
|
|
|
102
101
|
server.watch(item)
|
|
103
102
|
|
|
104
103
|
try:
|
|
105
|
-
server.serve()
|
|
104
|
+
server.serve(open_in_browser=open_in_browser)
|
|
106
105
|
except KeyboardInterrupt:
|
|
107
106
|
log.info("Shutting down...")
|
|
108
107
|
finally:
|
|
109
108
|
server.shutdown()
|
|
110
|
-
except jinja2.exceptions.TemplateError:
|
|
111
|
-
# This is a subclass of OSError, but shouldn't be suppressed.
|
|
112
|
-
raise
|
|
113
|
-
except OSError as e: # pragma: no cover
|
|
114
|
-
# Avoid ugly, unhelpful traceback
|
|
115
|
-
raise Abort(f'{type(e).__name__}: {e}')
|
|
116
109
|
finally:
|
|
117
110
|
config.plugins.on_shutdown()
|
|
118
111
|
if isdir(site_dir):
|
|
@@ -51,7 +51,7 @@ class BaseConfigOption(Generic[T]):
|
|
|
51
51
|
def default(self, value):
|
|
52
52
|
self._default = value
|
|
53
53
|
|
|
54
|
-
def validate(self, value: object) -> T:
|
|
54
|
+
def validate(self, value: object, /) -> T:
|
|
55
55
|
return self.run_validation(value)
|
|
56
56
|
|
|
57
57
|
def reset_warnings(self) -> None:
|
|
@@ -64,7 +64,7 @@ class BaseConfigOption(Generic[T]):
|
|
|
64
64
|
The pre-validation process method should be implemented by subclasses.
|
|
65
65
|
"""
|
|
66
66
|
|
|
67
|
-
def run_validation(self, value: object):
|
|
67
|
+
def run_validation(self, value: object, /):
|
|
68
68
|
"""
|
|
69
69
|
Perform validation for a value.
|
|
70
70
|
|
|
@@ -190,6 +190,7 @@ class Config(UserDict):
|
|
|
190
190
|
config_option.reset_warnings()
|
|
191
191
|
except ValidationError as e:
|
|
192
192
|
failed.append((key, e))
|
|
193
|
+
break
|
|
193
194
|
|
|
194
195
|
for key in set(self.keys()) - self._schema_keys:
|
|
195
196
|
warnings.append((key, f"Unrecognised configuration name: {key}"))
|
|
@@ -243,7 +244,6 @@ class Config(UserDict):
|
|
|
243
244
|
|
|
244
245
|
def load_dict(self, patch: dict) -> None:
|
|
245
246
|
"""Load config options from a dictionary."""
|
|
246
|
-
|
|
247
247
|
if not isinstance(patch, dict):
|
|
248
248
|
raise exceptions.ConfigurationError(
|
|
249
249
|
"The configuration is invalid. Expected a key-"
|
|
@@ -272,18 +272,14 @@ class Config(UserDict):
|
|
|
272
272
|
|
|
273
273
|
@functools.lru_cache(maxsize=None)
|
|
274
274
|
def get_schema(cls: type) -> PlainConfigSchema:
|
|
275
|
-
"""
|
|
276
|
-
Extract ConfigOptions defined in a class (used just as a container) and put them into a schema tuple.
|
|
277
|
-
"""
|
|
275
|
+
"""Extract ConfigOptions defined in a class (used just as a container) and put them into a schema tuple."""
|
|
278
276
|
if issubclass(cls, Config):
|
|
279
277
|
return cls._schema
|
|
280
278
|
return tuple((k, v) for k, v in cls.__dict__.items() if isinstance(v, BaseConfigOption))
|
|
281
279
|
|
|
282
280
|
|
|
283
281
|
class LegacyConfig(Config):
|
|
284
|
-
"""
|
|
285
|
-
A configuration object for plugins, as just a dict without type-safe attribute access.
|
|
286
|
-
"""
|
|
282
|
+
"""A configuration object for plugins, as just a dict without type-safe attribute access."""
|
|
287
283
|
|
|
288
284
|
def __init__(self, schema: PlainConfigSchema, config_file_path: str | None = None):
|
|
289
285
|
self._schema = tuple((k, v) for k, v in schema) # Re-create just for validation
|
|
@@ -345,7 +341,7 @@ def load_config(
|
|
|
345
341
|
config_file: str | IO | None = None, *, config_file_path: str | None = None, **kwargs
|
|
346
342
|
) -> MkDocsConfig:
|
|
347
343
|
"""
|
|
348
|
-
Load the configuration for a given file object or name
|
|
344
|
+
Load the configuration for a given file object or name.
|
|
349
345
|
|
|
350
346
|
The config_file can either be a file object, string or None. If it is None
|
|
351
347
|
the default `mkdocs.yml` filename will loaded.
|
|
@@ -366,7 +362,7 @@ def load_config(
|
|
|
366
362
|
from mkdocs.config.defaults import MkDocsConfig
|
|
367
363
|
|
|
368
364
|
if config_file_path is None:
|
|
369
|
-
if fd is not sys.stdin.buffer:
|
|
365
|
+
if sys.stdin and fd is not sys.stdin.buffer:
|
|
370
366
|
config_file_path = getattr(fd, 'name', None)
|
|
371
367
|
cfg = MkDocsConfig(config_file_path=config_file_path)
|
|
372
368
|
# load the config file
|
|
@@ -387,7 +383,7 @@ def load_config(
|
|
|
387
383
|
log.debug(f"Config value '{key}' = {value!r}")
|
|
388
384
|
|
|
389
385
|
if len(errors) > 0:
|
|
390
|
-
raise exceptions.Abort(
|
|
386
|
+
raise exceptions.Abort("Aborted with a configuration error!")
|
|
391
387
|
elif cfg.strict and len(warnings) > 0:
|
|
392
388
|
raise exceptions.Abort(
|
|
393
389
|
f"Aborted with {len(warnings)} configuration warnings in 'strict' mode!"
|