This directory contains a Docusaurus documentation website for both user and developer documentation.
Note: This project uses Yarn
Install the required dependencies:
$ yarn
Start local development server:
$ yarn start
To compile an optimized production build:
$ yarn build
These commands are recommended to run before commiting code. They are run as checks in CI.
yarn spellcheck # Checks spelling
yarn format # Run prettier to fix formatting issues
yarn typecheck # Validate typescript files
How to Fix Spellcheck Errors: You can add unknown words to
dictionary.txt
.
The documentation site is continuously deployed to CloudFlare Pages, triggered on every commit to main
. This workflow defines the deployment process.
The site it comprised of two sub-sites - user documentation (/
) and developer documentation (/developers
). There is intentionally no link from the user docs to the developer docs, to avoid overwhelming users with unnecessary info.
Available at the root (/
), default location for anyone visiting the documentation domain. Source files are under docs/user
Follows the Diátaxis framework for structuring documentation. The site is divided into four types of documentation: tutorials (Getting Started), how-to guides (Guides), explanations (Knowledge Base) and reference (Reference).
These docs are automatically generated from the Forest CLI. See script.
We use the OpenRPC document from Forest to populate the documentation for each method. For this we use @metamask/docusaurus-openrpc
.
Available at /developers
, source code is located in docs/developers
. Comprised of a collection of documents aimed at contributors. May be relevant to power users.
Note: As a general rule of thumb, if it involes reading or writing Rust, it should live under the Developer documentation.
- Admonitions (eg. Info, Warning, etc): https://docusaurus.io/docs/markdown-features/admonitions
- Mermaid Diagrams: https://docusaurus.io/docs/markdown-features/diagrams
- MDX (embedding JavaScript): https://docusaurus.io/docs/markdown-features/react
- Code Blocks: https://docusaurus.io/docs/markdown-features/code-blocks