Skip to content

ConductionNL/conduction-website

conduction-website

The Docusaurus 3 site for conduction.nl. Built on @conduction/docusaurus-preset for brand defaults; site-specific config lives in docusaurus.config.js.

It also serves the connext.conduction.nl and commonground.conduction.nl vanity entry points (a Cloudflare worker — configured in the dashboard, not in this repo — 301-redirects to the /connext and /commonground paths on this site, with locale awareness via Accept-Language).

Vanity-domain redirect target: the worker must redirect to https://www.conduction.nl/connext/ — with the www. and the trailing slash. The site is built with url: https://www.conduction.nl (matching static/CNAME) and trailingSlash: true. Targeting the bare apex (conduction.nl) or the slash-less path (/connext) stacks extra GitHub Pages 301s on every request and, if the worker route also matches www, can produce a redirect loop. If you see a redirect loop on connext.conduction.nl, also check Cloudflare's SSL/TLS mode is Full (not "Flexible") — Flexible + GitHub Pages "Enforce HTTPS" is the classic infinite HTTP↔HTTPS loop.

Local development

npm install --legacy-peer-deps
npm start
# → http://localhost:3000/

Building

npm run build

Output lands in build/. That folder is what gets deployed to GitHub Pages by .github/workflows/documentation.yml, which calls the centralized ConductionNL/.github documentation workflow.

Local Nextcloud integration

Once @conduction/docusaurus-plugin-opencatalogi is built, content can be pulled from the local Nextcloud OpenCatalogi register at build time:

# Start the local Nextcloud (Conduction's docker-compose dev environment)
cd ~/nextcloud-docker-dev && docker compose up -d

# Build the site against localhost:8080
OPENCATALOGI_URL=http://localhost:8080/index.php/apps/openregister/api npm run build

The plugin is wired into docusaurus.config.js but commented out until the package exists.

Deployment

GitHub Pages, served from the build/ output via .github/workflows/documentation.yml. The static/CNAME file claims www.conduction.nl.

Structure

conduction-website/
  academy/             — Blog/academy posts (routeBasePath: /academy)
  blog/                — Legacy blog redirects
  i18n/                — Translation overrides per locale (en/nl)
  data/
    app-downloads.json — Live store/download numbers (refreshed by GitHub Actions)
  src/
    css/site.css       — Site-specific CSS, appended to brand.css
    data/apps-catalog.js — Hand-curated app metadata + downloads merge
    pages/index.mdx    — Conduction landing
    pages/connext.mdx  — ConNext vanity landing
    pages/commonground.mdx — Common Ground vanity landing
    pages/apps/        — App catalogue
    pages/solutions/   — Solution pages
    pages/partners/    — Partner pages
    theme/Navbar/Logo  — Pathname-based brand switch
  static/              — Static assets (favicon, images, CNAME)
  docusaurus.config.js — Site config (uses createConfig from preset)

Languages

Two locales, English default:

  • / → English (canonical)
  • /nl/ → Nederlands

Markdown overrides per locale live in i18n/<locale>/docusaurus-plugin-content-pages/. UI strings come from i18n/<locale>/code.json (generated by npm run write-translations).

History

This repository was migrated from the legacy Docusaurus v2.4.3 site in 2026 by extracting the new preset-based build from design-system/sites/www/.

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages