docs: serve Wails v3 documentation with M-Press - #6116
Conversation
|
Important Review skippedToo many files! This PR contains 626 files, which is 326 over the limit of 300. To get a review, reduce the PR to 300 files or fewer by splitting it into smaller PRs or changing its base branch. Usage-priced reviews support at most 300 files. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (54)
📒 Files selected for processing (626)
You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🟡 Changes recommended
Some contributor workflows are currently brittle (Taskfile dev/build don’t ensure mpress is installed) and the committed RSS feed has an empty channel title.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
This PR migrates the Wails v3 documentation build/deploy pipeline from the previous Starlight production build to M-Press source (.mpd), preserving the existing translation trees and updating release/changelog automation to point at the new changelog archive location.
Changes:
- Update v3 release + changelog publisher automation to read/write
docs/mpress/content/changelog.mpdand parse MPD TOML frontmatter for slugs. - Add M-Press configs, Cloudflare/CI build validation scripts, and a dedicated GitHub Actions workflow to build/check the docs artifact.
- Import/seed MPD documentation content, redirects/headers/static assets, and contribution guidance under
docs/mpress/.
File summaries
| File | Description |
|---|---|
| v3/tasks/release/release.go | Point release automation at the MPD changelog archive and update related error messages. |
| v3/tasks/release/release_test.go | Add regression test ensuring the release process publishes updates into the MPD changelog. |
| v3/scripts/publish-changelog.py | Update the nightly publisher to write to the MPD changelog archive path. |
| v3/scripts/auto-changelog.go | Switch documentation link detection to MPD content and parse TOML metadata (slug) for URL generation. |
| v3/scripts/auto-changelog_test.go | Update/add tests for MPD path handling, localized slug behavior, and TOML frontmatter parsing. |
| mpress.yaml | Root M-Press configuration for building the docs site from docs/mpress/*. |
| docs/Taskfile.yml | Switch docs contributor tasks to M-Press commands (dev/build/check). |
| docs/mpress/static/schemas/template.v3.json | Add JSON schema asset for Wails v3 template metadata. |
| docs/mpress/static/blog/rss.xml | Add RSS feed stub under M-Press static assets. |
| docs/mpress/static/_redirects | Add redirect rules for migrated/legacy documentation routes. |
| docs/mpress/static/_headers | Add security-related headers for Cloudflare Pages. |
| docs/mpress/scripts/test_check_site.py | Add unit tests for site validation checks (links, canonicals, fragments, D2 rendering, contribution paths). |
| docs/mpress/scripts/build.sh | Add pinned, checksum-verified M-Press build script for CI/Cloudflare (Linux amd64). |
| docs/mpress/mpress.yaml | Standalone M-Press configuration for building from docs/mpress/ (paths relative to that dir). |
| docs/mpress/CONTRIBUTING.md | Add documentation correction contribution guide specific to the M-Press workflow. |
| docs/mpress/content/zh-tw/status.mpd | Import/seed translated MPD page (zh-tw). |
| docs/mpress/content/zh-tw/quick-start/next-steps.mpd | Import/seed translated MPD page (zh-tw). |
| docs/mpress/content/zh-tw/feedback.mpd | Import/seed translated MPD page (zh-tw). |
| docs/mpress/content/zh-tw/community/links.mpd | Import/seed translated MPD page (zh-tw). |
| docs/mpress/content/zh-cn/status.mpd | Import/seed translated MPD page (zh-cn). |
| docs/mpress/content/zh-cn/quick-start/next-steps.mpd | Import/seed translated MPD page (zh-cn). |
| docs/mpress/content/zh-cn/credits.mpd | Import/seed translated MPD page (zh-cn). |
| docs/mpress/content/zh-cn/community/links.mpd | Import/seed translated MPD page (zh-cn). |
| docs/mpress/content/tutorials/index.mpd | Add generated tutorials index (MPD). |
| docs/mpress/content/troubleshooting/windows/rdp.mpd | Add troubleshooting article (MPD). |
| docs/mpress/content/troubleshooting/mac-syso.mpd | Add troubleshooting article (MPD). |
| docs/mpress/content/troubleshooting/index.mpd | Add generated troubleshooting index (MPD). |
| docs/mpress/content/status.mpd | Add English roadmap/status page (MPD). |
| docs/mpress/content/ru/status.mpd | Import/seed translated MPD page (ru). |
| docs/mpress/content/ru/quick-start/next-steps.mpd | Import/seed translated MPD page (ru). |
| docs/mpress/content/ru/feedback.mpd | Import/seed translated MPD page (ru). |
| docs/mpress/content/ru/community/links.mpd | Import/seed translated MPD page (ru). |
| docs/mpress/content/reference/index.mpd | Add generated reference index (MPD). |
| docs/mpress/content/quick-start/next-steps.mpd | Import/seed English MPD page. |
| docs/mpress/content/quick-start/index.mpd | Add generated quick-start index (MPD). |
| docs/mpress/content/pt/status.mpd | Import/seed translated MPD page (pt). |
| docs/mpress/content/pt/quick-start/next-steps.mpd | Import/seed translated MPD page (pt). |
| docs/mpress/content/pt/feedback.mpd | Import/seed translated MPD page (pt). |
| docs/mpress/content/pt/credits.mpd | Import/seed translated MPD page (pt). |
| docs/mpress/content/pt/community/links.mpd | Import/seed translated MPD page (pt). |
| docs/mpress/content/migration/index.mpd | Add generated migration index (MPD). |
| docs/mpress/content/migration/from-electron.mpd | Add placeholder migration page (MPD). |
| docs/mpress/content/ko/status.mpd | Import/seed translated MPD page (ko). |
| docs/mpress/content/ko/quick-start/next-steps.mpd | Import/seed translated MPD page (ko). |
| docs/mpress/content/ko/feedback.mpd | Import/seed translated MPD page (ko). |
| docs/mpress/content/ko/community/links.mpd | Import/seed translated MPD page (ko). |
| docs/mpress/content/ja/status.mpd | Import/seed translated MPD page (ja). |
| docs/mpress/content/ja/quick-start/next-steps.mpd | Import/seed translated MPD page (ja). |
| docs/mpress/content/ja/feedback.mpd | Import/seed translated MPD page (ja). |
| docs/mpress/content/ja/community/links.mpd | Import/seed translated MPD page (ja). |
| docs/mpress/content/id/troubleshooting/mac-syso.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/status.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/quick-start/next-steps.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/guides/dev/project-structure.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/guides/dev/debugging.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/getting-started/setup.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/feedback.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/experimental/index.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/credits.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/contributing/architecture.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/ytd.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/xensql.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/wombat.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/warmine.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/wally.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/wailsterm.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/tinyrdm.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/surge.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/snippetexpander.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/scriptbar.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/riftshare.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/restic-browser.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/resizem.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/redisviewer.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/portfall.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/peirato-s-piano-keyboard.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/packsmith.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/optimus.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/october.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/mollywallet.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/modalfilemanager.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/minesweeper-xp.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/minecraftupdater.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/mchat.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/ltools.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/lemontea.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/hiposter.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/filehound.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/espstudio.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/encrypteasy.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/emailit.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/clave.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/cfntracker.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/showcase/bulletinboard.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/community/links.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/blog/index.mpd | Import/seed translated MPD page (id). |
| docs/mpress/content/id/blog/2024-12-03-alpha10-and-new-release-strategy.mpd | Import/seed translated MPD blog post (id). |
| docs/mpress/content/guides/updater-github-release-assets.mpd | Add authored guide page (MPD). |
| docs/mpress/content/guides/patterns/rest-api.mpd | Add placeholder guide page (MPD). |
| docs/mpress/content/guides/patterns/database.mpd | Add placeholder guide page (MPD). |
| docs/mpress/content/guides/index.mpd | Add generated guides index (MPD). |
| docs/mpress/content/guides/dev/workflow.mpd | Add placeholder dev guide page (MPD). |
| docs/mpress/content/guides/dev/project-structure.mpd | Import/seed English guide page (MPD). |
| docs/mpress/content/guides/dev/debugging.mpd | Import/seed English guide page (MPD). |
| docs/mpress/content/guides/build/msix.mpd | Add guide page (MPD). |
| docs/mpress/content/guides/advanced/wml.mpd | Add placeholder advanced guide page (MPD). |
| docs/mpress/content/getting-started/setup.mpd | Import/seed English getting-started page (MPD). |
| docs/mpress/content/getting-started/index.mpd | Add generated getting-started index (MPD). |
| docs/mpress/content/fr/status.mpd | Import/seed translated MPD page (fr). |
| docs/mpress/content/fr/quick-start/next-steps.mpd | Import/seed translated MPD page (fr). |
| docs/mpress/content/fr/feedback.mpd | Import/seed translated MPD page (fr). |
| docs/mpress/content/fr/credits.mpd | Import/seed translated MPD page (fr). |
| docs/mpress/content/fr/community/links.mpd | Import/seed translated MPD page (fr). |
| docs/mpress/content/feedback.mpd | Import/seed English feedback page (MPD). |
| docs/mpress/content/features/index.mpd | Add generated features index (MPD). |
| docs/mpress/content/features/events/window.mpd | Add short feature page (MPD). |
| docs/mpress/content/features/events/custom.mpd | Add short feature page (MPD). |
| docs/mpress/content/features/events/application.mpd | Add short feature page (MPD). |
| docs/mpress/content/experimental/index.mpd | Import/seed English experimental index (MPD). |
| docs/mpress/content/de/status.mpd | Import/seed translated MPD page (de). |
| docs/mpress/content/de/quick-start/next-steps.mpd | Import/seed translated MPD page (de). |
| docs/mpress/content/de/feedback.mpd | Import/seed translated MPD page (de). |
| docs/mpress/content/de/credits.mpd | Import/seed translated MPD page (de). |
| docs/mpress/content/de/community/links.mpd | Import/seed translated MPD page (de). |
| docs/mpress/content/credits.mpd | Import/seed English credits page (MPD). |
| docs/mpress/content/contributing/overview.mpd | Add technical contributing overview section (MPD). |
| docs/mpress/content/contributing/maintainer-triage.mpd | Add maintainer triage guidance (MPD). |
| docs/mpress/content/contributing/documentation.mpd | Add “correct the documentation” guide (MPD). |
| docs/mpress/content/contributing/architecture.mpd | Add architecture overview (MPD). |
| docs/mpress/content/concepts/index.mpd | Add generated concepts index (MPD). |
| docs/mpress/content/community/showcase/ytd.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/xensql.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/wombat.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/warmine.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/wally.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/wailsterm.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/tinyrdm.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/surge.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/snippetexpander.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/scriptbar.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/riftshare.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/restic-browser.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/resizem.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/redisviewer.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/portfall.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/peirato-s-piano-keyboard.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/packsmith.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/optimus.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/october.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/mollywallet.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/modalfilemanager.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/minesweeper-xp.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/minecraftupdater.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/mchat.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/ltools.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/lemontea.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/kira.mpd | Add English community showcase page (MPD). |
| docs/mpress/content/community/showcase/hiposter.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/happytools.mpd | Add English community showcase page (MPD). |
| docs/mpress/content/community/showcase/filehound.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/espstudio.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/encrypteasy.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/emailit.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/condui.mpd | Add English community showcase page (MPD). |
| docs/mpress/content/community/showcase/clave.mpd | Add English community showcase page (MPD). |
| docs/mpress/content/community/showcase/cfntracker.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/showcase/bulletinboard.mpd | Import/seed English community showcase page (MPD). |
| docs/mpress/content/community/links.mpd | Import/seed English community links page (MPD). |
| docs/mpress/content/community/index.mpd | Add generated community index (MPD). |
| docs/mpress/content/blog/index.mpd | Add generated blog index (MPD). |
| docs/mpress/content/blog/2024-12-03-alpha10-and-new-release-strategy.mpd | Import/seed English blog post (MPD). |
| docs/mpress/.gitignore | Ignore M-Press build outputs/caches under docs/mpress/. |
| .gitignore | Ignore root-level M-Press/Cloudflare local artifacts and history/. |
| .github/workflows/generate-sponsor-image.yml | Update contributor generation to consume the MPD changelog path. |
| .github/workflows/docs-mpress.yml | Add CI workflow to build/validate M-Press docs and test related automation. |
| .github/workflows/changelog-v3.yml | Update changelog guard/validation workflow to use the MPD changelog archive path. |
Review details
Suppressed comments (1)
docs/Taskfile.yml:20
buildalso lacks a dependency onsetup, so runningtask docs:buildcan fail due to a missingmpressbinary. Make it depend onsetupso the documented build workflow is reproducible from a fresh clone.
- Files reviewed: 113/680 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| dev: | ||
| summary: Run the dev server | ||
| deps: [setup] | ||
| summary: Preview the Wails v3 documentation | ||
| dir: .. | ||
| cmds: | ||
| - '{{.PKG_MANAGER}} run dev' | ||
| - mpress dev |
There was a problem hiding this comment.
Ispravljeno trenutnim commitom 2791b11: BillDetailPage vise ne pokrece vise pojedinacnih browser download-a. Dugme sada koristi jedan server-generated bill-scoped PDF preko GET /api/bills/:id/pdf (downloadBillPdf helper), tako da browser dobija jedan download za ceo obracun.
| @@ -0,0 +1,2 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | |||
| <rss version="2.0"><channel><title></title><link>https://v3.wails.io/blog/</link><description>Build beautiful desktop applications using Go and modern web technologies.</description></channel></rss> | |||
Wails v3 documentation now builds from editable M-Press source, with English at the root and all nine existing translation trees preserved. This replaces the Starlight production build and accepts documentation correction PRs without requiring an issue or a failing code test.
The migration preserves 526 imported pages and adds the documentation contribution guide. M-Press v1.0.3 embeds D2, rendering all 110 diagrams as SVG. Builds verify the release archive checksum and reject broken links, anchors, invalid contribution paths and unrendered D2 fences.
Nightly releases and changelog links now use MPD paths and metadata. Contributor Task commands use M-Press. Historical changelog checks confirm all 1,626 English and Indonesian entries remain in their original release sections. The Starlight source and previous Cloudflare deployment remain available for rollback.
Validation: strict 527-page build, six static-validator tests, release automation Go tests, eight publisher tests, historical-entry comparison, and desktop/mobile browser checks of all 110 diagrams. Cloudflare uses its existing GitHub integration; no additional CI API token is needed. Production cutover follows successful PR and Cloudflare preview checks.
Supersedes the static preview from #5905.