Source for the SENAITE website, built with Docusaurus v3.
Published output is pushed to
senaite/senaite.github.io
on every commit to main.
- Node.js 20 or later
- npm (bundled with Node.js)
Install dependencies:
npm installStart the development server:
npm startThe site is available at http://localhost:3000. Most changes are reflected
immediately without a full page reload.
Generate the static site:
npm run buildOutput is written to build/. Serve it locally to verify the production
build:
npm run servesenaite.com/
├── docs/ Documentation pages (Markdown)
│ ├── 01-installation.md Bare-metal installation guide
│ ├── 02-docker.md Docker installation guide
│ └── 03-upgrade.md Upgrade guide
├── src/
│ ├── css/
│ │ └── custom.css Global styles and brand tokens
│ └── pages/
│ ├── index.js Homepage
│ ├── features.js Features overview
│ └── enterprise.js Professional services / providers
├── static/
│ ├── img/ Images and SVG illustrations
│ └── logos/ Customer and partner logos
├── docusaurus.config.js Site configuration
└── sidebars.js Documentation sidebar structure
Deployment is handled automatically by GitHub Actions on every push to
main. The workflow builds the site and pushes the build/ directory to
senaite/senaite.github.io,
which serves the live site.
See .github/workflows/deploy.yml for the full workflow definition.
The workflow authenticates to senaite/senaite.github.io using a GitHub
Personal Access Token (PAT). This is a one-time setup.
Generate a classic PAT at https://github.com/settings/tokens:
- Note:
senaite.com deploy - Scope:
repo(full control of private repositories)
Add the token as a repository secret on senaite/senaite.com:
- Name:
PERSONAL_TOKEN - Value: the token string
Once the secret is in place, every push to main triggers a build and
publishes the result.
Content is published under the Creative Commons Attribution 4.0 licence. Code is MIT licenced.