See the included documentation for a full explanation of the API.
Search has been removed and wrapped in a plugin (named "legacy_search").
The search feature was ported as-is. None of the open issues with search
have been addressed. Presumably, a new search plugin will be built from
the ground up which addresses those issues.
Note that there is no 'default' plugins. That means that users get no
search unless they enable it in the config by adding the following to
their `mkdocs.yml` file:
plugins:
- legacy_search
Fixes#206
Themes now have `theme` objects, and theme specific configs.
Themes can inherit from other themes. Users (and theme authors)
can define custom static templates and variables.
All Markdown handling is now contained within the `Page` object, which
external code no longer needs to know the internals of.
A slightly different approach to the work started in #713.
Include the multimarkdown meta-data parser from docdata
See: https://github.com/waylan/docdata
Tests have been updated. However, as noted in #713, they could use
some refactoring. The existing tests all pass. We can leave refactoring
as a seperate matter from this.
Closes#713.
As neither setting can point at a child dir of the other, "/" would be an
invalid value for either setting. However, given its unique nature,
os.path.abspath does not follow normal bahavior of returning a string without
an ending slash when passed "/". Therefore, we need to special case it.
Fixes#1161.
An error page can be served from any location and therefore it is
impossable to pre-build an error page with correct relative URLs.
With absolute URLs, the error pages will properly link to other
pages in the nav as well as media files (css, js, images, etc) from
the template regardless of the actual URL the file is served from.
However, to continue to support environments where the docs root is a subdir
of the server root, all other pages must continue to use relative URLs.
The `site_url` is used to determine the server root when building
absolute URLs for the error page to ensure those URLs continue to work
in that type of environment.
Relative URLs are also nessecary for those who browse the site on the
local file system (via `file://`). In that case, the error page will be
broken. However, as error pages are not served by a local file system,
this is no more than a minor inconvience. Error pages should always be
tested from a server environment.
Fixes#77.
Any template variables which mirrored a config setting have been deprecated
and should be accessed via the coresponding config template variable.
This resolves the rest of #874.
This replicates the recent addition to the ghp_import.py tool (see
https://github.com/davisp/ghp-import/commit/49cfe6e6).
The default is to not force, but if needed (perhaps when deploying
from a CI server), the --force flag can be included.
Fixes#973.
Some scripts need to execute after the page has finished loading.
To ensure that, the `scripts` block is placed at the bottom of the page.
However, if a user embeds scrpts within the body, and those scripts
rely in libs, then the libs need to already be loaded. By having
`libs` be a seperate block at the top of the page (int he header),
we can ensure that will work.
And we still want the libs in a block so a user can override them,
or even add to them (via `{{ super() }}`).
Fixes#956
Raise an error when site_dir is in docs_dir (as opposed to a warning)
and raise an error when docs_dir is the parent dir of the config file.
Fixes#610 and #972.