diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index c288129..fa96e40 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -30,6 +30,18 @@ jobs: repository: fairpm/tsc path: docs/external/tsc/ + # - name: Checkout FAIR Protocol + # uses: actions/checkout@v4 + # with: + # repository: fairpm/fair-protocol + # path: docs/external/fair-protocol/ + + - name: Checkout Fair Beacon + uses: actions/checkout@v4 + with: + repository: fairpm/fair-beacon + path: docs/external/fair-beacon/ + - uses: actions/setup-node@v4 with: node-version: 20 @@ -42,7 +54,8 @@ jobs: - name: Build website run: npm run build env: - DOCS_EXTERNAL: tsc + # DOCS_EXTERNAL: tsc,fair-protocol,fair-beacon + DOCS_EXTERNAL: tsc,fair-beacon - name: Deploy to GitHub Pages uses: peaceiris/actions-gh-pages@v4 diff --git a/.github/workflows/test-deploy.yml b/.github/workflows/test-deploy.yml index a1c2ea2..da24bc7 100644 --- a/.github/workflows/test-deploy.yml +++ b/.github/workflows/test-deploy.yml @@ -34,6 +34,18 @@ jobs: repository: fairpm/tsc path: docs/external/tsc/ + # - name: Checkout FAIR Protocol + # uses: actions/checkout@v4 + # with: + # repository: fairpm/fair-protocol + # path: docs/external/fair-protocol/ + + - name: Checkout Fair Beacon + uses: actions/checkout@v4 + with: + repository: fairpm/fair-beacon + path: docs/external/fair-beacon/ + - name: Debug checked out files run: | echo "GITHUB_WORKSPACE=$GITHUB_WORKSPACE" @@ -47,6 +59,9 @@ jobs: find "$GITHUB_WORKSPACE/docs/external" -maxdepth 5 -type d -print || true echo "Expected folder:" ls -la "$GITHUB_WORKSPACE/docs/external/tsc/faqs" || true + ls -la "$GITHUB_WORKSPACE/docs/external/fair-protocol/" || true + ls -la "$GITHUB_WORKSPACE/docs/external/fair-beacon/" || true + ls -la "$GITHUB_WORKSPACE/docs/external/" || true working-directory: . - uses: actions/setup-node@v4 @@ -61,4 +76,5 @@ jobs: - name: Build website run: npm run build env: - DOCS_EXTERNAL: tsc + DOCS_EXTERNAL: tsc,fair-beacon + # DOCS_EXTERNAL: tsc,fair-protocol,fair-beacon diff --git a/docs/docs/about/index.mdx b/docs/docs/about/index.mdx deleted file mode 100644 index 088d27d..0000000 --- a/docs/docs/about/index.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -sidebar_position: 10 ---- - -# About FAIR project - -This page is about the project and inside docs, so it has sidebar. \ No newline at end of file diff --git a/docs/docs/intro.mdx b/docs/docs/intro.mdx deleted file mode 100644 index 5083eda..0000000 --- a/docs/docs/intro.mdx +++ /dev/null @@ -1,47 +0,0 @@ ---- -sidebar_position: 50 ---- - -# Tutorial Intro - -Let's discover **Docusaurus in less than 5 minutes**. - -## Getting Started - -Get started by **creating a new site**. - -Or **try Docusaurus immediately** with **[docusaurus.new](https://docusaurus.new)**. - -### What you'll need - -- [Node.js](https://nodejs.org/en/download/) version 20.0 or above: - - When installing Node.js, you are recommended to check all checkboxes related to dependencies. - -## Generate a new site - -Generate a new Docusaurus site using the **classic template**. - -The classic template will automatically be added to your project after you run the command: - -```bash -npm init docusaurus@latest my-website classic -``` - -You can type this command into Command Prompt, Powershell, Terminal, or any other integrated terminal of your code editor. - -The command also installs all necessary dependencies you need to run Docusaurus. - -## Start your site - -Run the development server: - -```bash -cd my-website -npm run start -``` - -The `cd` command changes the directory you're working with. In order to work with your newly created Docusaurus site, you'll need to navigate the terminal there. - -The `npm run start` command builds your website locally and serves it through a development server, ready for you to view at http://localhost:3000/. - -Open `docs/intro.md` (this page) and edit some lines: the site **reloads automatically** and displays your changes. diff --git a/docs/docs/tutorial-basics/_category_.json b/docs/docs/tutorial-basics/_category_.json deleted file mode 100644 index 2e6db55..0000000 --- a/docs/docs/tutorial-basics/_category_.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "label": "Tutorial - Basics", - "position": 2, - "link": { - "type": "generated-index", - "description": "5 minutes to learn the most important Docusaurus concepts." - } -} diff --git a/docs/docs/tutorial-basics/congratulations.mdx b/docs/docs/tutorial-basics/congratulations.mdx deleted file mode 100644 index 2917c39..0000000 --- a/docs/docs/tutorial-basics/congratulations.mdx +++ /dev/null @@ -1,23 +0,0 @@ ---- -sidebar_position: 6 ---- - -# Congratulations! - -You have just learned the **basics of Docusaurus** and made some changes to the **initial template**. - -Docusaurus has **much more to offer**! - -Have **5 more minutes**? Take a look at **[versioning](../tutorial-extras/manage-docs-versions.mdx)** and **[i18n](../tutorial-extras/translate-your-site.mdx)**. - -Anything **unclear** or **buggy** in this tutorial? [Please report it!](https://github.com/facebook/docusaurus/discussions/4610) - -## What's next? - -- Read the [official documentation](https://docusaurus.io/) -- Modify your site configuration with [`docusaurus.config.js`](https://docusaurus.io/docs/api/docusaurus-config) -- Add navbar and footer items with [`themeConfig`](https://docusaurus.io/docs/api/themes/configuration) -- Add a custom [Design and Layout](https://docusaurus.io/docs/styling-layout) -- Add a [search bar](https://docusaurus.io/docs/search) -- Find inspirations in the [Docusaurus showcase](https://docusaurus.io/showcase) -- Get involved in the [Docusaurus Community](https://docusaurus.io/community/support) diff --git a/docs/docs/tutorial-basics/create-a-blog-post.mdx b/docs/docs/tutorial-basics/create-a-blog-post.mdx deleted file mode 100644 index 550ae17..0000000 --- a/docs/docs/tutorial-basics/create-a-blog-post.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -sidebar_position: 3 ---- - -# Create a Blog Post - -Docusaurus creates a **page for each blog post**, but also a **blog index page**, a **tag system**, an **RSS** feed... - -## Create your first Post - -Create a file at `blog/2021-02-28-greetings.md`: - -```md title="blog/2021-02-28-greetings.md" ---- -slug: greetings -title: Greetings! -authors: - - name: Joel Marcey - title: Co-creator of Docusaurus 1 - url: https://github.com/JoelMarcey - image_url: https://github.com/JoelMarcey.png - - name: Sébastien Lorber - title: Docusaurus maintainer - url: https://sebastienlorber.com - image_url: https://github.com/slorber.png -tags: [greetings] ---- - -Congratulations, you have made your first post! - -Feel free to play around and edit this post as much as you like. -``` - -A new blog post is now available at [http://localhost:3000/blog/greetings](http://localhost:3000/blog/greetings). diff --git a/docs/docs/tutorial-basics/create-a-document.mdx b/docs/docs/tutorial-basics/create-a-document.mdx deleted file mode 100644 index c22fe29..0000000 --- a/docs/docs/tutorial-basics/create-a-document.mdx +++ /dev/null @@ -1,57 +0,0 @@ ---- -sidebar_position: 2 ---- - -# Create a Document - -Documents are **groups of pages** connected through: - -- a **sidebar** -- **previous/next navigation** -- **versioning** - -## Create your first Doc - -Create a Markdown file at `docs/hello.md`: - -```md title="docs/hello.md" -# Hello - -This is my **first Docusaurus document**! -``` - -A new document is now available at [http://localhost:3000/docs/hello](http://localhost:3000/docs/hello). - -## Configure the Sidebar - -Docusaurus automatically **creates a sidebar** from the `docs` folder. - -Add metadata to customize the sidebar label and position: - -```md title="docs/hello.md" {1-4} ---- -sidebar_label: 'Hi!' -sidebar_position: 3 ---- - -# Hello - -This is my **first Docusaurus document**! -``` - -It is also possible to create your sidebar explicitly in `sidebars.js`: - -```js title="sidebars.js" -export default { - tutorialSidebar: [ - 'intro', - // highlight-next-line - 'hello', - { - type: 'category', - label: 'Tutorial', - items: ['tutorial-basics/create-a-document'], - }, - ], -}; -``` diff --git a/docs/docs/tutorial-basics/create-a-page.mdx b/docs/docs/tutorial-basics/create-a-page.mdx deleted file mode 100644 index 20e2ac3..0000000 --- a/docs/docs/tutorial-basics/create-a-page.mdx +++ /dev/null @@ -1,43 +0,0 @@ ---- -sidebar_position: 1 ---- - -# Create a Page - -Add **Markdown or React** files to `src/pages` to create a **standalone page**: - -- `src/pages/index.js` → `localhost:3000/` -- `src/pages/foo.md` → `localhost:3000/foo` -- `src/pages/foo/bar.js` → `localhost:3000/foo/bar` - -## Create your first React Page - -Create a file at `src/pages/my-react-page.js`: - -```jsx title="src/pages/my-react-page.js" -import React from 'react'; -import Layout from '@theme/Layout'; - -export default function MyReactPage() { - return ( - -

My React page

-

This is a React page

-
- ); -} -``` - -A new page is now available at [http://localhost:3000/my-react-page](http://localhost:3000/my-react-page). - -## Create your first Markdown Page - -Create a file at `src/pages/my-markdown-page.md`: - -```mdx title="src/pages/my-markdown-page.md" -# My Markdown page - -This is a Markdown page -``` - -A new page is now available at [http://localhost:3000/my-markdown-page](http://localhost:3000/my-markdown-page). diff --git a/docs/docs/tutorial-basics/deploy-your-site.mdx b/docs/docs/tutorial-basics/deploy-your-site.mdx deleted file mode 100644 index 1c50ee0..0000000 --- a/docs/docs/tutorial-basics/deploy-your-site.mdx +++ /dev/null @@ -1,31 +0,0 @@ ---- -sidebar_position: 5 ---- - -# Deploy your site - -Docusaurus is a **static-site-generator** (also called **[Jamstack](https://jamstack.org/)**). - -It builds your site as simple **static HTML, JavaScript and CSS files**. - -## Build your site - -Build your site **for production**: - -```bash -npm run build -``` - -The static files are generated in the `build` folder. - -## Deploy your site - -Test your production build locally: - -```bash -npm run serve -``` - -The `build` folder is now served at [http://localhost:3000/](http://localhost:3000/). - -You can now deploy the `build` folder **almost anywhere** easily, **for free** or very small cost (read the **[Deployment Guide](https://docusaurus.io/docs/deployment)**). diff --git a/docs/docs/tutorial-basics/markdown-features.mdx b/docs/docs/tutorial-basics/markdown-features.mdx deleted file mode 100644 index e739ec4..0000000 --- a/docs/docs/tutorial-basics/markdown-features.mdx +++ /dev/null @@ -1,168 +0,0 @@ ---- -sidebar_position: 4 ---- - -# Markdown Features - -Docusaurus supports **[Markdown](https://daringfireball.net/projects/markdown/syntax)** and a few **additional features**. - -## Front Matter - -Markdown documents have metadata at the top called [Front Matter](https://jekyllrb.com/docs/front-matter/): - -```text title="my-doc.md" -// highlight-start ---- -id: my-doc-id -title: My document title -description: My document description -slug: /my-custom-url ---- -// highlight-end - -Markdown content -``` - -## Headings {/* #my-heading-id */} - -Markdown headings are supported using the standard “#” syntax and are automatically added to the table of contents. The number of `#` corresponds to the heading level. - -```md -## Headings - -My text -``` - -### Heading Ids {/* #my-custom-id */} - -Add `{/* #my-custom-id */}` after the heading text to assign it an explicit anchor id, used for linking. - -```md -### Heading Ids {/_ #my-custom-id _/} -``` - -## Links - -Regular Markdown links are supported, using url paths or relative file paths. - -```md -Let's see how to [Create a page](/create-a-page). -``` - -```md -Let's see how to [Create a page](./create-a-page.mdx). -``` - -**Result:** Let's see how to [Create a page](./create-a-page.mdx). - -## Images - -Regular Markdown images are supported. - -You can use absolute paths to reference images in the static directory (`static/img/docusaurus.png`): - -```md -![Docusaurus logo](/img/docusaurus.png) -``` - -![Docusaurus logo](/img/docusaurus.png) - -You can reference images relative to the current file as well. This is particularly useful to colocate images close to the Markdown files using them: - -```md -![Docusaurus logo](./img/docusaurus.png) -``` - -## Code Blocks - -Markdown code blocks are supported with Syntax highlighting. - -````md -```jsx title="src/components/HelloDocusaurus.js" -function HelloDocusaurus() { - return

