Added theme customization settings to the search plugin:
* include_search_page: Determines whether the search plugin expects the
theme to provide a dedicated search page via a template located at
`search/search.html`.
* search_index_only: Determines whether the search plugin should only
generate a search index or a complete search solution.
Themes should define these settings in their `mkdocs_theme.yml` config file.
Documentation has been updated as well. Fixes#1315.
Note: while we would not normally add new settings (features) in a point
(bugfix) release, this is fixing a regression for third party themes.
Therefore, it is a "bugfix" and appropriate for a point release.
When serving locally, the `site_url` actually is the `dev_addr`, so the
config should relfect that. Note that this override must happen after
config validation so that the proper defaults are evaluated for the
`dev_addr` setting. It cannot happen as part of "post_validation" as
there is no way to know the dev server is running within the config
validation (for example, the dev_addr may not be None as the user could
have set the `dev_addr` setting in their config file). Overriding it
from the serve command is the least invasive method and guarantees it
only happens when the local dev server is being run.
Also cleaned up `dev_addr` docs, which were missleading in some respects
and actually encouraged using the dev server over a network.
Fixes#1317. 404 Error pages now work on the loval dev server when
the `site_url` in the config points to a subdir.
* Improve documentation and ensure it matches actual behavior.
* Use `page.edit_url` not `config.edit_url` in mkdocs template (opps).
* Include whitespace between icon and label in mkdocs theme.
* Undefined `edit_uri` results in `page.edit_url = None` when not automated.
* Setting `edit_uri: ''` disables automatic edit_uri for GitHub & Bitbucket.
Theme shows either a repo link or an edit link depending on whether
`edit_uri` is set. Also clarified documentation that this behavior is
dependant upon theme support. Fixes#1129.
Maintains better backward-compatability. Documentation updated, including
how to override the default. Also renamed the entry_point to 'search'.
The lib is still 'legacy_search'. When a new/better search plugin is
developed, the `search` entry_point will be pointed there so the default
behavior will inlcude the upgrade and a new `entry_point` will be added
('legacy_search') which points to the old plugin for those who really want
it.
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.
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.
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.
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
theme_dir is listed twice at the bottom links, this removed the
one that relates to this page. All usages make sense when linking
directly to the config page.
This patch adds support for a configuration option `edit_uri` that
is used to generate a link directly to an individual page in the
source repository.
Fixes#269
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.