Subject: CVS commit: pkgsrc/textproc/py-mkdocs
From: Adam Ciarcinski
Date: 2022-02-05 10:44:04
Message id: 20220205094404.8AFB5FB24@cvs.NetBSD.org

Log Message:
py-mkdocs: updated to 1.2.3

Version 1.2.3 (2021-10-12)
Built-in themes now also support these languages:

Simplified Chinese
Japanese
Brazilian Portuguese
Spanish
Third-party plugins will take precedence over built-in plugins with the same name

Bugfix: Fix ability to load translations for some languages: core support

Bugfix (regression in 1.2): Prevent directory traversal in the dev server

Bugfix (regression in 1.2): Prevent webserver warnings from being treated as a \ 
build failure in strict mode

Bugfix: Correctly print colorful messages in the terminal on Windows

Bugfix: Python version 3.10 was displayed incorrectly in --version

Other small improvements; see commit log.

Version 1.2.2 (2021-07-18)
Bugfix (regression in 1.2): Fix serving files/paths with Unicode characters

Bugfix (regression in 1.2): Revert livereload file watching to use polling observer

This had to be done to reasonably support usages that span virtual filesystems \ 
such as non-native Docker and network mounts.

This goes back to the polling approach, very similar to that was always used \ 
prior, meaning most of the same downsides with latency and CPU usage.

Revert from 1.2: Remove the requirement of a site_url config and the restriction \ 
on use_directory_urls

Bugfix (regression in 1.2): Don't require trailing slash in the URL when serving \ 
a directory index in mkdocs serve server

Instead of showing a 404 error, detect if it's a directory and redirect to a \ 
path with a trailing slash added, like before.

Bugfix: Fix gh_deploy with config-file in the current directory

Bugfix: Fix reversed breadcrumbs in "readthedocs" theme

Allow "mkdocs.yaml" as the file name when '--config' is not passed

Stop treating ";" as a special character in URLs: urlparse -> urlsplit

Improve build performance for sites with many pages (partly already done in 1.2)

Version 1.2.1 (2021-06-09)
Bugfix (regression in 1.2): Ensure 'gh-deploy' always pushes.
Version 1.2 (2021-06-04)
Major Additions to Version 1.2
Support added for Theme Localization
The mkdocs and readthedocs themes now support language localization using the \ 
theme.locale parameter, which defaults to en (English). The only other supported \ 
languages in this release are fr (French) and es (Spanish). For details on using \ 
the provided translations, see the user guide. Note that translation will not \ 
happen by default. Users must first install the necessary dependencies with the \ 
following command:

pip install mkdocs[i18n]
Translation contributions are welcome and detailed in the Translation Guide.

Developers of third party themes may want to review the relevant section of the \ 
Theme Development Guide.

Contributors who are updating the templates to the built-in themes should review \ 
the Contributing Guide.

The lang setting of the search plugin now defaults to the language specified in \ 
theme.locale.

Support added for Environment Variables in the configuration file
Environments variables may now be specified in the configuration file with the \ 
!ENV tag. The value of the variable will be parsed by the YAML parser and \ 
converted to the appropriate type.

somekey: !ENV VAR_NAME
otherkey: !ENV [VAR_NAME, FALLBACK_VAR, 'default value']
See Environment Variables in the Configuration documentation for details.

Support added for Configuration Inheritance
A configuration file may now inherit from a parent configuration file. In the \ 
primary file set the INHERIT key to the relative path of the parent file.

INHERIT: path/to/base.yml
The two files will then be deep merged. See Configuration Inheritance for details.

Update gh-deploy command
The vendored (and modified) copy of ghp_import has been replaced with a \ 
dependency on the upstream library. As of version 1.0.0, ghp-import includes a \ 
Python API which makes it possible to call directly.

MkDocs can now benefit from recent bug fixes and new features, including the \ 
following:

A .nojekyll file is automatically included when deploying to GitHub Pages.
The --shell flag is now available, which reportedly works better on Windows.
Git author and committer environment variables should be respected
Rework auto-reload and HTTP server for mkdocs serve
mkdocs serve now uses a new underlying server + file watcher implementation, \ 
based on http.server from standard library and watchdog. It provides similar \ 
functionality to the previously used livereload library (which is now dropped \ 
from dependencies, along with tornado).

This makes reloads more responsive and consistent in terms of timing. Multiple \ 
rapid file changes no longer cause the site to repeatedly rebuild.

Almost every aspect of the server is slightly different, but actual visible \ 
changes are minor. The logging outputs are only similar to the old ones. \ 
Degradations in behavior are not expected, and should be reported if found.

Offset the local site root according to the sub-path of the site_url
When using mkdocs serve and having the site_url specified as e.g. \ 
http://example.org/sub/path/, now the root of the locally served site becomes \ 
http://127.0.0.1:8000/sub/path/ and all document paths are offset accordingly.

A build_error event was added
Plugin developers can now use the on_build_error hook to execute code when an \ 
exception is raised while building the site.

See on_build_error in the Plugins documentation for details.

