This is the documentation for the NEXUS Framework.
Statically built with Docusaurus!
Feel free to make pull requests. Every little bit helps!
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
You will need to install Node.js, and navigate to the cloned repository, issuing the
npm ci command to ensure all prerequisites are installed.
Using the npm run start command will build an live hosting environment which will react to changes in the source files. This is typically how you will want to work on changes so that you can see the output in real-time. If you've built the output already (npm run build) you can also statically host that content via npm run serve.
The documentation is versioned. Editing anything in docs/ changes the in-development docs served at /docs/dev/; released versions are frozen snapshots under versioned_docs/ and are edited there directly.
When a release ships, snapshot the current docs:
npm run docusaurus docs:version 0.3.2That copies docs/ into versioned_docs/version-0.3.2/, writes versioned_sidebars/version-0.3.2-sidebars.json, and prepends the version to versions.json. The newest entry in versions.json automatically becomes the default served at /docs/, so no configuration needs editing.
Commit all three — versioned_docs/, versioned_sidebars/, and versions.json — or the version will not exist in a clean build.
Docusaurus has no command to delete a version — docs:version is the only versioning command it provides. Removal is three manual steps, all of which must be done together:
- Delete the snapshot folder
versioned_docs/version-<version>/ - Delete the sidebar file
versioned_sidebars/version-<version>-sidebars.json - Remove the
"<version>"entry fromversions.json
To re-cut a version (discard the snapshot and retake it from the current docs/), do the three removal steps and then run docs:version again. For 0.3.2:
rm -rf versioned_docs/version-0.3.2 versioned_sidebars/version-0.3.2-sidebars.json
# then remove "0.3.2" from versions.json
npm run docusaurus docs:version 0.3.2On PowerShell, the first line is:
Remove-Item -Recurse -Force versioned_docs/version-0.3.2, versioned_sidebars/version-0.3.2-sidebars.jsonRemoving the only archived version leaves versions.json as [], which is a valid state — /docs/ then serves the in-development docs directly and /docs/dev/ is no longer generated. No configuration changes are needed either way.
Re-cutting is cheap while a version has not been deployed. Once it is live, its URLs are public and the archive is what readers on that release depend on, so prefer editing the snapshot in place over re-cutting it.
- Snapshots are text-only. Images live in
static/assets/images/docs/and are referenced by absolute URL, so every version shares one copy rather than duplicating them per release. - Import components with
@site(@site/src/components/TypeDetails), never a relative path. Snapshotting shifts pages one directory deeper, which breaks relative imports. - Only cut a version that has actually been released — a snapshot is permanent and freezes any mistakes in it alongside the content.
docs:version:communityalso exists but is unused; thecommunity/docs are intentionally not versioned.
We utilize Cloudflare Pages to generate the documentation based on the repository and upload it directly host it via a worker.