feat: reorganise link docs and add proton mail
Some checks failed
ci / build_and_publish (push) Failing after 1m40s

This commit is contained in:
Iain Learmonth 2026-05-29 11:29:38 +01:00
parent 68ffeeccf3
commit b9186f4749
22 changed files with 126 additions and 404 deletions

View file

@ -0,0 +1,11 @@
---
sidebar_position: 20
sidebar_label: Channels Guide
---
import DocCardList from '@theme/DocCardList';
import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
# Channels Guide
<DocCardList items={useCurrentSidebarCategory().items} />

View file

@ -0,0 +1,65 @@
---
title: Proton Mail Channel
sidebar_label: Proton Mail Channel
sidebar_position: 55
description: Using a ProtonMail email account
---
[Proton Mail](https://proton.me/mail) is the largest end-to-end encrypted email hosting service.
It was launched in 2014 and is headquartered in Geneva, Switzerland.
It is owned by the non-profit Proton Foundation through its subsidiary Proton AG.
Proton Mail uses client-side encryption to protect email content and user data before they are sent to Proton Mail
servers, unlike other common email providers.
The source code for the back end of Proton Mail remains closed-source, but Proton Mail released the source code for the
web interface, iOS and Android apps, and the [Proton Mail Bridge app](https://github.com/ProtonMail/proton-bridge)
under an open-source licence.
Although Proton Mail's encryption uses the open standard OpenPGP, and the Link platform support OpenPGP when used with
other email providers, it is not possible to directly interact with the encryption from the Link platform.
This is because Proton Mail does not provide the traditional IMAP and SMTP server endpoints to send and receive emails
and only allows connection via the Proton Mail bridge app which handles all encryption and decryption of messages.
## Requirements
* You must have a paid plan to use the Proton Mail channel as the use of the Proton Mail Bridge app is not possible on
a free account.
* Additionally, a user must be dedicated for the use of the helpdesk, it is not sufficient to create an alias on an
existing user.
## Encryption & Key Management
OpenPGP private keys are created automatically for each Proton Mail account, although these are stored in a way that
they are not generally available other than when successfully authenticated to the platform.
In the case of Link, this means that the Proton Mail Bridge app is authenticated and then has access to the OpenPGP
private key.
It is not currently possible to import public keys of 3rd-party (i.e. non-Proton Mail) email addresses, and so only
emails between Proton Mail users will be end-to-end encrypted.
The service also
[does not support the Autocrypt standard](https://protonmail.uservoice.com/forums/945460-general-ideas/suggestions/32845105-autocrypt-support),
which allows other clients to import discovered public keys automatically on new conversations.
The Proton Mail documentation [has more on this topic](https://proton.me/support/proton-mail-encryption-explained).
We will provide you with your public OpenPGP key when the channel is set up, and you can make this discoverable via your
website, but for conversations with 3rd-party accounts we expect the conversations will only be encrypted in one
direction and your replies will not be encrypted.
The helpdesk is unaware of the encryption happening in Protonmail, and cannot inform agents when an email that was sent
or received by the helpdesk was encrypted or not.
## Setting up
If you do not have an organisational account, we can fully manage the Proton Mail account setup including billing.
Please [contact us](https://www.sr2.uk/contact) to discuss this.
If you have an organisational account,
[send an invite for the new user](https://proton.me/support/add-users-organization#create-a-new-user) (the new helpdesk
channel address) to contact@sr2.uk, and email the same address to let us know you are doing this and that you would
like the channel added to your helpdesk.
Once the setup is complete we will provide you with OpenPGP public key and will also upload it to
[keys.openpgp.org](https://keys.openpgp.org/) to aid in its discovery by users.
We can also provide support on setting up Web Key Discovery (WKD) on your custom email domain if desired to further
increase the chances that inbound emails will be automatically encrypted, although this still cannot help to encrypt
replies to 3rd-party email services.

View file

@ -1,6 +1,6 @@
--- ---
title: Backups title: Backups
sidebar_position: 90 sidebar_position: 20
--- ---
## Daily Backups ## Daily Backups

View file

@ -0,0 +1,11 @@
---
sidebar_position: 10
sidebar_label: Features
---
import DocCardList from '@theme/DocCardList';
import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
# Features
<DocCardList items={useCurrentSidebarCategory().items} />

View file

@ -1,6 +1,6 @@
--- ---
title: Security title: Security
sidebar_position: 50 sidebar_position: 10
--- ---
## Application Security ## Application Security

11
docs/link/guide/index.mdx Normal file
View file

@ -0,0 +1,11 @@
---
sidebar_position: 20
sidebar_label: Agents Guide
---
import DocCardList from '@theme/DocCardList';
import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
# Features
<DocCardList items={useCurrentSidebarCategory().items} />

View file

@ -4,6 +4,15 @@ sidebar_position: 500
# CDR Link FAQ # CDR Link FAQ
:::warning[CDR Sunset]
The Center for Digital Resilience will be sunsetting, with all programs and activities drawing to a full close on
December 31st, 2026.
Existing CDR users have been contacted and will all be offered to migrate their service contracts to SR2 at time of
renewal.
Read more [on our blog](https://www.sr2.uk/posts/2026-link-new-home/).
:::
CDR offers hosted Link helpdesk instances managed by [SR2 Communications](https://www.sr2.uk/), CDR offers hosted Link helpdesk instances managed by [SR2 Communications](https://www.sr2.uk/),
a trusted team within the digital rights community, with a proven track record of securely handling sensitive data. a trusted team within the digital rights community, with a proven track record of securely handling sensitive data.

View file

@ -8,14 +8,13 @@ import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
# Link Helpdesk # Link Helpdesk
:::warning[Under construction] Our secure digital helpdesk platform, Link, is customised and hardened version of [Zammad](https://zammad.com/en),
This documentation is a work in progress. Please [get in touch with us](mailto:contact@sr2.uk) if you have any questions. an open source, flexible, multi-channel ticketing platform that enables those in need to ask for help, and providers to
::: respond.
Our secure digital helpdesk platform, Link, is customised and hardened version of Zammad, an open source, flexible,
multi-channel ticketing platform that enables those in need to ask for help, and providers to respond.
The helpdesks have integrations with popular messaging apps, including Signal, WhatsApp, and Telegram, making it easier The helpdesks have integrations with popular messaging apps, including Signal, WhatsApp, and Telegram, making it easier
to securely allow responders to request assistance. to securely allow responders to request assistance.
<img src="/docs/link/active_support.png" style={{width: "100%", maxWidth: "450px", margin: "auto", display: "block"}} />
<DocCardList items={useCurrentSidebarCategory().items} /> <DocCardList items={useCurrentSidebarCategory().items} />

View file

@ -1,6 +1,6 @@
--- ---
title: Moving Away title: Moving Away
sidebar_position: 100 sidebar_position: 150
--- ---
## Data Portability ## Data Portability

View file

@ -24,6 +24,7 @@ please contact us.
### Google mail not working, Oauth token expired ### Google mail not working, Oauth token expired
#### Instructions #### Instructions
First, someone with admin permissions in your Google organisation needs to navigate to https://console.cloud.google.com/apis/credentials First, someone with admin permissions in your Google organisation needs to navigate to https://console.cloud.google.com/apis/credentials

403
package-lock.json generated
View file

@ -10,7 +10,7 @@
"dependencies": { "dependencies": {
"@docusaurus/core": "3.9.2", "@docusaurus/core": "3.9.2",
"@docusaurus/preset-classic": "3.9.2", "@docusaurus/preset-classic": "3.9.2",
"@docusaurus/theme-mermaid": "^3.9.2", "@docusaurus/theme-mermaid": "3.9.2",
"@mdx-js/react": "^3.0.0", "@mdx-js/react": "^3.0.0",
"clsx": "^2.0.0", "clsx": "^2.0.0",
"prism-react-renderer": "^2.3.0", "prism-react-renderer": "^2.3.0",
@ -3937,16 +3937,16 @@
} }
}, },
"node_modules/@docusaurus/theme-mermaid": { "node_modules/@docusaurus/theme-mermaid": {
"version": "3.10.1", "version": "3.9.2",
"resolved": "https://registry.npmjs.org/@docusaurus/theme-mermaid/-/theme-mermaid-3.10.1.tgz", "resolved": "https://registry.npmjs.org/@docusaurus/theme-mermaid/-/theme-mermaid-3.9.2.tgz",
"integrity": "sha512-2gxpmln8Pc4EN1oWzshQEx2HTs67jk14v7MmgqGs8ZU7Nm8oihg+fTouof2u4vN8DtB3Fln4cDJu4UprSX1S3Q==", "integrity": "sha512-5vhShRDq/ntLzdInsQkTdoKWSzw8d1jB17sNPYhA/KvYYFXfuVEGHLM6nrf8MFbV8TruAHDG21Fn3W4lO8GaDw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@docusaurus/core": "3.10.1", "@docusaurus/core": "3.9.2",
"@docusaurus/module-type-aliases": "3.10.1", "@docusaurus/module-type-aliases": "3.9.2",
"@docusaurus/theme-common": "3.10.1", "@docusaurus/theme-common": "3.9.2",
"@docusaurus/types": "3.10.1", "@docusaurus/types": "3.9.2",
"@docusaurus/utils-validation": "3.10.1", "@docusaurus/utils-validation": "3.9.2",
"mermaid": ">=11.6.0", "mermaid": ">=11.6.0",
"tslib": "^2.6.0" "tslib": "^2.6.0"
}, },
@ -3964,382 +3964,6 @@
} }
} }
}, },
"node_modules/@docusaurus/theme-mermaid/node_modules/@docusaurus/babel": {
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/@docusaurus/babel/-/babel-3.10.1.tgz",
"integrity": "sha512-DZzFO1K3v/GoEt1fx1DiYHF4en+PuhtQf1AkQJa5zu3CoeKSpr5cpQRUlz3jr0m44wyzmSXu9bVpfir+N4+8bg==",
"license": "MIT",
"dependencies": {
"@babel/core": "^7.25.9",
"@babel/generator": "^7.25.9",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-transform-runtime": "^7.25.9",
"@babel/preset-env": "^7.25.9",
"@babel/preset-react": "^7.25.9",
"@babel/preset-typescript": "^7.25.9",
"@babel/runtime": "^7.25.9",
"@babel/traverse": "^7.25.9",
"@docusaurus/logger": "3.10.1",
"@docusaurus/utils": "3.10.1",
"babel-plugin-dynamic-import-node": "^2.3.3",
"fs-extra": "^11.1.1",
"tslib": "^2.6.0"
},
"engines": {
"node": ">=20.0"
}
},
"node_modules/@docusaurus/theme-mermaid/node_modules/@docusaurus/bundler": {
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/@docusaurus/bundler/-/bundler-3.10.1.tgz",
"integrity": "sha512-HIqQPvbqnnQRe4NsBd1774KRarjXqS6wHsWELtyuSs1gCfvixJO2jUGH/OEBtr1Gvzpw+ze5CjGMvSJ8UE1KUw==",
"license": "MIT",
"dependencies": {
"@babel/core": "^7.25.9",
"@docusaurus/babel": "3.10.1",
"@docusaurus/cssnano-preset": "3.10.1",
"@docusaurus/logger": "3.10.1",
"@docusaurus/types": "3.10.1",
"@docusaurus/utils": "3.10.1",
"babel-loader": "^9.2.1",
"clean-css": "^5.3.3",
"copy-webpack-plugin": "^11.0.0",
"css-loader": "^6.11.0",
"css-minimizer-webpack-plugin": "^5.0.1",
"cssnano": "^6.1.2",
"file-loader": "^6.2.0",
"html-minifier-terser": "^7.2.0",
"mini-css-extract-plugin": "^2.9.2",
"null-loader": "^4.0.1",
"postcss": "^8.5.4",
"postcss-loader": "^7.3.4",
"postcss-preset-env": "^10.2.1",
"terser-webpack-plugin": "^5.3.9",
"tslib": "^2.6.0",
"url-loader": "^4.1.1",
"webpack": "^5.95.0",
"webpackbar": "^7.0.0"
},
"engines": {
"node": ">=20.0"
},
"peerDependencies": {
"@docusaurus/faster": "*"
},
"peerDependenciesMeta": {
"@docusaurus/faster": {
"optional": true
}
}
},
"node_modules/@docusaurus/theme-mermaid/node_modules/@docusaurus/core": {
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.10.1.tgz",
"integrity": "sha512-3pf2fXXw0eVk8WnC3T4LIigRDupcpvngpKo9Vy7mYyBhuddc0klDUuZAIfzMoK6z05pdlk6EFC/vBSX43+1O5w==",
"license": "MIT",
"dependencies": {
"@docusaurus/babel": "3.10.1",
"@docusaurus/bundler": "3.10.1",
"@docusaurus/logger": "3.10.1",
"@docusaurus/mdx-loader": "3.10.1",
"@docusaurus/utils": "3.10.1",
"@docusaurus/utils-common": "3.10.1",
"@docusaurus/utils-validation": "3.10.1",
"boxen": "^6.2.1",
"chalk": "^4.1.2",
"chokidar": "^3.5.3",
"cli-table3": "^0.6.3",
"combine-promises": "^1.1.0",
"commander": "^5.1.0",
"core-js": "^3.31.1",
"detect-port": "^1.5.1",
"escape-html": "^1.0.3",
"eta": "^2.2.0",
"eval": "^0.1.8",
"execa": "^5.1.1",
"fs-extra": "^11.1.1",
"html-tags": "^3.3.1",
"html-webpack-plugin": "^5.6.0",
"leven": "^3.1.0",
"lodash": "^4.17.21",
"open": "^8.4.0",
"p-map": "^4.0.0",
"prompts": "^2.4.2",
"react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0",
"react-loadable": "npm:@docusaurus/react-loadable@6.0.0",
"react-loadable-ssr-addon-v5-slorber": "^1.0.3",
"react-router": "^5.3.4",
"react-router-config": "^5.1.1",
"react-router-dom": "^5.3.4",
"semver": "^7.5.4",
"serve-handler": "^6.1.7",
"tinypool": "^1.0.2",
"tslib": "^2.6.0",
"update-notifier": "^6.0.2",
"webpack": "^5.95.0",
"webpack-bundle-analyzer": "^4.10.2",
"webpack-dev-server": "^5.2.2",
"webpack-merge": "^6.0.1"
},
"bin": {
"docusaurus": "bin/docusaurus.mjs"
},
"engines": {
"node": ">=20.0"
},
"peerDependencies": {
"@docusaurus/faster": "*",
"@mdx-js/react": "^3.0.0",
"react": "^18.0.0 || ^19.0.0",
"react-dom": "^18.0.0 || ^19.0.0"
},
"peerDependenciesMeta": {
"@docusaurus/faster": {
"optional": true
}
}
},
"node_modules/@docusaurus/theme-mermaid/node_modules/@docusaurus/cssnano-preset": {
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.10.1.tgz",
"integrity": "sha512-eNfHGcTKCSq6xmcavAkX3RRclHaE2xRCMParlDXLdXVP01/a2e/jKXMj/0ULnLFQSNwwuI62L0Ge8J+nZsR7UQ==",
"license": "MIT",
"dependencies": {
"cssnano-preset-advanced": "^6.1.2",
"postcss": "^8.5.4",
"postcss-sort-media-queries": "^5.2.0",
"tslib": "^2.6.0"
},
"engines": {
"node": ">=20.0"
}
},
"node_modules/@docusaurus/theme-mermaid/node_modules/@docusaurus/logger": {
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.10.1.tgz",
"integrity": "sha512-oPjNFnfJsRCkePVjkGrxWGq4MvJKRQT0r9jOP0eRBTZ7Wr9FAbzdP/Gjs0I2Ss6YRkPoEgygKG112OkE6skvJw==",
"license": "MIT",
"dependencies": {
"chalk": "^4.1.2",
"tslib": "^2.6.0"
},
"engines": {
"node": ">=20.0"
}
},
"node_modules/@docusaurus/theme-mermaid/node_modules/@docusaurus/mdx-loader": {
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.10.1.tgz",
"integrity": "sha512-GRmeb/wQ+iXRrFwcHBfgQhrJxGElgCsoTWZYDhccjsZVne1p8MK/EpQVIloXttz76TCe78kKD5AEG9n1xc1oxQ==",
"license": "MIT",
"dependencies": {
"@docusaurus/logger": "3.10.1",
"@docusaurus/utils": "3.10.1",
"@docusaurus/utils-validation": "3.10.1",
"@mdx-js/mdx": "^3.0.0",
"@slorber/remark-comment": "^1.0.0",
"escape-html": "^1.0.3",
"estree-util-value-to-estree": "^3.0.1",
"file-loader": "^6.2.0",
"fs-extra": "^11.1.1",
"image-size": "^2.0.2",
"mdast-util-mdx": "^3.0.0",
"mdast-util-to-string": "^4.0.0",
"rehype-raw": "^7.0.0",
"remark-directive": "^3.0.0",
"remark-emoji": "^4.0.0",
"remark-frontmatter": "^5.0.0",
"remark-gfm": "^4.0.0",
"stringify-object": "^3.3.0",
"tslib": "^2.6.0",
"unified": "^11.0.3",
"unist-util-visit": "^5.0.0",
"url-loader": "^4.1.1",
"vfile": "^6.0.1",
"webpack": "^5.88.1"
},
"engines": {
"node": ">=20.0"
},
"peerDependencies": {
"react": "^18.0.0 || ^19.0.0",
"react-dom": "^18.0.0 || ^19.0.0"
}
},
"node_modules/@docusaurus/theme-mermaid/node_modules/@docusaurus/module-type-aliases": {
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.10.1.tgz",
"integrity": "sha512-YoOZKUdGlp8xSYhuAkGdSo5Ydkbq4V4eK3sD8v0a2hloxCWdQbNBhkc+Ko9QyjpESc0BYcIGM5iHVAy5hdFV6w==",
"license": "MIT",
"dependencies": {
"@docusaurus/types": "3.10.1",
"@types/history": "^4.7.11",
"@types/react": "*",
"@types/react-router-config": "*",
"@types/react-router-dom": "*",
"react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0",
"react-loadable": "npm:@docusaurus/react-loadable@6.0.0"
},
"peerDependencies": {
"react": "*",
"react-dom": "*"
}
},
"node_modules/@docusaurus/theme-mermaid/node_modules/@docusaurus/theme-common": {
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.10.1.tgz",
"integrity": "sha512-0YtmIeoNo1fIw65LO8+/1dPgmDV86UmhMkow37gzjytuiCSQm9xob6PJy0L4kuQEMTLfUOGvkXvZr7GPrHquMA==",
"license": "MIT",
"dependencies": {
"@docusaurus/mdx-loader": "3.10.1",
"@docusaurus/module-type-aliases": "3.10.1",
"@docusaurus/utils": "3.10.1",
"@docusaurus/utils-common": "3.10.1",
"@types/history": "^4.7.11",
"@types/react": "*",
"@types/react-router-config": "*",
"clsx": "^2.0.0",
"parse-numeric-range": "^1.3.0",
"prism-react-renderer": "^2.3.0",
"tslib": "^2.6.0",
"utility-types": "^3.10.0"
},
"engines": {
"node": ">=20.0"
},
"peerDependencies": {
"@docusaurus/plugin-content-docs": "*",
"react": "^18.0.0 || ^19.0.0",
"react-dom": "^18.0.0 || ^19.0.0"
}
},
"node_modules/@docusaurus/theme-mermaid/node_modules/@docusaurus/types": {
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.10.1.tgz",
"integrity": "sha512-XYMK8k1szDCFMw2V+Xyen0g7Kee1sP3dtFnl7vkGkZOkeAJ/oPDQPL8iz4HBKOo/cwU8QeV6onVjMqtP+tFzsw==",
"license": "MIT",
"dependencies": {
"@mdx-js/mdx": "^3.0.0",
"@types/history": "^4.7.11",
"@types/mdast": "^4.0.2",
"@types/react": "*",
"commander": "^5.1.0",
"joi": "^17.9.2",
"react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0",
"utility-types": "^3.10.0",
"webpack": "^5.95.0",
"webpack-merge": "^5.9.0"
},
"peerDependencies": {
"react": "^18.0.0 || ^19.0.0",
"react-dom": "^18.0.0 || ^19.0.0"
}
},
"node_modules/@docusaurus/theme-mermaid/node_modules/@docusaurus/types/node_modules/webpack-merge": {
"version": "5.10.0",
"resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz",
"integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==",
"license": "MIT",
"dependencies": {
"clone-deep": "^4.0.1",
"flat": "^5.0.2",
"wildcard": "^2.0.0"
},
"engines": {
"node": ">=10.0.0"
}
},
"node_modules/@docusaurus/theme-mermaid/node_modules/@docusaurus/utils": {
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.10.1.tgz",
"integrity": "sha512-3ojeJry9xBYdJO6qoyyzqeJFSJBVx2mXhyDzSdjwL2+URFQMf+h25gG38iswGImicK0ELjTd1EL2xzk8hf3QPw==",
"license": "MIT",
"dependencies": {
"@docusaurus/logger": "3.10.1",
"@docusaurus/types": "3.10.1",
"@docusaurus/utils-common": "3.10.1",
"escape-string-regexp": "^4.0.0",
"execa": "^5.1.1",
"file-loader": "^6.2.0",
"fs-extra": "^11.1.1",
"github-slugger": "^1.5.0",
"globby": "^11.1.0",
"gray-matter": "^4.0.3",
"jiti": "^1.20.0",
"js-yaml": "^4.1.0",
"lodash": "^4.17.21",
"micromatch": "^4.0.5",
"p-queue": "^6.6.2",
"prompts": "^2.4.2",
"resolve-pathname": "^3.0.0",
"tslib": "^2.6.0",
"url-loader": "^4.1.1",
"utility-types": "^3.10.0",
"webpack": "^5.88.1"
},
"engines": {
"node": ">=20.0"
}
},
"node_modules/@docusaurus/theme-mermaid/node_modules/@docusaurus/utils-common": {
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.10.1.tgz",
"integrity": "sha512-5mFSgEADtnFxFH7RLw02QA5MpU5JVUCj0MPeIvi/aF4Fi45tQRIuTwXoXDqJ+1VfQJuYJGz3SI63wmGz4HvXzA==",
"license": "MIT",
"dependencies": {
"@docusaurus/types": "3.10.1",
"tslib": "^2.6.0"
},
"engines": {
"node": ">=20.0"
}
},
"node_modules/@docusaurus/theme-mermaid/node_modules/@docusaurus/utils-validation": {
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.10.1.tgz",
"integrity": "sha512-cRv1X69jwaWv47waglllgZVWzeBFLhl53XT/XED/83BerVBTC5FTP8WTcVl8Z6sZOegDSwitu/wpCSPCDOT6lg==",
"license": "MIT",
"dependencies": {
"@docusaurus/logger": "3.10.1",
"@docusaurus/utils": "3.10.1",
"@docusaurus/utils-common": "3.10.1",
"fs-extra": "^11.2.0",
"joi": "^17.9.2",
"js-yaml": "^4.1.0",
"lodash": "^4.17.21",
"tslib": "^2.6.0"
},
"engines": {
"node": ">=20.0"
}
},
"node_modules/@docusaurus/theme-mermaid/node_modules/webpackbar": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-7.0.0.tgz",
"integrity": "sha512-aS9soqSO2iCHgqHoCrj4LbfGQUboDCYJPSFOAchEK+9psIjNrfSWW4Y0YEz67MKURNvMmfo0ycOg9d/+OOf9/Q==",
"license": "MIT",
"dependencies": {
"ansis": "^3.2.0",
"consola": "^3.2.3",
"pretty-time": "^1.1.0",
"std-env": "^3.7.0"
},
"engines": {
"node": ">=14.21.3"
},
"peerDependencies": {
"@rspack/core": "*",
"webpack": "3 || 4 || 5"
},
"peerDependenciesMeta": {
"@rspack/core": {
"optional": true
},
"webpack": {
"optional": true
}
}
},
"node_modules/@docusaurus/theme-search-algolia": { "node_modules/@docusaurus/theme-search-algolia": {
"version": "3.9.2", "version": "3.9.2",
"resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.9.2.tgz", "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.9.2.tgz",
@ -6735,15 +6359,6 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1" "url": "https://github.com/chalk/ansi-styles?sponsor=1"
} }
}, },
"node_modules/ansis": {
"version": "3.17.0",
"resolved": "https://registry.npmjs.org/ansis/-/ansis-3.17.0.tgz",
"integrity": "sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==",
"license": "ISC",
"engines": {
"node": ">=14"
}
},
"node_modules/anymatch": { "node_modules/anymatch": {
"version": "3.1.3", "version": "3.1.3",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",

View file

@ -17,7 +17,7 @@
"dependencies": { "dependencies": {
"@docusaurus/core": "3.9.2", "@docusaurus/core": "3.9.2",
"@docusaurus/preset-classic": "3.9.2", "@docusaurus/preset-classic": "3.9.2",
"@docusaurus/theme-mermaid": "^3.9.2", "@docusaurus/theme-mermaid": "3.9.2",
"@mdx-js/react": "^3.0.0", "@mdx-js/react": "^3.0.0",
"clsx": "^2.0.0", "clsx": "^2.0.0",
"prism-react-renderer": "^2.3.0", "prism-react-renderer": "^2.3.0",

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB