Repository navigation
fix(website): finish the monorepo website with publish-only deploys, demo playback and checked anchors - #3001
Merged
Merged
Conversation
Enum members, settings categories and the alphaTex syntax terms were anchored with plain HTML ids, which Docusaurus does not collect, so the build reported over a hundred broken anchors that resolve in the browser. They are now rendered through Link, which registers the id. The exporter guide and the 1.7 release notes pointed at anchors that do not exist. Broken anchors now fail the build like broken links.
Publish and Release already build and deploy the website after the web packages, including dry runs. The standalone Website workflow built against whatever the dist-tags served and could deploy a website whose packages were not published yet.
The ui and react packages are part of the monorepo, so the CI and website jobs no longer probe for them before installing and building.
The deploy is live; whether a run deploys is decided by the website and dry run inputs of the publish workflows and by the website environments.
…lent The feature demos built on AlphaTabProvider turned the player on but had no control to start it, so pages loaded the synthesizer and SoundFont without a way to play. Demos about rendering, import, export and layout no longer enable the player; the alphaTex live preview and the range selection demo get a shared play/pause button.
Danielku15
enabled auto-merge (squash)
October 31, 2026 19:18
Danielku15
disabled auto-merge
October 31, 2026 19:22
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.
Note
AI-authored disclosure (
alphatab-ai-authored-v1)Portions of this content were authored by an AI agent. The agent has read
AGENTS.md and the human submitter accepts responsibility for
compliance with the rules in that document.
Issues
Follow-up to #2998 (website in the monorepo). No separate issue: maintainer-driven finalization of the website integration after the first deploy of next.alphatab.net.
Proposed changes
The first deploys from the monorepo worked. This PR removes what was only needed during the migration and fixes what the live site showed.
Deploy only through the publish workflows
Websiteworkflow (website.yml). It built against whatever the npm dist-tags served at that moment, so it could deploy a website whose packages were not published yet. Publish and Release already build and deploy the website after the web packages, dry runs included.WEBSITE_DEPLOY_ENABLEDrepository variable gate, which only protected the first deploys. Whether a run deploys is now decided by thewebsite/dry_runinputs and thewebsite/website-stableenvironments. The variable can be deleted in the repository settings after merging.packages/uiandpackages/reactunconditionally, instead of first probing whether those packages exist. They are permanently part of the repository.Demos without a way to play
AlphaTabProviderhad the player enabled but no control to start it, e.g. the live preview on Load alphaTex inline. The player was switched on everywhere as a temporary audio audit and stayed on, while the move toAlphaTabProviderremoved the spacebar playback. Every such page downloaded the synthesizer and the SoundFont, with no way to play.DemoPlayButton), the same style as the demos that already had one.Broken anchors
<td id>for enum members,<a id>on the alphaTex syntax page), which Docusaurus does not collect. They now render throughLink, which registers the id. The settings table categories also get anchors (#exporter,#core-javascript-specific…).settings#Exporter) and the 1.7 release notes (syntax#parameters--argument-lists).onBrokenAnchors: "throw", so new broken anchors fail the build the way broken links already do.Verification
onBrokenAnchors: "throw", with no broken anchors.Checklist
AI authorship disclosure
(
alphatab-ai-authored-v1) is present at the top of this body, and I havepersonally reviewed every change and can explain each one
Further details
website/