feat: add status page link to footer

This commit is contained in:
Iain Learmonth 2025-05-24 15:13:01 +01:00
parent 60317f07d4
commit 718c0cc2ae

View file

@ -6,131 +6,144 @@ import type * as OpenApiPlugin from "docusaurus-plugin-openapi-docs";
// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) // This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
const config: Config = { const config: Config = {
title: 'jasima.app', title: 'jasima.app',
tagline: 'Bypass censorship and enhance privacy for your audience and community', tagline: 'Bypass censorship and enhance privacy for your audience and community',
favicon: 'img/logo.png', favicon: 'img/logo.png',
url: 'https://jasima.app', url: 'https://jasima.app',
baseUrl: '/', baseUrl: '/',
onBrokenLinks: 'throw', onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'warn', onBrokenMarkdownLinks: 'warn',
// Even if you don't use internationalization, you can use this field to set // Even if you don't use internationalization, you can use this field to set
// useful metadata like html lang. For example, if your site is Chinese, you // useful metadata like html lang. For example, if your site is Chinese, you
// may want to replace "en" with "zh-Hans". // may want to replace "en" with "zh-Hans".
i18n: { i18n: {
defaultLocale: 'en', defaultLocale: 'en',
locales: ['en'], locales: ['en'],
}, },
presets: [ presets: [
[ [
'classic', 'classic',
{ {
docs: { docs: {
sidebarPath: './sidebars.ts', sidebarPath: './sidebars.ts',
docItemComponent: "@theme/ApiItem", docItemComponent: "@theme/ApiItem",
}, },
theme: { theme: {
customCss: './src/css/custom.css', customCss: './src/css/custom.css',
}, },
} satisfies Preset.Options, } satisfies Preset.Options,
],
], ],
],
plugins: [ plugins: [
[ [
'docusaurus-plugin-openapi-docs', 'docusaurus-plugin-openapi-docs',
{ {
id: "api", // plugin id id: "api", // plugin id
docsPluginId: "classic", // configured for preset-classic docsPluginId: "classic", // configured for preset-classic
config: { config: {
api: { api: {
specPath: "static/openapi.json", specPath: "static/openapi.json",
outputDir: "docs/api/", outputDir: "docs/api/",
downloadUrl: "/openapi.json", downloadUrl: "/openapi.json",
sidebarOptions: { sidebarOptions: {
groupPathsBy: "tag", groupPathsBy: "tag",
categoryLinkSource: "tag", categoryLinkSource: "tag",
},
} satisfies OpenApiPlugin.Options,
}
}, },
} satisfies OpenApiPlugin.Options, ]
} ],
}, themes: ["docusaurus-theme-openapi-docs"], // export theme components
]
],
themes: ["docusaurus-theme-openapi-docs"], // export theme components
themeConfig: { themeConfig: {
// Replace with your project's social card // Replace with your project's social card
image: 'img/docusaurus-social-card.jpg', image: 'img/docusaurus-social-card.jpg',
navbar: { navbar: {
title: 'jasima.app', title: 'jasima.app',
logo: { logo: {
alt: 'Logo', alt: 'Logo',
src: 'img/logo.png', src: 'img/logo.png',
}, },
items: [ items: [
{ {
type: 'docSidebar', type: 'docSidebar',
sidebarId: 'docsSidebar', sidebarId: 'docsSidebar',
position: 'left', position: 'left',
label: 'Docs', label: 'Docs',
},
{
type: 'docSidebar',
sidebarId: 'apiSidebar',
position: 'left',
label: 'API',
},
{
to: '/contact',
position: 'left',
label: 'Contact',
}
],
}, },
{ footer: {
type: 'docSidebar', style: 'dark',
sidebarId: 'apiSidebar', links: [
position: 'left', {
label: 'API', title: 'jasima.app',
items: [
{
label: 'Service Status',
href: 'https://status.jasima.app/'
},
{
label: 'API Documentation',
to: '/docs/api/jasima-app-api'
}
]
},
{
title: 'Docs',
items: [
{
label: 'Censorship 101',
to: '/docs/censorship/',
},
{
label: 'Web Mirrors',
to: '/docs/mirrors/',
},
],
},
{
title: 'More',
items: [
{
label: 'Get In Touch',
href: '/contact',
},
{
label: 'Bypass Censorship',
href: 'https://bypasscensorship.org/',
},
{
label: 'Guardian Project',
href: 'https://guardianproject.info/',
},
],
},
],
copyright: `Copyright © 2021-${new Date().getFullYear()}.`,
}, },
{ prism: {
to: '/contact', theme: prismThemes.github,
position: 'left', darkTheme: prismThemes.dracula,
label: 'Contact',
}
],
},
footer: {
style: 'dark',
links: [
{
title: 'Docs',
items: [
{
label: 'Censorship 101',
to: '/docs/censorship/',
},
{
label: 'Web Mirrors',
to: '/docs/mirrors/',
},
],
}, },
{ } satisfies Preset.ThemeConfig,
title: 'More',
items: [
{
label: 'Get In Touch',
href: '/contact',
},
{
label: 'Bypass Censorship',
href: 'https://bypasscensorship.org/',
},
{
label: 'Guardian Project',
href: 'https://guardianproject.info/',
},
],
},
],
copyright: `Copyright © 2021-${new Date().getFullYear()}.`,
},
prism: {
theme: prismThemes.github,
darkTheme: prismThemes.dracula,
},
} satisfies Preset.ThemeConfig,
}; };
export default config; export default config;