Three new exceptions: BuildError PluginError and Abort
MkDocs now has tree new exceptions defined in mkdocs.exceptions: BuildError, \ 
PluginError, and Abort:

PluginError can be raised from a plugin to stop the build and log an error \ 
message without traceback.
BuildError should not be used by third-party plugins developers and is reserved \ 
for internal use only.
Abort is used internally to abort the build and display an error without a traceback.
See Handling errors in the Plugins documentation for details.

Search Indexing Strategy configuration
Users can now specify which strategy they wish to use when indexing their site \ 
for search. A user can select between the following options:

full: Adds page title, section headings, and full page text to the search index.
sections: Adds page titles and section headings only to the search index.
titles: Adds only the page titles to the search index.
See Search Indexing in the configuration documentation for details.

Backward Incompatible Changes in 1.2
The site_url configuration option is now required. If it is not set, a warning \ 
will be issued. In a future release an error will be raised

The use_directory_urls configuration option will be forced to false if site_url \ 
is set to an empty string. In that case, if use_directory_urls is not explicitly \ 
set to false, a warning will be issued

Note

This was reverted in release 1.2.2

The google_analytics configuration option is deprecated as Google appears to be \ 
phasing it out in favor of its new Google Analytics 4 property. See the \ 
documentation for your theme for alternatives which can be configured as part of \ 
your theme configuration. For example, the mkdocs and readthedocs themes have \ 
each added a new theme.analytics.gtag configuration option which uses the new \ 
Google Analytics 4 property. See Google's documentation on how to Upgrade to a \ 
Google Analytics 4 property. Then set theme.analytics.gtag to the "G-" \ 
ID and delete the  google_analytics configuration option which contains a \ 
"UA-" ID. So long as the old "UA-" ID and new "G-" \ 
ID are properly linked in your Google account, and you are using the \ 
"G-" ID, the data will be made available in both the old and new \ 
formats by Google Analytics.

A theme's files are now excluded from the list of watched files by default when \ 
using the --livereload server. This new default behavior is what most users need \ 
and provides better performance when editing site content. Theme developers can \ 
enable the old behavior with the --watch-theme option.

The mkdocs theme now removes the sidebar when printing a page. This frees up \ 
horizontal space for better rendering of content like tables

The mkdocs.config.DEFAULT_SCHEMA global variable has been replaced with the \ 
function mkdocs.config.defaults.get_schema(), which ensures that each instance \ 
of the configuration is unique

The mkdocs.utils.warning_filter is deprecated and now does nothing. Plugins \ 
should remove any reference to is as it may be deleted in a future release. To \ 
ensure any warnings get counted, simply log them to the mkdocs log (i.e.:  \ 
mkdocs.plugins.pluginname).

The on_serve event (which receives the server object and the builder function) \ 
is affected by the server rewrite. server is now a  \ 
mkdocs.livereload.LiveReloadServer instead of livereload.server.Server. The \ 
typical action that plugins can do with these is to call server.watch(some_dir, \ 
builder), which basically adds that directory to watched directories, causing \ 
the site to be rebuilt on file changes. That still works, but passing any other \ 
function to watch is deprecated and shows a warning. This 2nd parameter is \ 
already optional, and will accept only this exact builder function just for \ 
compatibility.

The python method of the plugins.search.prebuild_index configuration option is \ 
pending deprecation as of version 1.2. It is expected that in version 1.3 it \ 
will raise a warning if used and in version 1.4 it will raise an error. Users \ 
are encouraged to use an alternate method to generate a prebuilt index for \ 
search.

The lunr and lunr[languages] dependencies are no longer installed by default. \ 
The dependencies are only needed for the rare user who pre-builds the search \ 
index and uses the python option, which is now pending deprecation. If you use \ 
this feature, then you will need to manually install lunr and lunr[languages]. A \ 
warning is issued if the dependencies are needed but not installed.

Other Changes and Additions to Version 1.2
Bugfix: Properly process navigation child items in _get_by_type when filtering \ 
for sections
Official support for Python 3.9 has been added and support for Python 3.5 has \ 
been dropped.
Bugfix: Fixes an issue that would result in a partially cut-off navigation item \ 
in the ReadTheDocs theme
Structure Files object now has a remove method to help plugin developers \ 
manipulate the Files tree. The corresponding src_paths has become a property to \ 
accommodate this possible dynamic behavior.
Updated highlight.js to 10.5.0.
Bugfix: Search plugin now works with Japanese language.
Documentation has been refactored
Restore styling of tables in the readthedocs theme
Ensure site_url ends with a slash
Correct documentation of pages template context variable
The lunr dependency has been updated to 0.5.9, and lunr.js to the corresponding \ 
2.3.9 version
Color is now used in log messages to identify errors, warnings and debug messages.
Bugfix: Identify homepage when use_directory_urls is False

Files:
RevisionActionfile
1.9modifypkgsrc/textproc/py-mkdocs/Makefile
1.3modifypkgsrc/textproc/py-mkdocs/PLIST
1.6modifypkgsrc/textproc/py-mkdocs/distinfo