A place to put things
This site now has one job per section: a portfolio, some general guides, and documentation for each plugin and library โ plus this blog. Every project gets its own docs set with its own version history, so a change to one never reshuffles another.
Why one site instead of one per projectโ
A separate site per plugin means a deploy pipeline per plugin, themes drifting apart, and no way to search across them. Docusaurus supports several docs plugin instances in a single project, each with its own sidebar, navigation and versions, while sharing one theme, one search index and one deploy.
The trade-off: instances cannot link to each other by document id. Cross-project
links have to be absolute paths like /plugins/project-one/. That is a small
price for one codebase.
Versioned per release, not per Minecraft versionโ
Docs are versioned on the plugin's release number. Which Minecraft versions and server software a release supports is a compatibility table on the page instead โ because the documentation rarely differs between 1.20 and 1.21, but it very much differs between plugin 1.x and 2.x.
What is in placeโ
- Local search โ a static index built at build time, no Algolia account and no runtime network calls.
- Automated deploys โ pushing to
mainbuilds and publishes to GitHub Pages. - Broken links fail the build โ
onBrokenLinks: 'throw'means a dead internal link never reaches production.
If you are curious how it fits together, the site architecture page has the details.
Nextโ
More write-ups as I build things. Everything here is also available over RSS.
