This repository contains the Specs Book.
Please chat with us on the discussion board.
We welcome your contributions. Read through CONTRIBUTING.md for a general overview of the contributing process for this repository.
We use mise
as a dependency manager for these tools.
Once properly installed, mise
will provide the correct versions for each tool. mise
does not
replace any other installations of these binaries and will only serve these binaries when you are
working inside of the optimism
directory.
Install mise
by following the instructions provided on the
Getting Started page.
mise install
Rust Toolchain
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
mdbook
+ plugins
cargo install mdbook mdbook-katex mdbook-linkcheck mdbook-mermaid
just
installation
brew install just
just serve
doctoc
is used to automatically add a table of contents.
just lint-specs-toc-check
To fix markdown linting errors:
just lint-specs-md-fix
See the markdownlint rule reference and an example config file.
Justification for linting rules in .markdownlint.json:
- line_length (
!strict && stern
): don't trip up on url lines - no-blanks-blockquote: enable multiple consecutive blockquotes separated by white lines
- single-title: enable reusing
<h1>
for content - no-emphasis-as-heading: enable emphasized paragraphs
To lint links:
just lint-links
lychee is used for linting links.