Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
7dedecd
Re-organize the documentation frontpage.
dnadales May 30, 2025
baa1e6b
Add an introduction to the Explanation section
dnadales May 30, 2025
55900a3
Add a "Design Goals" section
dnadales May 30, 2025
b73350d
Add a "Interaction with the Ledger Layer" section
dnadales Jun 2, 2025
762d433
Add sections about ticking and forecasting
dnadales Jun 3, 2025
7a66676
Add a section on Cardano Instances for ledger-related types and classes
dnadales Jun 3, 2025
08949d4
Add a section explaining the queries mechanism in Consensus
dnadales Jun 4, 2025
dc24f1b
Minor edits to the Queries section
dnadales Jun 4, 2025
a688388
Replace explanation of the removed `querySupportedVersion`
dnadales Jun 5, 2025
5800fec
Add a section on query serialization
dnadales Jun 5, 2025
d014aae
Add a HOWTO on adding new queries
dnadales Jun 6, 2025
a70eb17
Add a Consensus Protocol Section
dnadales Jun 26, 2025
77fcc20
Add haddocks for `selectView`
dnadales Jul 1, 2025
f50a9bb
Add `LedgerSupportsProtocol` section
dnadales Jul 1, 2025
51272ac
Add `BlockSupportsProtocol` section
dnadales Jul 1, 2025
535afc3
Add haddocks for `selectView`
dnadales Jul 1, 2025
4091b92
Add haddocks to `ChainOrderConfig`
dnadales Jul 1, 2025
c573f06
Add a section on envelope validation (`ValidateEnvelope`)
dnadales Jul 2, 2025
2780f37
Add an explanation about `BlockProtocol`
dnadales Jul 4, 2025
5218d4a
Add a section on the extended ledger state (`ExtLedgerState`)
dnadales Jul 4, 2025
5785878
Add an explanation about `ProtocolHeaderSupportsLedger`
dnadales Jul 4, 2025
559f88e
Add a section on Chain Validity
dnadales Jul 4, 2025
010b374
Minor
dnadales Jul 7, 2025
d4e72cd
Add an explanation about chain ordering
dnadales Jul 8, 2025
c03302e
Correct typo
dnadales Jul 8, 2025
35c863a
Address Nick's comments on the `ChainOrder` section
dnadales Jul 9, 2025
881e6d4
Address Alex's feedback on chain ordering explanation
dnadales Jul 9, 2025
fcb4615
Minor
dnadales Jul 9, 2025
6c1f0e2
Add a section on Chain Selection
dnadales Jul 11, 2025
087ccd4
Add a section on block forging
dnadales Jul 14, 2025
9006ea5
Add a section on the k security parameter
dnadales Jul 14, 2025
9ac679c
Add a section on PBFT
dnadales Jul 14, 2025
50ea594
Add a section on TPraos
dnadales Jul 14, 2025
24b51f9
Add a section about Praos
dnadales Jul 15, 2025
ca3a2b1
Move Genesis.md to genesis-design.md
dnadales Jul 16, 2025
52d8937
Edit Notation, Requirements, Components sections of genesis-design.md
dnadales Jul 16, 2025
02b0114
Edit "How the Components Satisfy the Requirements"
dnadales Jul 16, 2025
6403c82
Add Genesis Design to the sidebar
dnadales Jul 21, 2025
e76e6a9
Edit first batch of component level design sections
dnadales Jul 21, 2025
a761e72
Replace `---` with `&mdash`
dnadales Jul 21, 2025
4403179
Edit "The Genesis Density Disconnection Component without CSJ"
dnadales Jul 21, 2025
c9d9fda
Edit "The Limit on Patience Component" section
dnadales Jul 21, 2025
54cf44e
Edit "The Limit on Patience Component"
dnadales Jul 21, 2025
3968a6c
Incorporate minor edits to the Genesis Design section
dnadales Jul 23, 2025
c1fa8f3
Incorporate second round of minor edits to the Genesis Design section
dnadales Jul 23, 2025
a4e5179
Update stale note about honest peers with candidate fragments ...
dnadales Jul 23, 2025
e7d2b2f
Change best=worst to average=worst
dnadales Jul 23, 2025
67a10f3
Update "The Genesis Density Disconnection Component with CSJ" section
dnadales Jul 23, 2025
67636c2
Update Genesis Design to account for #1598
dnadales Jul 24, 2025
8c2809b
Add a section briefly explaining features of the Genesis protocol
dnadales Jul 25, 2025
c8a5b9c
Add a section on managing updates
dnadales Jul 25, 2025
b3f9112
Add a reference to LoE
dnadales Jul 25, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 32 additions & 24 deletions docs/website/README.md
Original file line number Diff line number Diff line change
@@ -1,64 +1,72 @@
The website for `ouroboros-consensus` is generated using [docusaurus](https://docusaurus.io/). If you want to build and view the generated website see Section [_Building the website_](#building-the-website).
The website for `ouroboros-consensus` is generated using [Docusaurus](https://docusaurus.io/). To build and view the generated website, see [_Building the website_](#building-the-website).

# Website content
# Website Content

The website source pages can be found in the [`contents`](./contents) directory. We divide our pages into two main categories:
The front page is defined in the [`index.js`](src/components/HomepageFeatures/index.js) file. The main sections are configured in [`docusaurus.config.js`](./docusaurus.config.js).

- "About Ouroboros", which contains high-level information about the Consensus protocols that the code in this repository implements. The pages for this category should be placed in the [`contents/about-ouroboros`](./contents/about-ouroboros) directory.
- "For Developers", which contains information relevant for contributors to the Consensus code base. The pages for this category should be placed in the [`contents/for-developers`](./contents/for-developers) directory.
The website's source pages are located in the [`contents`](./contents) directory. In accordance with the [Diátaxis framework](https://diataxis.fr/) for organizing technical documentation, we categorize our pages into four sections:

The pages are written in Markdown format.
- **Explanations** ([`contents/explanation`](./contents/explanation))
- **Tutorials** ([`contents/tutorials`](./contents/tutorials))
- **HOWTOs** ([`contents/howtos`](./contents/howtos))
- **Reference** ([`contents/reference`](./contents/reference))

## Adding a new page
Refer to the [Diátaxis framework](https://diataxis.fr/) for guidance on the type of documentation that belongs in each section.

To add a new page create a Markdown file inside the appropriate directory (either [`contents/about-ouroboros`](./contents/about-ouroboros) or [`contents/for-developers`](./contents/for-developers) depending on the category). Then edit the [`sidebars.js`](./sidebars.js) file and add a reference to the new page in the desired place inside the sidebar item's configuration. For instance, if you add a new page `for-developers/foo.md`, Docusaurus will generate a reference called `for-developers/foo`, which can be used to add an entry to the sidebar as follows:
All pages are written in Markdown format.

## Adding a New Page

To add a new page, create a Markdown file inside the appropriate directory (e.g., [`contents/explanation`](./contents/explanation)), based on the Diátaxis category the page belongs to.

Next, update [`sidebars.js`](./sidebars.js) and add a reference to the new page in the sidebar configuration. For example, if you add `reference/foo.md`, Docusaurus will generate a reference called `reference/foo`, which can be added to the sidebar as follows:

```javascript
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
const sidebars = {

...

for_developers: [
reference: [
{ type: 'category',
label: 'For Developers',
label: 'Reference',
items: [
'for-developers/index',
'for-developers/ComponentDiagram',
'for-developers/foo', // <--- Your new page
'for-developers/ChainSync',
'reference/index',
'reference/foo', // <--- Your new page
...
]

}
]
...
};
```

The order of the page in the `items` list determines the order in which this entry will appear in the sidebar. See [`sidebars.js`](./sidebars.js) for the rationale behind not autogenerating this.
The order of entries in the `items` list determines their placement in the sidebar. Refer to [`sidebars.js`](./sidebars.js) for the rationale behind manual sidebar configuration.

# Building the website

To install the packages required to build the documentation site run:
To install the required packages for the documentation site, run:

```
$ yarn
```

After the necessary packages are installed by the above command, the
documentation site can be built by running:
After installation, build the documentation site by running:

```
$ yarn start
```

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
This starts a local development server and opens a browser window. Most changes are reflected live without needing to restart the server.

## Build

To generate static content:

```
$ yarn build
```

This command generates static content into the `build` directory and can be served using any static contents hosting service.
This command outputs the static content into the build directory, which can be hosted using any static content hosting service.

## Deployment

We deploy the website using a GitHub action. See [`.github/workflows/ci.yml`](../../.github/workflows/ci.yml).
The website is deployed using a GitHub Action. See [`.github/workflows/ci.yml`](../../.github/workflows/ci.yml).
34 changes: 0 additions & 34 deletions docs/website/contents/about-ouroboros/References.md

This file was deleted.

73 changes: 0 additions & 73 deletions docs/website/contents/about-ouroboros/index.md

This file was deleted.

Loading