@@ -43,6 +43,17 @@ and Mkdocs, and uses the modern MyST plugin to get Markdown support.
4343> collection of notebooks using Sphinx internally. Can also be used for docs,
4444> though, see [ echopype] ( https://echopype.readthedocs.io ) .
4545
46+
47+ {: .warning-title }
48+
49+ > The Future of MkDocs
50+ >
51+ > The creators of ` mkdocs-material ` and ` mkdocstrings ` have come together
52+ > to create a new documentation package called [ Zensical] ( https://zensical.org/about/ ) .
53+ > The framework is still in alpha development, but aims to simplify the
54+ > documentation process, be blazing fast, and move away from the limitations
55+ > of MkDocs.
56+
4657## What to include
4758
4859Ideally, software documentation should include:
@@ -83,6 +94,25 @@ and MkDocs diverge.
8394
8495{% tabs %}{% tab sphinx Sphinx %}
8596
97+ ### pyproject.toml additions
98+
99+ Setting a ` docs ` dependency group looks like this:
100+
101+ ``` toml
102+ [dependency-groups ]
103+ docs = [
104+ " furo" ,
105+ " myst_parser >=0.13" ,
106+ " sphinx >=4.0" ,
107+ " sphinx-copybutton" ,
108+ " sphinx-autodoc-typehints" ,
109+ ]
110+ ```
111+
112+ You should include the docs group via ` --group=docs ` when using uv or pip to install,
113+ or install all groups, such as by running ` uv sync --all-groups ` .
114+
115+
86116There is a sphinx-quickstart tool, but it creates unnecessary files (make/bat,
87117we recommend a cross-platform noxfile instead), and uses rST instead of
88118Markdown. Instead, this is our recommended starting point for ` conf.py ` :
@@ -248,33 +278,13 @@ to mark where you want the docs portion to start.
248278
249279You can add the standard indices and tables at the end.
250280
251- ### pyproject.toml additions
252-
253- Setting a ` docs ` dependency group looks like this:
254-
255- ``` toml
256- [dependency-groups ]
257- docs = [
258- " furo" ,
259- " myst_parser >=0.13" ,
260- " sphinx >=4.0" ,
261- " sphinx-copybutton" ,
262- " sphinx-autodoc-typehints" ,
263- ]
264- ```
265-
266- You should use ` --group=docs ` when using uv or pip to install.
267281
268282{% endtab %} {% tab mkdocs MkDocs %}
269283
270284While the cookie cutter creates a basic structure for your MkDocs (a top level
271285` mkdocs.yml ` file and the ` docs ` directory), you can also follow the official
272286[ Getting started] ( https://squidfunk.github.io/mkdocs-material/getting-started/ )
273- guide instead. Note, however, instead of the ` pip ` install, it is better
274- practice install your documentation dependencies via ` pyproject.toml ` and then
275- when you run your ` uv sync ` to install dependencies, you can explicitly ask for
276- the ` docs ` group to be installed via ` uv sync --group=docs ` or
277- ` uv sync --all-groups ` .
287+ guide instead.
278288
279289If you selected the ` mkdocs ` option when using the template cookie-cutter
280290repository, you will already have this group. Otherwise, add to your
@@ -292,6 +302,10 @@ docs = [
292302]
293303```
294304
305+ You should include the docs group via ` --group=docs ` when using uv or pip to install,
306+ or install all groups, such as by running ` uv sync --all-groups ` .
307+
308+
295309These dependencies include several common plugins---such as generating reference
296310API documentation from docstrings---to make life easier.
297311
0 commit comments