Component documentation for Mycelium, built with MkDocs and Material for MkDocs.
| Target | URL | Trigger |
|---|---|---|
| Netlify (primary) | https://mycelium-gh-docs.netlify.app | deploy.yml on push to main |
| GitHub Pages (mirror) | https://myceliumgh-dev.github.io/Mycelium-Docs/ | same workflow, same push |
The gh-pages mirror renders without icons and screenshots. Generated component pages use root-absolute asset paths (
/images/icons/...) — the shape Grasshopper's exporter produces — which resolve at a domain root but not under the/Mycelium-Docs/subpath Pages serves from. Treat Netlify as the canonical URL. Pointing a custom domain (or a Pages custom domain) at the repo fixes the mirror without touching the exporter.
The marketing site lives in a separate repository: Mycelium-Website.
devis the working branch — land changes here.mainis the published branch — nothing reaches the live site until adev → mainPR is merged.
git push origin dev
gh pr create --base main --head dev
gh pr merge --mergepip install -r requirements.txt
mkdocs serveOr with Docker, serving on http://localhost:8080:
./serve-docker.shThese files are generated — hand edits are overwritten:
docs/components/*.md one page per component
docs/categories/*.md one page per ribbon panel
docs/Components.md overview
docs/toolbar.md the ribbon widget
docs/components_nav.yml nav block to paste into mkdocs.yml
docs/images/icons/*.png component icons
docs/images/components/*.png canvas screenshots
Regeneration reads the installed plug-in off a live Grasshopper canvas, so it needs Rhino 8 with Mycelium installed and a logged-in desktop session (it is unattended, not headless — Rhino opens and quits on its own):
tools/generate_docs.sh # regenerate into the working tree
tools/generate_docs.sh --check # fail if the checked-in docs have driftedIf the component set changed, paste docs/components_nav.yml over the Components: block
in mkdocs.yml, then run python patch_nav.py if the icon markup was lost.
Everything else — index.md, first_steps.md — is hand-written and safe to edit.
On every Mycelium plugin release:
mkdocs.yml→latest_mycelium_versionpin.- Re-run
tools/generate_docs.shif components or their descriptions changed. - Then the
dev → mainPR.
