Skip to main content

A place to put things

ยท 2 min read
1robie
Developer

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 main builds 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.