Commit Graph

293 Commits

Author SHA1 Message Date
Tom Christie
292bc68b94 Update docs for 'next_prev' block. 2024-04-25 17:31:47 +01:00
Oleh Prypin
59a295f5f9 Merge pull request #3493 from waylan/2248
Update mkdocs theme to bootstrap 5.3 and add support for dark mode.
2024-04-12 21:38:53 +02:00
Oleh Prypin
a793da267b Add the hook file's directory to sys.path (#3568)
Also clean sys.path after the hook is done, for some semblance of isolation
2024-03-16 16:05:17 +01:00
Waylan Limberg
a836155549 Add support for a 'dark mode' to mkdocs theme
Also add an optional toggle button for it.

Three new config options have been added:

1. 'color_mode' which can be set to one of 'light', 'dark', or 'auto'.
   Default is 'light' for backward compatability. The 'auto' color mode
   will check the system settings and automaticaly switch to light or
   dark mode on page load or when the system's color mode changes.
2. 'hljs_style_dark': the Highlight.js theme to use in 'dark_mode'.
   Default is 'github-dark' which matches the light mode default of
   'github'. The preexisting config option 'hljs_style' is used for
   'light' mode.
3. 'user_color_mode_toggle':
   Allow users to select their prefered color mode (light, dark, auto) from
   within the browser and save their preference for future page loads. The
   new config option 'user_color_mode_toggle' (default: 'False') can be
   enabled to display a toggle menu in the nav bar. The default value of the
   toggle menu on first load is the value set to 'color_mode'.

MkDocs' own documentation is now configured with 'color_mode: auto'.

Co-authored-by: Oleh Prypin <oleh@pryp.in>
2024-03-16 15:16:48 +01:00
Oleh Prypin
53ff03aad2 Consistently use ```text in Markdown 2024-03-16 14:49:04 +01:00
Oleh Prypin
953839f1e3 Switch to an explicit markdownlint config
Based on https://github.com/DavidAnson/markdownlint/blob/v0.33.0/schema/.markdownlint.yaml
2024-01-29 22:14:24 +01:00
Oleh Prypin
369dcc0aa1 Apply new markdownlint rule table-pipe-style 2024-01-29 21:56:36 +01:00
Oleh Prypin
8833edcc94 Fix some broken links 2023-12-15 21:56:25 +01:00
Oleh Prypin
7245a636cc Also make 'relative_to_docs' work for nav validation 2023-12-11 23:51:56 +01:00
Oleh Prypin
a42ab62311 Validation of absolute links relative to docs root 2023-12-11 23:51:50 +01:00
Oleh Prypin
9e443d2120 For validation, pick up anchors also from raw HTML (#3505) 2023-12-11 23:49:10 +01:00
Allison Thackston
3e809b6bd6 Add additional 'drafts' level to inclusion (#3476)
Co-authored-by: Oleh Prypin <oleh@pryp.in>
2023-12-11 22:36:36 +01:00
Oleh Prypin
1910381516 Merge pull request #3463 from mkdocs/anch
Implement validation of anchors in links to other pages
2023-12-09 18:08:16 +01:00
Oleh Prypin
9ff9bb10bf Docs: warn about installing third-party plugins 2023-11-11 16:50:48 +01:00
Oleh Prypin
04cca3bff7 Implement validation of anchors in links to other pages
Example message:

    WARNING -  Doc file 'dev-guide/themes.md' contains a link '../user-guide/configuration.md#google_analytics', but the doc 'user-guide/configuration.md' does not contain an anchor '#google>

It is not enabled by default. To enable, use config `validation: {anchors: warn}`

The implementation only detects Markdown anchors, not raw HTML anchors. As such it may have false positives.

```markdown
<a id="undetectable-anchor"></a>

