Conversation
Replaces this repo's GitBook-based publishing with a versioned MkDocs Material site built by mike. The API reference (constants, functions, LVGL widgets) is now generated directly from /*luadoc*/ annotations in the EdgeTX firmware source (tools/docs_pipeline.py extracts a normalized model from those comment blocks and renders both the Markdown pages and a matching LuaLS .d.lua type-stub from it) instead of being hand-maintained separately, so a source annotation change is the only place a fact needs to change. Hand-authored guide content (Programming, API Overview, Radios) stays hand-authored -- this is a publishing-mechanism change, not a content rewrite; CONTRIBUTING.md documents which parts of the tree are generated vs. hand-edited. Also adds tools/import_legacy_gitbook.py, a one-time-per-version converter that brings each older GitBook-era branch's SUMMARY.md + content into the same MkDocs shell (with a banner marking it historical), and .github/workflows/publish-versioned-docs.yml, which deploys main -> dev and edgetx_2.12 -> latest via mike on push. This is squashed to a single commit on top of this branch's real history (rather than carrying the full history of the fork this was developed on, which had no common ancestor with this repo's own edgetx_2.12 and couldn't be opened as a normal PR) -- see the linked fork's commit history for the full incremental development record if useful during review. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HLXbKn4rY3NihRnqH89jmD
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.
Summary
Replaces the GitBook-based publishing for this repo with a versioned MkDocs Material site built by mike, where the API reference is generated directly from
/*luadoc*/annotations in the EdgeTX firmware source rather than hand-maintained.Live preview (this fork's own GitHub Pages, same content this PR proposes): https://jimb40.github.io/lua-reference-guide/
Why
tools/docs_pipeline.py) parses the firmware's own/*luadoc*/comment blocks into a normalized model and renders the API reference + a matching LuaLS.d.luatype-stub from it, so a source annotation change is the only place a fact needs to change.mikepublishes every version (2.4 through the current release) to onegh-pagesbranch with a version switcher in the header, and the legacy GitBook-era versions are preserved as-is (imported viatools/import_legacy_gitbook.py, converting each old branch'sSUMMARY.md+ content into the same MkDocs shell, with a banner marking them as historical).CONTRIBUTING.mddocumenting which parts of the tree are generated vs. hand-edited.What's included
tools/docs_pipeline.py-- extracts the API model from firmware source, validates it, and renders the Markdown + LuaLS output.tools/import_legacy_gitbook.py-- one-time-per-version conversion of an old GitBook-era branch into the same MkDocs shell.website/md-docs/-- the hand-authored guide content plus pipeline-generated API reference..github/workflows/publish-versioned-docs.yml-- deploysmain->devandedgetx_2.12->latestviamikeon push.mkdocs.yml/mkdocs.dev.yml-- public and internal-review site configs (the dev config un-excludes a couple of pipeline-internal review pages).MIGRATION-PLAN.md/HANDOFF.md/CONTRIBUTING.md-- the design decisions and current state, for context on why things are structured the way they are.About this diff
This repo's
edgetx_2.12and the fork this was developed on (JimB40/lua-reference-guide, sameedgetx_2.12branch name) turned out to have no common git ancestor, so a normal PR between them wasn't possible -- this branch is a single squashed commit on top of this repo's actualedgetx_2.12history instead, replacing its GitBook content wholesale. The fork's own history has the full incremental development record if that's useful during review.Given the size (this replaces the entire publishing model), I'd rather this start a conversation about whether/how to land it than assume a straight merge -- happy to split it up, adjust the approach, or walk through any part of it.
Still open
gh-pagesfor this repo isn't populated yet -- that's a separate step once there's agreement on landing the source.EdgeTX/lua-reference-guide(the live GitBook site appears to be served another way) -- enabling "Deploy from a branch: gh-pages" would be needed for this to actually go live here.luadoc.edgetx.org, already set assite_urlinmkdocs.ymland present as aCNAMEfile on this branch) would need to stay pointed at GitHub Pages once that's enabled.🤖 Generated with Claude Code
https://claude.ai/code/session_01HLXbKn4rY3NihRnqH89jmD