This is the website for ODE. It is built using Docusaurus, a modern static website generator.
The version selector in the navbar (e.g. ODE 1.1.2, Next (unreleased)) refers to ODE product versions, not the version of the docs site itself.
- ODE 1.1.2, 1.1.0, 1.0 — Frozen snapshots of the docs as they were when that version of ODE was released. Content lives in
versioned_docs/version-1.1.2/etc. - Next (unreleased) — The current docs you edit in the
docs/folder. This is what you see when working locally; it becomes the next ODE release docs when you run the versioning command.
When you change files in docs/, switch the dropdown to Next (unreleased) to see your updates. The default “latest” on the site can be set to the current ODE release (e.g. ODE 1.1.2) so most visitors see stable docs.
To freeze the current docs/ for a new release (e.g. ODE 1.1.3), run:
npm run docusaurus docs:version 1.1.3Then update versions.json and the config if you want that version to become the default.
npm install
npm startThis command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
Always test your changes before pushing to avoid broken links and deployment failures.
Run fast validation tests that catch most issues in seconds:
npm run testThis validates:
- All
docIdreferences indocusaurus.config.tspoint to existing files - Internal markdown links are valid
- Configuration paths are correct
For complete validation, run the full build:
npm run buildOr run both tests and build:
npm run validateA pre-push hook automatically runs validation tests before you push. If tests fail, the push will be blocked. This helps catch issues early.
To skip the hook (not recommended):
git push --no-verifyThe website is deployed automatically using GitHub Actions when changes are pushed to the main branch. The deployment process:
- Runs fast validation tests
- Runs full Docusaurus build
- Deploys to GitHub Pages (only if all checks pass)
Broken links or validation errors will prevent deployment.