## Detectable anchor
```

There are plans to improve that in the future.

But that's just about user-authored HTML.
As for HTML that Markdown extensions insert: it will also work correctly if they insert the HTML as etree elements and will never work if they insert it via `htmlStash`. Basically the same rules as for what `toc_tokens` is able to detect.
2023-11-11 16:07:25 +01:00
Oleh Prypin
7c3c3981b8 Docs: fix or drop broken anchor links 2023-11-11 14:28:14 +01:00
Vedran Miletić
0bf4963090 Quote pip arguments containing square brackets (#3456)
This is strictly necessary when using non-bash shells (e.g. tcsh).
2023-11-01 17:20:14 +01:00
Oleh Prypin
7ab01c24ff Add an enabled setting for all plugins (#3395)
For every plugin, the user can set `enabled: false` (or something based on an environment variable) and it will not kick in at all.

If the plugin has its own `enabled` config, there's no change for it in that case.
2023-10-30 01:58:27 +01:00
Oleh Prypin
d107e6d32c When nav config is not specified, apply file inclusion
to decide whether a file in included when generating the implicit nav.

Fixes #3336
2023-10-28 17:40:15 +02:00
Oleh Prypin
89c7aa69ac Merge pull request #3283 from mkdocs/warnc
Expand link validation, add configs for it
2023-07-09 16:04:37 +02:00
Oleh Prypin
8353493606 Use YAML indentation width of 2 spaces (#3287) 2023-07-09 15:59:51 +02:00
C3pa
c99465a4d8 Update choosing-your-theme.md
Fixes some grammar errors on Choosing your theme page
2023-07-06 14:12:35 +02:00
Oleh Prypin
aef55990b9 Propagate 1st-level validation keys to the 2nd-level sub-dicts 2023-07-02 18:50:23 +02:00
Oleh Prypin
4150d2b8ce Configurable diagnostics around broken links to docs
Expand the situations where logs about broken links are produced, make the logging levels fully configurable
2023-07-02 18:50:23 +02:00
Oleh Prypin
99a9a90553 Document the !relative tag 2023-06-25 23:11:55 +02:00
Oleh Prypin
b162c5e824 Docs: automatically generate the list of locales (#3272) 2023-06-23 09:35:26 +02:00
Oleh Prypin
ce826e94cc Merge pull request #3268 from mkdocs/conft
More precise types; support stdin as the `--config-file`
2023-06-19 22:22:10 +02:00
Oleh Prypin
9394d4b168 Merge remote-tracking branch 'origin/master' into mjs 2023-06-18 19:18:22 +02:00
Oleh Prypin
d5bb15fa10 Properly support config_file_path being None
* Prevent error when the config file is a stream, to support `-` as the config.
* Fix type annotations and edge cases when `config_file_path` is None
* Properly prevent users setting `config_file_path` in mkdocs.yml - this was not intended.
2023-06-18 17:55:41 +02:00
Oleh Prypin
9d56fa21d9 Merge remote-tracking branch 'origin/master' into ignore 2023-06-09 20:18:54 +02:00
Oleh Prypin
4f98a94f14 Fix typo in extra_javascript doc 2023-06-08 10:33:48 +02:00
Oleh Prypin
3363c615de Update docs - "best-of-mkdocs" became "catalog" 2023-06-07 00:39:01 +02:00
Oleh Prypin
32d8c3a986 Expand config.extra_javascript to support type, async, defer
The top-level template object `extra_javascript` gets soft-deprecated because it still reports only a list of plain strings.

Themes need to take action and pick up the new config keys from `config.extra_javascript` instead.
2023-06-04 00:37:41 +02:00
Oleh Prypin
d4d483c779 Print the local URL of pages that are "built only for the preview"
And refactor `LiveReloadServer` to not start listening in the constructor
2023-06-03 15:07:35 +02:00
Oleh Prypin
5af8bd3053 Infer titles of pages based on full Markdown parsing (#3191)
Properly parse Markdown and report the first H1 tag rather than naively looking for `# Stuff` at the start of the doc.

This satisfies feature requests such as supporting setext-style headers and fixes attr-list suffixes that failed to be ignored.

Co-authored-by: Hendrik Polczynski <hendrikpolczyn@gmail.com>
Co-authored-by: Darrick Herwehe <darrick@exitcodeone.com>
2023-05-29 21:59:31 +02:00
Oleh Prypin
930ae26a55 New flag mkdocs serve --clean - simulate a pure mkdocs build and then serve
Also rename `--dirtyreload` flag to `--dirty` (keep the old name working)
2023-05-29 01:04:29 +02:00
Oleh Prypin
f37ce51da1 Serve excluded files in mkdocs serve + new not_in_nav config
* Docs that match any of the `not_in_nav` patterns will not produce warnings about never being included into the nav.

* Files that are excluded by `exclude_docs` will now be preserved in the `Files` collection and will even be rendered but only in `mkdocs serve` mode - such files will have a `DRAFT` notice prepended to the content.
2023-05-29 01:04:29 +02:00
Oleh Prypin
67e0e4e052 New exclude_docs config: gitignore-like patterns of files to exclude
These files will not be picked up into the `Files` collection and as such, also the final built site.

Also adds the ability to *un*-ignore the files that MkDocs forcibly ignores.
2023-05-28 23:10:25 +02:00
Zac Knitter
2a232bf153 Update customizing-your-theme.md (#3215)
Fixed typo
2023-05-07 10:20:05 +02:00
Oleh Prypin
4ac1484de3 Link to Best-of-MkDocs instead of Plugins wiki in docs (#3207)
https://github.com/mkdocs/best-of-mkdocs
2023-05-02 22:42:16 +02:00
Oleh Prypin
876995cdf3 Generalize tr_TR translations to just tr, explain how to decide this (#3195) 2023-04-27 19:16:19 +02:00
Ultrabug
e6189fde03 update links and messages to https (#3192)
* docs(guides): update links to use https with newer urls

* docs(gh_deploy): update user CNAME message to use https

---------

Co-authored-by: Oleh Prypin <oleh@pryp.in>
2023-04-24 11:44:49 +02:00
kiraware
1f1bfad763 Add Indonesian translations of themes (#3154) 2023-04-22 12:31:14 +02:00
Oleh Prypin
324f486adc Docs: fix broken links to pocoo.org 2023-04-21 22:24:36 +02:00
Steven Maude
49fbc35d11 Correct capitalisation of "GitHub Pages" (#3037)
To be consistent with GitHub's usage, and the use in MkDocs' documentation elsewhere.
2023-04-21 19:17:35 +02:00
Hélène Martin
0c1e9917a5 Align edit_url text and example (#3124) 2023-04-21 19:16:47 +02:00
HankB
56b235a8ad Docs: add warning about uncommitted changes (#3034) 2022-11-07 00:57:33 +01:00
pcgaustad
f190c35a99 Translate mkdocs theme to Norwegian (nb and nn) (#3024) 2022-10-29 14:55:02 +02:00
Oleh Prypin
b2083d07f5 Add CLI reference page, auto-generated from Click (#2996) 2022-10-08 11:17:05 +02:00
Oleh Prypin
81d6ebf59d Replace instances of ```no-highlight 2022-09-19 22:22:33 +02:00