Hello, Docusaurus!

; -} -``` -```` - -```jsx title="src/components/HelloDocusaurus.js" -function HelloDocusaurus() { - return

Hello, Docusaurus!

; -} -``` - -## Admonitions - -Docusaurus has a special syntax to create admonitions and callouts: - -```md -:::tip[My tip] - -Use this awesome feature option - -::: - -:::danger[Take care] - -This action is dangerous - -::: -``` - -:::tip[My tip] - -Use this awesome feature option - -::: - -:::danger[Take care] - -This action is dangerous - -::: - -## MDX and React Components - -[MDX](https://mdxjs.com/) can make your documentation more **interactive** and allows using any **React components inside Markdown**: - -```jsx -export const Highlight = ({children, color}) => ( - { - alert(`You clicked the color ${color} with label ${children}`) - }}> - {children} - -); - -This is Docusaurus green ! - -This is Facebook blue ! -``` - -export const Highlight = ({children, color}) => ( - { - alert(`You clicked the color ${color} with label ${children}`); - }}> - {children} - -); - -This is Docusaurus green ! - -This is Facebook blue ! diff --git a/docs/docs/tutorial-extras/_category_.json b/docs/docs/tutorial-extras/_category_.json deleted file mode 100644 index a8ffcc1..0000000 --- a/docs/docs/tutorial-extras/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "Tutorial - Extras", - "position": 3, - "link": { - "type": "generated-index" - } -} diff --git a/docs/docs/tutorial-extras/img/docsVersionDropdown.png b/docs/docs/tutorial-extras/img/docsVersionDropdown.png deleted file mode 100644 index 97e4164..0000000 Binary files a/docs/docs/tutorial-extras/img/docsVersionDropdown.png and /dev/null differ diff --git a/docs/docs/tutorial-extras/img/localeDropdown.png b/docs/docs/tutorial-extras/img/localeDropdown.png deleted file mode 100644 index e257edc..0000000 Binary files a/docs/docs/tutorial-extras/img/localeDropdown.png and /dev/null differ diff --git a/docs/docs/tutorial-extras/manage-docs-versions.mdx b/docs/docs/tutorial-extras/manage-docs-versions.mdx deleted file mode 100644 index ccda0b9..0000000 --- a/docs/docs/tutorial-extras/manage-docs-versions.mdx +++ /dev/null @@ -1,55 +0,0 @@ ---- -sidebar_position: 1 ---- - -# Manage Docs Versions - -Docusaurus can manage multiple versions of your docs. - -## Create a docs version - -Release a version 1.0 of your project: - -```bash -npm run docusaurus docs:version 1.0 -``` - -The `docs` folder is copied into `versioned_docs/version-1.0` and `versions.json` is created. - -Your docs now have 2 versions: - -- `1.0` at `http://localhost:3000/docs/` for the version 1.0 docs -- `current` at `http://localhost:3000/docs/next/` for the **upcoming, unreleased docs** - -## Add a Version Dropdown - -To navigate seamlessly across versions, add a version dropdown. - -Modify the `docusaurus.config.js` file: - -```js title="docusaurus.config.js" -export default { - themeConfig: { - navbar: { - items: [ - // highlight-start - { - type: 'docsVersionDropdown', - }, - // highlight-end - ], - }, - }, -}; -``` - -The docs version dropdown appears in your navbar: - -![Docs Version Dropdown](./img/docsVersionDropdown.png) - -## Update an existing version - -It is possible to edit versioned docs in their respective folder: - -- `versioned_docs/version-1.0/hello.md` updates `http://localhost:3000/docs/hello` -- `docs/hello.md` updates `http://localhost:3000/docs/next/hello` diff --git a/docs/docs/tutorial-extras/translate-your-site.mdx b/docs/docs/tutorial-extras/translate-your-site.mdx deleted file mode 100644 index b5a644a..0000000 --- a/docs/docs/tutorial-extras/translate-your-site.mdx +++ /dev/null @@ -1,88 +0,0 @@ ---- -sidebar_position: 2 ---- - -# Translate your site - -Let's translate `docs/intro.md` to French. - -## Configure i18n - -Modify `docusaurus.config.js` to add support for the `fr` locale: - -```js title="docusaurus.config.js" -export default { - i18n: { - defaultLocale: 'en', - locales: ['en', 'fr'], - }, -}; -``` - -## Translate a doc - -Copy the `docs/intro.md` file to the `i18n/fr` folder: - -```bash -mkdir -p i18n/fr/docusaurus-plugin-content-docs/current/ - -cp docs/intro.md i18n/fr/docusaurus-plugin-content-docs/current/intro.md -``` - -Translate `i18n/fr/docusaurus-plugin-content-docs/current/intro.md` in French. - -## Start your localized site - -Start your site on the French locale: - -```bash -npm run start -- --locale fr -``` - -Your localized site is accessible at [http://localhost:3000/fr/](http://localhost:3000/fr/) and the `Getting Started` page is translated. - -:::caution - -In development, you can only use one locale at a time. - -::: - -## Add a Locale Dropdown - -To navigate seamlessly across languages, add a locale dropdown. - -Modify the `docusaurus.config.js` file: - -```js title="docusaurus.config.js" -export default { - themeConfig: { - navbar: { - items: [ - // highlight-start - { - type: 'localeDropdown', - }, - // highlight-end - ], - }, - }, -}; -``` - -The locale dropdown now appears in your navbar: - -![Locale Dropdown](./img/localeDropdown.png) - -## Build your localized site - -Build your site for a specific locale: - -```bash -npm run build -- --locale fr -``` - -Or build your site to include all the locales at once: - -```bash -npm run build -``` diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index d4131ff..951936b 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -9,6 +9,17 @@ import enabledDocs from './externalDocs.js'; // This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) +const externalNavbarItem = (id) => + enabledDocs + .filter((docs) => docs.id === id) + .map((docs) => ({ + type: 'docSidebar', + sidebarId: docs.sidebarId, + docsPluginId: docs.id, + position: docs.navbarPosition, + label: docs.label, + })); + /** @type {import('@docusaurus/types').Config} */ const config = { title: 'FAIR Documentation', @@ -83,22 +94,25 @@ const config = { // src: 'img/logo.svg', // }, items: [ - { - type: 'docSidebar', - sidebarId: 'tutorialSidebar', - position: 'left', - label: 'Docs', - }, - { - to: '/blog', - label: 'Blog', - position: 'left' - }, + ...externalNavbarItem('fair-protocol'), + ...externalNavbarItem('tsc'), + ...externalNavbarItem('fair-beacon'), { to: 'docs/contributing', label: 'Get involved', position: 'left' }, + // { + // to: '/blog', + // label: 'Blog', + // position: 'left' + // }, + // { + // type: 'docSidebar', + // sidebarId: 'tutorialSidebar', + // position: 'left', + // label: 'Docs', + // }, { href: 'https://github.com/fairpm/docs', label: 'GitHub', @@ -109,14 +123,7 @@ const config = { label: 'fair.pm', position: 'right', }, - ...enabledDocs.map((docs) => ({ - type: 'docSidebar', - sidebarId: docs.sidebarId, - docsPluginId: docs.id, - position: docs.navbarPosition, - label: docs.label, - })), - ], + ], }, footer: { style: 'dark', @@ -186,7 +193,7 @@ const config = { routeBasePath: docs.routeBasePath, sidebarPath: require.resolve(docs.sidebarPath), editUrl: ({docPath}) => - `docs.editUrl${docPath}`, + `${docs.editUrl}${docPath}`, }, ]), ], diff --git a/docs/externalDocs.js b/docs/externalDocs.js index 3724e9e..11e7ef5 100644 --- a/docs/externalDocs.js +++ b/docs/externalDocs.js @@ -7,6 +7,17 @@ const enabledExternalDocs = new Set( ); const externalDocs = [ + { + id: 'fair-protocol', + label: 'FAIR Protocol', + path: 'external/fair-protocol/', + routeBasePath: 'fair-protocol', + navbarPosition: 'left', + sidebarId: 'fairProtocolSidebar', + sidebarPath: './sidebars-fair-protocol.js', + exclude: ['CLAUDE.md'], + editUrl: 'https://github.com/fairpm/fair-protocol/edit/main/', + }, { id: 'tsc', label: 'TSC', @@ -15,7 +26,17 @@ const externalDocs = [ navbarPosition: 'left', sidebarId: 'tscSidebar', sidebarPath: './sidebars-tsc.js', - editUrl: 'https://github.com/fairpm/tsc/blob/main/faqs/', + editUrl: 'https://github.com/fairpm/tsc/edit/main/faqs/', + }, + { + id: 'fair-beacon', + label: 'Fair Beacon', + path: 'external/fair-beacon/', + routeBasePath: 'fair-beacon', + navbarPosition: 'left', + sidebarId: 'fairBeaconSidebar', + sidebarPath: './sidebars-fair-beacon.js', + editUrl: 'https://github.com/fairpm/fair-beacon/edit/main/', }, ]; @@ -23,4 +44,4 @@ const enabledDocs = externalDocs.filter((docs) => enabledExternalDocs.has(docs.id), ); -export default enabledDocs; \ No newline at end of file +export default enabledDocs; diff --git a/docs/package.json b/docs/package.json index 9d589fb..cd7d8d3 100644 --- a/docs/package.json +++ b/docs/package.json @@ -13,7 +13,7 @@ "write-translations": "docusaurus write-translations", "write-heading-ids": "docusaurus write-heading-ids", "fair-build": "bash scripts/fair-build", - "fair-build-all": "bash scripts/fair-build -- --all" + "fair-build-all": "bash scripts/fair-build --all" }, "dependencies": { "@docusaurus/core": "^3.10.0", diff --git a/docs/scripts/fair-build b/docs/scripts/fair-build index 1f58b78..83dae00 100755 --- a/docs/scripts/fair-build +++ b/docs/scripts/fair-build @@ -17,6 +17,8 @@ mkdir -p "$EXTERNAL_DIR" # id must match the id used in docusaurus.config.js / DOCS_EXTERNAL REPOS=( "tsc|TSC|fairpm/tsc|external/tsc" + "fair-protocol|FAIR Protocol|fairpm/fair-protocol|external/fair-protocol" + "fair-beacon|Fair Beacon|fairpm/fair-beacon|external/fair-beacon" ) USE_ALL=false diff --git a/docs/sidebars-fair-beacon.js b/docs/sidebars-fair-beacon.js new file mode 100644 index 0000000..4984322 --- /dev/null +++ b/docs/sidebars-fair-beacon.js @@ -0,0 +1,34 @@ +// @ts-check + +// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) + +/** + * Creating a sidebar enables you to: + - create an ordered group of docs + - render a sidebar for each doc of that group + - provide next/previous navigation + + The sidebars can be generated from the filesystem, or explicitly defined here. + + Create as many sidebars as you want. + + @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} + */ +const sidebarsFairBeacon = { + // By default, Docusaurus generates a sidebar from the docs folder structure + fairBeaconSidebar: [{type: 'autogenerated', dirName: '.'}], + + // But you can create a sidebar manually + +// tscSidebar: [ +// 'intro', +// 'hello', +// { +// type: 'category', +// label: 'Tutorial', +// items: ['tutorial-basics/create-a-document'], +// }, +// ], +}; + +export default sidebarsFairBeacon; diff --git a/docs/sidebars-fair-protocol.js b/docs/sidebars-fair-protocol.js new file mode 100644 index 0000000..a23df6b --- /dev/null +++ b/docs/sidebars-fair-protocol.js @@ -0,0 +1,134 @@ +// @ts-check + +// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) + +/** + * Creating a sidebar enables you to: + - create an ordered group of docs + - render a sidebar for each doc of that group + - provide next/previous navigation + + The sidebars can be generated from the filesystem, or explicitly defined here. + + Create as many sidebars as you want. + + @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} + */ +const sidebarsFairProtocol = { + // By default, Docusaurus generates a sidebar from the docs folder structure + // fairProtocolSidebar: [{type: 'autogenerated', dirName: '.'}], + + // But you can create a sidebar manually + + fairProtocolSidebar: [ + // 'README', + { + type: 'category', + label: 'About FAIR Protocol', + collapsed: true, + items: [ + // 'docs/README', + 'docs/start-here', + 'docs/initial-design', + 'docs/philosophy', + { + type: 'category', + label: 'How it works', + items: [ + 'docs/how-it-works', + 'docs/security', + 'docs/moderation/ozone-labeling-system', + 'docs/flowcharts/did-workflows', + ], + }, + ], + }, + { + type: 'category', + label: 'Specification', + items: [ + 'specification', + 'spec-labeling', + 'registry', + { + type: 'category', + label: 'Extensions', + collapsed: false, + items: [ + 'ext-typo3', + 'ext-wp', + ], + } + ], + }, + { + type: 'category', + label: 'Implementing', + items: [ + 'docs/implementing/README', + 'docs/implementing/protocol', + 'docs/implementing/repository', + 'docs/implementing/restricted', + { + type: 'category', + label: 'WordPress packages', + collapsed: false, + items: [ + 'docs/publishing', + 'docs/restricted', + ], + } + ], + }, + { + type: 'category', + label: 'Moderation', + items: [ + 'docs/moderation/README', + 'docs/moderation/discovery', + 'docs/moderation/service-hierarchy', + { + type: 'category', + label: 'Submissions', + collapsed: true, + items: [ + 'docs/moderation/submissions/README', + 'docs/moderation/guidelines', + 'docs/moderation/submissions/packages', + 'docs/moderation/submissions/repositories', + 'docs/moderation/submissions/aggregators', + ], + }, + { + type: 'category', + label: 'Governance', + collapsed: true, + items: [ + 'docs/moderation/governance/README', + 'docs/moderation/governance/contact-and-privacy', + 'docs/moderation/governance/integrity', + 'docs/moderation/governance/vetting-and-reporting', + 'docs/moderation/governance/defederation', + 'docs/moderation/governance/risk-management', + 'docs/moderation/governance/appeals', + 'docs/moderation/governance/moderation-labels', + 'docs/moderation/governance/moderation-services', + ], + }, + 'docs/moderation/faq', + 'docs/moderation/FAIR-APPROVAL-POLICIES', + { + type: 'category', + label: 'Tools', + collapsed: false, + items: [ + 'docs/moderation/tools/setup-ozone', + 'docs/moderation/tools/wordpress-plugin', + ], + }, + ], + }, + ], +}; + +export default sidebarsFairProtocol;