// @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: "/",
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: `
`,
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: ``,
},
],
},
{
title: "Documentation",
items: [
{
label: "Cosmos Hub",
href: "https://hub.cosmos.network",
},
{
label: "CometBFT",
href: "https://docs.cometbft.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: `
The development of the Cosmos SDK is led primarily by Interchain Core Teams. Funding for this development comes primarily from the Interchain Foundation, a Swiss non-profit.
`, }, prism: { theme: lightCodeTheme, darkTheme: darkCodeTheme, additionalLanguages: ["protobuf", "go-module"], // https://prismjs.com/#supported-languages }, algolia: { appId: "QLS2QSP47E", apiKey: "4d9feeb481e3cfef8f91bbc63e090042", indexName: "cosmos_network", contextualSearch: false, }, }), themes: ["@you54f/theme-github-codeblock"], 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/auth/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/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/", }, { from: ["/main/run-node/cosmovisor"], to: "/main/tooling/cosmovisor", }, { from: ["/main/migrations/pre-upgrade"], to: "/main/building-apps/app-upgrade", }, ], }, ], ], }; module.exports = config;