Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR migrates documentation from GitHub's native rendering to MkDocs Material as the primary documentation framework for the Infix User's Guide. The change aims to provide better publishing options including web versioning and PDF generation while maintaining GitHub Markdown compatibility.
Key changes:
- Introduces MkDocs Material configuration with orange branding theme
- Restructures documentation with new navigation hierarchy and cross-references
- Splits large documents into focused sections (e.g., separating upgrade content from system.md)
- Adds GitHub Actions workflow for automated documentation deployment
Reviewed Changes
Copilot reviewed 35 out of 39 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| mkdocs.yml | Main MkDocs configuration defining site structure, theme, and plugins |
| doc/upgrade.md | New dedicated document for system upgrade procedures (moved from system.md) |
| doc/index.md | New introduction page replacing introduction.md with enhanced structure |
| doc/scripting-*.md | Split scripting content into focused documents for different approaches |
| doc/templates/ | PDF generation templates with custom styling |
| doc/extra.css | Custom CSS for orange branding theme |
| Multiple doc/*.md | Updated cross-references, formatting, and content organization |
| .github/workflows/docs.yml | New CI workflow for automated documentation deployment |
31a4255 to
2ab18ef
Compare
Contributor
Author
Thanks! I'll add the pipx instructions we talked about to the developer's guide, and look for a potential spot to pimp a link to the documentation, before I merge 😃👍 |
cbe24ef to
65ad226
Compare
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This makes it a lot easier to find relevant information on how to perform a system upgrade. Further consolidation may come later. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Note, this change breaks some links on GitHub due to the difference in how MkDocs and GitHub implement "autolinking" and anchors. Since the idea is to make MkDocs our primary documentation framework, breaking links on GitHub in favor of MkDocs is the best compromise. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This will be easier to typset also in the PDF generated version. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Major overhaul and simplification of both language and structure to improve accessibility and UX in new documentation framework. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
The Python tool 'mike'[1] helps manage multiple versions of MkDocs-powered documentation. Only required when building the kernelkit.org site docs! For each new tag, that steps year or month, a new version of is created of the documentation, in a separate sub-directory on the gh-pages branch. Strategy - Version Grouping with Early Publishing: - Extract YEAR.MONTH from tag E.g., v25.06.0-beta1, v25.06.0-rc1, v25.06.0, v25.06.1 → become version 25.06 - From first pre-release onwards: - v25.06.0-beta1 → creates docs version 25.06 - v25.06.0-rc1 → updates docs version 25.06 - v25.06.0 (GA) → updates docs version 25.06 - v25.06.1 (patch) → updates docs version 25.06 - New major/minor series: - v25.07.0-beta1 → creates new docs version 25.07 Benefits: - Users get docs as soon as beta/rc is available - Patches update existing docs (logical since patches rarely change docs significantly) - Clean version grouping by YEAR.MONTH - Mike handles create vs update automatically [1]: https://github.com/jimporter/mike Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Consistency between different sections in the documentation is critical. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Way too long. By splitting it in multiple files we can also user simpler (shorter) headings, which makes navigation easier. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
- Consistent formatting of image formatting - Make container examples easier to see Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
- custom cover page for pdf - Center and resize logo - Place slogan just below logo - Ensure all text on cover page is in matching grey Please note, the mkdocs-to-pdf plugin works, but it has a bug in the enumeration of sections. We may need to fork it to make it work the way users expect. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
And make the ASCII image more generic to ease any branding work we may need to do for certain customers later on. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
We want to discourage people to use sysrepocfg and instead move to use NETCONF, or even better, RESTCONF. When something's missing we should add it to these two official, and standardized, interfaces. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Files in doc/cli/*.md are used in and displayed as help text in the CLI admin-exec level. So we cannot use standard admonitions (yet) since the terminal markdown converter (lowdown) doesn't support the syntax. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Lot of work still remains, but this new disposition should serve as a more representative template. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
In the spirit of my uni English teacher; "simplify, Simplify, SIMPLIFY!" This commit collapses the About and Introduction into a single document, doc/index.md. Also, relocate the System Boot section to doc/boot.md, which we alrady have and covers the initial bootloader part of it. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commits tweaks the material orange theme to use the exact color hue of Jackys footies. To match this and give a slightly better contrast we also change Jacksy border and logo text color to a slightly darker tone. The original logo.svg is retained for reference, the new logo is logo2, which all the .png variants have now been updated to. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Tested successfully on one unsuspecting team member :-) Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adopt MkDocs Material as documentation framework for the Infix User's Guide. As part of the investigation towards #633, multiple frameworks were evaluated and MkDocs was chosen based on:
Great care has been taken to ensure a reader using the GitHub front-end is not detrimentally affected, although some features like image formatting and positioning may look "a bit odd". The primary target for publishing now is MkDocs.
When this PR has been accepted and merged, work can continue on #633 to build a stand-alone version for inclusion in the Infix images for target.
Checklist
Tick relevant boxes, this PR is-a or has-a:
Footnotes
Nothing wrong with ReST, it's a great markup language actually, but we've long since decided on Markdown as the primary language for documentation. ↩