feat: migrate to docusaurus (#13471)

This commit is contained in:
Julien Robert
2022-10-10 14:01:53 +00:00
committed by GitHub
parent 7167371f87
commit a74989ddf4
226 changed files with 30164 additions and 9948 deletions
+412
View File
@@ -0,0 +1,412 @@
// @ts-check
// Note: type annotations allow type checking and IDEs autocompletion
const lightCodeTheme = require("prism-react-renderer/themes/github");
const darkCodeTheme = require("prism-react-renderer/themes/dracula");
// const lastVersion = "v0.47";
const lastVersion = "current";
/** @type {import('@docusaurus/types').Config} */
const config = {
title: "Cosmos SDK",
tagline:
"Cosmos SDK is the world's most popular framework for building application-specific blockchains.",
url: "https://docs.cosmos.network",
baseUrl: "/",
onBrokenLinks: "warn",
onBrokenMarkdownLinks: "warn",
favicon: "img/favicon.svg",
trailingSlash: false,
// GitHub pages deployment config.
// If you aren't using GitHub pages, you don't need these.
organizationName: "cosmos",
projectName: "cosmos-sdk",
// Even if you don't use internalization, you can use this field to set useful
// metadata like html lang. For example, if your site is Chinese, you may want
// to replace "en" with "zh-Hans".
i18n: {
defaultLocale: "en",
locales: ["en"],
},
presets: [
[
"classic",
/** @type {import('@docusaurus/preset-classic').Options} */
({
docs: {
sidebarPath: require.resolve("./sidebars.js"),
routeBasePath: "/",
editUrl: "https://github.com/cosmos/cosmos-sdk/tree/main/",
lastVersion: lastVersion,
versions: {
current: {
path: "main",
// banner: "unreleased",
},
// "v0.47": {
// label: "v0.47",
// path: "v0.47",
// banner: "none",
// },
},
},
theme: {
customCss: require.resolve("./src/css/custom.css"),
},
}),
],
],
themeConfig:
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
({
image: "img/banner.jpg",
docs: {
sidebar: {
autoCollapseCategories: true,
},
},
navbar: {
title: "Cosmos SDK",
hideOnScroll: false,
logo: {
alt: "Cosmos SDK Logo",
src: "img/logo-sdk.svg",
href: "https://docs.cosmos.network",
target: "_self",
},
items: [
{
href: "https://github.com/cosmos/cosmos-sdk",
html: `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="github-icon">
<path fill-rule="evenodd" clip-rule="evenodd" d="M12 0.300049C5.4 0.300049 0 5.70005 0 12.3001C0 17.6001 3.4 22.1001 8.2 23.7001C8.8 23.8001 9 23.4001 9 23.1001C9 22.8001 9 22.1001 9 21.1001C5.7 21.8001 5 19.5001 5 19.5001C4.5 18.1001 3.7 17.7001 3.7 17.7001C2.5 17.0001 3.7 17.0001 3.7 17.0001C4.9 17.1001 5.5 18.2001 5.5 18.2001C6.6 20.0001 8.3 19.5001 9 19.2001C9.1 18.4001 9.4 17.9001 9.8 17.6001C7.1 17.3001 4.3 16.3001 4.3 11.7001C4.3 10.4001 4.8 9.30005 5.5 8.50005C5.5 8.10005 5 6.90005 5.7 5.30005C5.7 5.30005 6.7 5.00005 9 6.50005C10 6.20005 11 6.10005 12 6.10005C13 6.10005 14 6.20005 15 6.50005C17.3 4.90005 18.3 5.30005 18.3 5.30005C19 7.00005 18.5 8.20005 18.4 8.50005C19.2 9.30005 19.6 10.4001 19.6 11.7001C19.6 16.3001 16.8 17.3001 14.1 17.6001C14.5 18.0001 14.9 18.7001 14.9 19.8001C14.9 21.4001 14.9 22.7001 14.9 23.1001C14.9 23.4001 15.1 23.8001 15.7 23.7001C20.5 22.1001 23.9 17.6001 23.9 12.3001C24 5.70005 18.6 0.300049 12 0.300049Z" fill="currentColor"/>
</svg>
`,
position: "right",
},
{
type: "docsVersionDropdown",
position: "left",
dropdownActiveClassDisabled: true,
// versions not yet migrated to docusaurus
dropdownItemsAfter: [
{
href: "https://docs.cosmos.network/v0.46/",
label: "v0.46",
target: "_self",
},
{
href: "https://docs.cosmos.network/v0.45/",
label: "v0.45",
target: "_self",
},
],
},
],
},
footer: {
links: [
{
items: [
{
html: `<a href="https://cosmos.network"><img src="/img/logo-bw.svg" alt="Cosmos Logo"></a>`,
},
],
},
{
title: "Documentation",
items: [
{
label: "Cosmos Hub",
href: "https://hub.cosmos.network",
},
{
label: "Tendermint Core",
href: "https://docs.tendermint.com",
},
{
label: "IBC Go",
href: "https://ibc.cosmos.network",
},
],
},
{
title: "Community",
items: [
{
label: "Blog",
href: "https://blog.cosmos.network",
},
{
label: "Forum",
href: "https://forum.cosmos.network",
},
{
label: "Discord",
href: "https://discord.gg/cosmosnetwork",
},
{
label: "Reddit",
href: "https://reddit.com/r/cosmosnetwork",
},
],
},
{
title: "Social",
items: [
{
label: "Discord",
href: "https://discord.gg/cosmosnetwork",
},
{
label: "Twitter",
href: "https://twitter.com/cosmos",
},
{
label: "Youtube",
href: "https://www.youtube.com/c/CosmosProject",
},
{
label: "Telegram",
href: "https://t.me/cosmosproject",
},
],
},
],
copyright: `<p>The development of the Cosmos SDK is led primarily by <a href="https://interchain.io/ecosystem">Interchain Core Teams</a>. Funding for this development comes primarily from the Interchain Foundation, a Swiss non-profit.</p>`,
},
prism: {
theme: lightCodeTheme,
darkTheme: darkCodeTheme,
additionalLanguages: ["protobuf", "go-module"], // https://prismjs.com/#supported-languages
},
algolia: {
appId: "BH4D9OD16A",
apiKey: "ac317234e6a42074175369b2f42e9754",
indexName: "cosmos-sdk",
contextualSearch: false,
},
}),
plugins: [
async function myPlugin(context, options) {
return {
name: "docusaurus-tailwindcss",
configurePostCss(postcssOptions) {
postcssOptions.plugins.push(require("postcss-import"));
postcssOptions.plugins.push(require("tailwindcss/nesting"));
postcssOptions.plugins.push(require("tailwindcss"));
postcssOptions.plugins.push(require("autoprefixer"));
return postcssOptions;
},
};
},
[
"@docusaurus/plugin-google-analytics",
{
trackingID: "UA-51029217-2",
anonymizeIP: true,
},
],
[
"@docusaurus/plugin-client-redirects",
{
fromExtensions: ["html"],
toExtensions: ["html"],
redirects: [
{
from: ["/", "/master", "/v0.43", "/v0.44"],
to: "/main",
},
{
from: [
"/main/modules/auth/01_concepts",
"/main/modules/auth/02_state",
"/main/modules/auth/03_antehandlers",
"/main/modules/auth/04_keepers",
"/main/modules/auth/06_params",
"/main/modules/auth/07_client",
],
to: "/main/modules/auth",
},
{
from: "/main/modules/auth/05_vesting",
to: "/main/modules/vesting",
},
{
from: [
"/main/modules/authz/01_concepts",
"/main/modules/authz/02_state",
"/main/modules/authz/03_messages",
"/main/modules/authz/04_events",
"/main/modules/authz/05_client",
],
to: "/main/modules/authz",
},
{
from: [
"/main/modules/bank/01_state",
"/main/modules/bank/02_keepers",
"/main/modules/bank/04_events",
"/main/modules/bank/05_params",
"/main/modules/bank/06_client",
],
to: "/main/modules/bank",
},
{
from: [
"/main/modules/capability/01_concepts",
"/main/modules/capability/02_state",
],
to: "/main/modules/capability",
},
{
from: [
"/main/modules/crisis/01_state",
"/main/modules/crisis/02_messages",
"/main/modules/crisis/03_events",
"/main/modules/crisis/04_params",
"/main/modules/crisis/05_client",
],
to: "/main/modules/crisis",
},
{
from: [
"/main/modules/distribution/01_concepts",
"/main/modules/distribution/02_state",
"/main/modules/distribution/03_begin_block",
"/main/modules/distribution/04_messages",
"/main/modules/distribution/05_hooks",
"/main/modules/distribution/06_events",
"/main/modules/distribution/07_params",
"/main/modules/distribution/08_client",
],
to: "/main/modules/distribution",
},
{
from: [
"/main/modules/epoching/01_state",
"/main/modules/epoching/03_to_improve",
],
to: "/main/modules/epoching",
},
{
from: [
"/main/modules/evidence/01_concepts",
"/main/modules/evidence/02_state",
"/main/modules/evidence/03_messages",
"/main/modules/evidence/04_events",
"/main/modules/evidence/05_params",
"/main/modules/evidence/06_begin_block",
"/main/modules/evidence/07_client",
],
to: "/main/modules/evidence",
},
{
from: [
"/main/modules/feegrant/01_concepts",
"/main/modules/feegrant/02_state",
"/main/modules/feegrant/03_messages",
"/main/modules/feegrant/04_events",
"/main/modules/feegrant/05_client",
],
to: "/main/modules/feegrant",
},
{
from: [
"/main/modules/gov/01_concepts",
"/main/modules/gov/02_state",
"/main/modules/gov/03_messages",
"/main/modules/gov/04_events",
"/main/modules/gov/05_future_improvements",
"/main/modules/gov/06_params",
"/main/modules/gov/07_client",
"/main/modules/gov/08_metadata",
],
to: "/main/modules/gov",
},
{
from: [
"/main/modules/group/01_concepts",
"/main/modules/group/02_state",
"/main/modules/group/03_messages",
"/main/modules/group/04_events",
"/main/modules/group/05_client",
"/main/modules/group/06_metadata",
],
to: "/main/modules/group/",
},
{
from: [
"/main/modules/mint/01_concepts",
"/main/modules/mint/02_state",
"/main/modules/mint/03_begin_block",
"/main/modules/mint/04_params",
"/main/modules/mint/05_events",
"/main/modules/mint/06_client",
],
to: "/main/modules/mint/",
},
{
from: [
"/main/modules/nft/01_concepts",
"/main/modules/nft/02_state",
"/main/modules/nft/03_messages",
"/main/modules/nft/04_events",
],
to: "/main/modules/nft/",
},
{
from: [
"/main/modules/params/01_keeper",
"/main/modules/params/02_subspace",
],
to: "/main/modules/params/",
},
{
from: [
"/main/modules/slashing/01_concepts",
"/main/modules/slashing/02_state",
"/main/modules/slashing/03_messages",
"/main/modules/slashing/04_begin_block",
"/main/modules/slashing/05_hooks",
"/main/modules/slashing/06_events",
"/main/modules/slashing/07_tombstone",
"/main/modules/slashing/08_params",
"/main/modules/slashing/09_client",
],
to: "/main/modules/slashing/",
},
{
from: [
"/main/modules/staking/01_state",
"/main/modules/staking/02_state_transitions",
"/main/modules/staking/03_messages",
"/main/modules/staking/04_begin_block",
"/main/modules/staking/05_end_block",
"/main/modules/staking/06_hooks",
"/main/modules/staking/07_events",
"/main/modules/staking/08_params",
"/main/modules/staking/09_client",
],
to: "/main/modules/staking/",
},
{
from: [
"/main/modules/upgrade/01_concepts",
"/main/modules/upgrade/02_state",
"/main/modules/upgrade/03_events",
"/main/modules/upgrade/04_client",
],
to: "/main/modules/upgrade/",
},
],
},
],
],
};
module.exports = config;