Skip to content

Migrate mkdocs to zensical#621

Merged
bhcopeland merged 3 commits intoLinaro:masterfrom
roxell:migrate-mkdocs-to-zensical
Mar 27, 2026
Merged

Migrate mkdocs to zensical#621
bhcopeland merged 3 commits intoLinaro:masterfrom
roxell:migrate-mkdocs-to-zensical

Conversation

@roxell
Copy link
Copy Markdown
Collaborator

@roxell roxell commented Mar 25, 2026

The custom mkdocs plugin and the forked tags plugin made the doc build fragile. This pulls the doc generation out into a standalone script and switches the build tool.

mkdocs is not maintained anymore. See The Slow Collapse of MkDocs.

We depended on a custom mkdocs plugin and a forked tags plugin (mwasilew/mkdocs-plugin-tags). Both are now removed.

As I understand it Zensical is built by the mkdocs-material team and is the most active one. It builds faster and reads mkdocs.yml.

Signed-off-by: Anders Roxell anders.roxell@linaro.org

@roxell roxell force-pushed the migrate-mkdocs-to-zensical branch from 867ba3d to 5a1eb3a Compare March 25, 2026 20:19
Copy link
Copy Markdown
Contributor

@mwasilew mwasilew left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. There are some minor comments. Feel free to ignore. I tested the pip based setup and it works great!

@@ -0,0 +1,238 @@
#!/usr/bin/env python3
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

did you forget copyright?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed.

try:
steps = content["run"]["steps"]
except (KeyError, TypeError):
log.warning("%s: missing run.steps", filepath)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can this happen with a valid test definition?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can I fix this in a follow up PR where we also fix validate.py script to check for missing run.steps ?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is the best way forward. At the moment there is no check that prevents adding a test definition file without steps.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

right we need to add that into validate.py...

this can happen if the file is badly formatted I think

@roxell roxell force-pushed the migrate-mkdocs-to-zensical branch from 5a1eb3a to 3587afc Compare March 26, 2026 13:24
roxell added 3 commits March 26, 2026 14:38
The custom mkdocs plugin tied doc generation to the build tool.
Replace it with a plain script that generates the same output.

Remove mkdocs_plugin/ directory. Move requirements to
requirements-docs.txt.

Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
mkdocs is not actively maintained anymore. Switch to zensical
and drop mkdocs, mkdocs-material, mkdocs-exclude, and the
mwasilew/mkdocs-plugin-tags fork.

Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
Add uv-based workflow for building docs locally. Update pip
instructions to match the new tool.

Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
@roxell roxell force-pushed the migrate-mkdocs-to-zensical branch from 3587afc to 4313b9d Compare March 26, 2026 13:38
@bhcopeland bhcopeland merged commit 6401484 into Linaro:master Mar 27, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants