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.
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.
This is a backward incompatable change as it switches the primary
template from base.html to main.html. See the release notes for
details.
Partially addresses #607.
A deprecation warning is issued for all old variables and all new
page specific variables are attributes of the 'page' object.
Global variables are uneffected, except page_description.
See the changes described in the release notes for details.
Fixes#874.
This change removes the dependency on mkdocs-bootstrap and mkdocs-bootswatch.
It also updates all references in the code. The only remaining connection is
when a user specifies one of these themes but they are not installed they get
slightly helpful error.
Also added README.md and CONTRIBUTING.md to the linter.
Note, that I am still getting one failer (in two locations). However
I consider that failer a bug in the linter and have reported it
upstream. We could disable that Rule (MD031), but as we are not
requiring the lint rules to pass presently, I just left it alone.
Also, while the code linter is set to allow lines 119 chars long,
I am using the Markdown linter's default of 80. Prose is easier to
read with shorter line lenghts, so I think it makes more sense to
use the default. Also, changing the default would have required
adding a config file. Adding a Ruby file for only one minor setting
seems silly, so I left it alone.
Both files and directories should be sorted to ensure consistent ordering of
pages in the menus across builds and systems. Turns out to be a simple fix.
As `os.walk` provides a reference to the list of dirs it uses internally,
we can modify that list in place and it will use the modified list.
While this may not give proper alphanumeric ordering for all languages,
it goes ensure consistent ordering. For more control over ordering,
it is expected that a plugin could be used once that API becomes available.
Fixes#638.