This repo manages the contents of the docs.canton.network website.
Copyright (c) 2026 Canton Network. All rights reserved. SPDX-License-Identifier: Apache-2.0 AND CC-BY-4.0
Every page on docs.canton.network has two feedback buttons in the footer:
Suggest editsRaise issue
Use this to propose a direct change to the page, fix a typo, update a code sample, improve wording, etc.
How it works:
- Click “Suggest edits” in the footer of any page.
- GitHub opens the source file for that exact page.
- Fork the repo, make your edits, and open a Pull Request.
- Canton docs team reviews and merges accepted changes if all checks out.
Use this to report a problem or request new content without editing the source yourself.
How it works:
- Click “Raise Issue” in the footer of any page.
- A GitHub Issue opens Pre-filled with the Path of the page you were on.
- Describe in detail what's wrong or missing along with the source of information to verify and submit.
- The team reviews it and responds.
Either:
OR:
- Node.js 24 (note that
mintlifyis not currently compatible with Node.js 26) - Python 3.14 if you are running any of the machinery for syncing snippets or updating generated docs
Edit pages, navigation, and images in docs-main/, either directly or through
the Mintlify editor. Ordinary content has no separate source copy and is not
rewritten by documentation generation.
Pages with network-dependent sections are generated from page templates in
docs-main/src/. Each template sits at the same relative path as the page it
renders, so docs-main/src/global-synchronizer/deployment/kubernetes-deployment.mdx
renders docs-main/global-synchronizer/deployment/kubernetes-deployment.mdx.
Generated pages start with a Generated from /src/... comment; edit the
template, not the generated page. Templates are hidden pages (hidden: true,
listed under the hidden "Page templates" product in docs.json) so the Mintlify
editor can open them without publishing them in navigation, search, or the sitemap.
Inside a template, wrap network-dependent content in a single tab,
<Tabs> / <Tab title="All networks">, which the Mintlify editor can edit. Use
|token| placeholders for values from the version dashboard data and
<div data-network-only="devnet,testnet"> for network-specific content. Run
npm run generate:network-variable-tabs to render one tab per network into the
generated page. To add a template, copy the page into docs-main/src/, add
hidden: true to its frontmatter, and add it to the "Page templates" product.
Edit generated reference pages through their owning generators, as before.
For generated API lifecycle settings, see the examples and accepted values.
Run npm run validate:network-variable-tabs to check generated pages without
modifying files. Direct edits to a generated page fail validation; edit its
template instead. On pull requests, CI also posts a comment naming the template
to edit and quoting lines that exist only in the generated page. Ordinary page edits and new images do not require
regeneration.
direnv allow
cd docs-main && mintlify devThe site will be available at http://localhost:3000.
mintlify broken-linksExternal snippet extraction from source repositories is documented in config/snippet-config/update-workflows.md. Use that workflow when updating snippet configs under config/snippet-config/ or regenerating checked-in snippets under docs-main/snippets/external/.
Run this whenever you add, remove, or update a snippet source in config/snippet-config/, or when you need to pull in changes from an upstream repo (such as Canton or Splice) that are referenced by existing snippets.
npm run generate:external-snippets -- --list
npm run generate:external-snippets -- canton --source-dir ../cantonThis repository uses a dual-license model:
- Documentation prose (
.mdxfiles, text content): Creative Commons Attribution 4.0 International (CC-BY-4.0) — see LICENSE-DOCS - Code snippets and configuration (embedded code examples, scripts, JSON config): Apache License 2.0 — see LICENSE