Commit Graph

594 Commits

Author SHA1 Message Date
Waylan Limberg
d038223e7a Identify homepage when use_directory_urls is False
Fixes #2363.
2021-04-14 21:35:31 -04:00
Waylan Limberg
6a694fd87b Refactor Logging and Error handling
Provide for better reporting to users, make for easier maintenance going forward, and allow future expandability. The following major changes were made:

1. The logging config is now defined in a way which will allow future expandability. For example, we could add additional levels of `strict` or `verbosity` (see  #1756) . All log messages are fed to a single log, which has two handlers (one for strict mode and one for verbosity). All level restrictions are defined per handler so that one restriction does not interfere with another. As filters do not have a level assigned to them, the previous count filter is now a nullhandler which counts all messages is receives (restricted only by level). The previous filter still exists (as a do-nothing instance) for any third-party plugins which called it. Those plugins should remove the call going forward.
2. A new exception `mkdocs.exceptions.Abort` was added. Rather than calling `SystemExit`, we now call `Abort`, which is a custom `click` exception that aborts with a readable error message and no traceback. Where appropriate, we catch errors, log them, and then call `Abort`. This allows us to remove all error handling from the CLI code and include it where errors originate from. Of course, as previously, unanticipated errors will still generate a traceback to allow debugging.
3. Log formatting has been improved. All log messages are now hard wrapped and indented for easier reading and color is used to identify each by type. Note that colors are only used to highlight errors, warnings and debug messages. Under normal operation with no issues, the user will not see any color.
2021-04-14 16:09:25 -04:00
Matthew McMillan
0da7f72478 Update lunr and lunr.js to 0.5.9 and 2.3.9 (#2359) 2021-04-10 20:04:44 -04:00
Waylan Limberg
6218e524b5 Correct docs if page template context var
Fixes #1736.
2021-04-10 19:31:14 -04:00
Waylan Limberg
d99419ac44 Ensure site_url ends with a slash
`urlparse(config['site_url']).path` can be empty if `site_url` does not end
in a slash. This ensures at least a slash is returned. Config validation
will add the slash if it is missing. Fixes #1785.
2021-04-10 18:43:13 -04:00
Hendrik Erz
eb31d4c0d7 Fix cut-off navigation in the ReadTheDocs theme
Fixes #2012.
2021-04-09 16:39:40 -04:00
Waylan Limberg
cc45748e72 Revert "Add --wait flag to serve command."
This reverts commit f73f221f1f.

It seems that the `wait` flag does not interupt the file watcher,
but simply delays builds. Therefore, a plugin which writes to the
`docs_dir` will still result in an infinite loop. That being the
case, the `wait` flag is not useful to us. See #2285.
2021-04-08 13:56:32 -04:00
Waylan Limberg
1beaf22245 Restore styling of tables in the readthedocs theme
Rather than including this is the JS form the upstream theme, the JS
has been included in a separate file `theme_extra.js` so that is is not
lost in a future update copied form upstream. Fixes #2028.
2021-04-07 20:22:08 -04:00
Waylan Limberg
21b3d1d431 Ensure each instance of Config is unique
Replace the global variable `mkdocs.config.DEFAULT_SCHEMA` with
the function `mkdocs.config.defaults.get_schema()`. An instance is no
longer created on import (eliminating circular imports under certain
circumstances) and each call to `get_schema()` builds a new instance
of each object. Fixes #2289.
2021-04-05 18:48:59 -04:00
Waylan Limberg
a118183f5e Refactor docs (#2344)
The homepage has been redesigned. The "Installation" and "Getting Started" sections were moved to their own respective pages. Then, the homepage was restyled so that the list of features appear as a grid of cards.

The developer specific pages were moved to a new section: `dev-guide`. Any old URLs redirect to the new ones.
2021-04-04 16:14:29 -04:00
Andre_601
41c9961de5 Link to GitHub discussions (#2334)
Related to #2256. Also remove link to unused IRC channel.
2021-03-25 13:39:42 -04:00
Masanori Matsumoto
aa20a9d086 Fix support for ja or jp in search. (#2178)
Add tinyseg.js included with lunr-languages v1.4.0. Fixes `MODULE_NOT_FOUND` error when lang is `ja` or `jp`.
2021-03-24 19:38:33 -04:00
Ginger Old
dd903d3092 Upgrade highlightjs to 10.5.0 for better code highlighting
Closes #2312.
2021-02-28 17:01:13 -05:00
Mick Orbik
4faa18d095 Added configuration for search indexing strategy (#2309)
Allows a user to supply a `indexing` configuration to the search
plugin which controls what to include in the search index (full,
sections, titles)
2021-02-21 15:05:14 -05:00
Ultrabug
b1f5dae055 files structure: move src_paths as a dynamic property, add remove
Plugins wishing to manipulate the Files structure have an append
method but can't dynamically work on src_paths since it's computed
once on Files instanciation

This commits allows plugins to manipulate Files trough append and
remove of file objects while not having to care about the src_paths
since it's now a dynamically computed property
2021-02-16 15:16:22 -05:00
Timothée Mazzucotelli
3c9358bb6a Add plugin error exception and event
Related to #2082.
2020-12-23 19:23:31 -05:00
Waylan Limberg
f4de3c7387 Support Environment Variables in config file
Environment variables can be assigned as values in the configuration
file using the !ENV tag. Resolves #1954.

The behavior is defined in the third-party package pyyaml_env_tag:
https://github.com/waylan/pyyaml-env-tag
2020-12-23 13:02:21 -05:00
Waylan Limberg
c7d86d4989 Support PY39 and drop PY35 (#2260)
PyYAML 3.13 fails to install on PY3.9 on MacOS. The next public release was 5.1.
2020-12-21 16:31:38 -05:00
Waylan Limberg
5c2b4f1353 Update ghp_import dependency to 1.0
Replace vendored (and modified) copy of ghp_import with dependency on
upstream library. As of version 1.0+ ghp_import includes a Python API.

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.

Resolves #2170 and resolves #1383.
2020-12-21 14:02:02 -05:00
SaintMalik
bd73399f55 Fix broken url in docs
## Summary

Easy navigation and easy reading for others
2020-12-17 13:18:43 -05:00
Tim Vink
3e8b3481ff Remove sidebar when printing (#2193) 2020-12-07 14:28:15 -05:00
DJ Adams
2f833a1a29 Make clear the distinction between and use of docs_dir and docs (#2230) 2020-11-20 10:59:53 -05:00
Waylan Limberg
2d8e9d3305 Remove links to specific hosts from Getting Started Guide
We already link to the Deploying for Docs page which includes specific
instructions for various hosts. There is no need to also link to those
hosts in the Getting Started guide.

Closes #2210, closes #2104, closes #1890.
2020-11-06 11:58:44 -05:00
Waylan Limberg
f73f221f1f Add --wait flag to serve command.
Fixes #2061.
2020-11-06 10:27:11 -05:00
Waylan Limberg
0080e189db Release-notes cleanup 2020-11-04 09:12:32 -05:00
Waylan Limberg
96d1e230fa Exclude theme from watched files by default.
Add a --watch-theme option which theme devs can enable if needed.
Most users never modify the theme files and watchers are resource hogs.
Fixes #2092.
2020-11-03 14:19:29 -05:00
Lukas Geiter
00b62aa144 Fix _get_by_type for Section 2020-10-28 11:00:21 -04:00
PoojaChandak
eba0bc51e1 Update configuration.md
Observed a few changes. Suggesting the same.
2020-10-27 14:31:04 -04:00
Chris McCafferty
22537dabac Fix a typo 2020-10-27 14:29:41 -04:00
Justin M
b440c4b923 Fixing broken internal anchor link 2020-10-27 14:27:28 -04:00
Tim Vink
b97b658f7b Fix typo 2020-10-27 14:26:35 -04:00
Peter Bajurny
aba9dbffcf Fix relative link to Index Pages in Writing Your Docs help page
The link links to `index_pages` with an underscore but the page as currently rendered has that link as `index-pages` with a hyphen.
2020-10-27 14:22:54 -04:00
Tim Vink
2d9d565712 Add link to Jinja environment class
Helpful for plugin developers
2020-10-27 14:22:00 -04:00
Waylan Limberg
ff0b726056 Bump version to 1.1.2. 2020-05-14 11:07:56 -04:00
Waylan Limberg
58d70c2f87 Normalize IP addresses and change error to warning
All IP addresses passed to `dev_addr` are now normalized.
`127.000.000.001` is normalized to `127.0.0.1`.

With apologies to docker container users, the address `0.0.0.0`
no longer raises an error but a warning instead. Apparently,
docker containers need to use that address, even in dev environments.

Closes #2108.
2020-05-14 10:51:01 -04:00
Waylan Limberg
85b3befb6a Bump version to 1.1.1. 2020-05-12 11:43:50 -04:00
Ofek Lev
fa5aa4a26e Make compressed sitemap deterministic (#2100) 2020-05-12 10:05:39 -04:00
Waylan Limberg
a4eb4eb42b Fix markdownlint test (#2095)
Travis only gives us Node.js version 8 so we must use an older
version of markdownlint. To declare a newer node.js version we
lose the ability to have Python as the lang and install tox.
If/when the default node version gets updated, remove the
version restriction on markdownlint.
2020-05-07 00:07:38 -04:00
Oleh Prypin
1ad6a91e3f Use README.md as index.html when use_directory_urls is false 2020-04-26 18:34:05 -04:00
Waylan Limberg
3bada392d2 Ignore links which start with a backslash.
Fixes #1680.
2020-04-19 17:52:19 -04:00
Waylan Limberg
7b68f7b828 Pass builder to on_serve event.
Every call to `server.watch` requires `builder` to be passed in. If
users are to add their own watched files, then they need access to
`builder`. Fixes #1952.
2020-04-19 16:15:29 -04:00
Waylan Limberg
7428679a1c Set dependency to lunr[languages]==0.5.8.
Lunr.py version 0.5.8 maintains compatability with Lunr.js 2.3.8, but
restricts its dependnecy to nltk>=3.2.5,<3.5, which avoids installation
issues on some Docker images. Fixes #2062.
2020-04-18 16:30:29 -04:00
Ofek Lev
afa18ae2c0 Fix typo 2020-04-12 17:40:37 -04:00
Derek Ardolf
a4ccf611b0 Update docs to reflect supported versions. 2020-03-25 14:01:09 -04:00
wodny
63b3eb5a1f Fix readthedocs code colors
Fixes #2027.
2020-03-24 14:18:40 -04:00
Jim Conner
2505a907f4 Add minimum search length configuration parameter.
Allow users to set their own minimum search term length.  Fixes #2014.
2020-03-16 14:35:06 -04:00
Waylan Limberg
653ba22230 Clean up dev_addr validation and disallow 0.0.0.0
MkDocs has never supported using the included server for production.
However, some users have been using it that way. This would prevent that.

We also actually validate IP addresses now.
2020-03-11 22:45:49 -04:00
albandewilde
2b92209d12 Correct the block name of the search box in the doc
As mentionned here: https://github.com/mkdocs/mkdocs/issues/1142#issuecomment-282899537
I just correct the name in the documentation
2020-03-09 16:13:01 -04:00
Tsuyoshi Hombashi
74713147ec Fix a minimum dependency description
Markdown package require 3.2.1 at mkdocs 1.1
2020-02-26 12:49:24 -05:00
Waylan Limberg
eddeeab066 Bump version to 1.1 2020-02-22 19:10:35 -05:00