mirror of
https://github.com/seerr-team/seerr.git
synced 2026-06-02 05:11:34 -04:00
202 lines
4.5 KiB
TypeScript
202 lines
4.5 KiB
TypeScript
import type * as Preset from '@docusaurus/preset-classic';
|
|
import type { Config } from '@docusaurus/types';
|
|
import type * as OpenApiPlugin from 'docusaurus-plugin-openapi-docs';
|
|
import { themes as prismThemes } from 'prism-react-renderer';
|
|
|
|
const config: Config = {
|
|
title: 'Seerr',
|
|
tagline: 'One Stop Solution for all your media request needs',
|
|
favicon: 'img/favicon.ico',
|
|
|
|
url: 'https://docs.seerr.dev',
|
|
baseUrl: '/',
|
|
trailingSlash: true,
|
|
|
|
future: {
|
|
faster: {
|
|
swcJsMinimizer: true,
|
|
},
|
|
},
|
|
|
|
organizationName: 'seerr-team',
|
|
projectName: 'seerr',
|
|
deploymentBranch: 'gh-pages',
|
|
|
|
onBrokenLinks: 'throw',
|
|
|
|
markdown: {
|
|
hooks: {
|
|
onBrokenMarkdownLinks: 'warn',
|
|
},
|
|
},
|
|
|
|
i18n: {
|
|
defaultLocale: 'en',
|
|
locales: ['en'],
|
|
},
|
|
|
|
presets: [
|
|
[
|
|
'classic',
|
|
{
|
|
docs: {
|
|
sidebarPath: './sidebars.ts',
|
|
routeBasePath: '/',
|
|
path: '../docs',
|
|
editUrl: 'https://github.com/seerr-team/seerr/edit/develop/docs/',
|
|
docItemComponent: '@theme/ApiItem',
|
|
async sidebarItemsGenerator({
|
|
defaultSidebarItemsGenerator,
|
|
...args
|
|
}) {
|
|
const items = await defaultSidebarItemsGenerator(args);
|
|
return items.filter(
|
|
(item) =>
|
|
!(
|
|
item.type === 'category' &&
|
|
item.label?.toLowerCase() === 'api'
|
|
)
|
|
);
|
|
},
|
|
},
|
|
pages: false,
|
|
theme: {
|
|
customCss: './src/css/custom.css',
|
|
},
|
|
} satisfies Preset.Options,
|
|
],
|
|
],
|
|
|
|
plugins: [
|
|
[
|
|
'docusaurus-plugin-openapi-docs',
|
|
{
|
|
id: 'api',
|
|
docsPluginId: 'classic',
|
|
config: {
|
|
seerr: {
|
|
specPath: '../seerr-api.yml',
|
|
outputDir: '../docs/api',
|
|
sidebarOptions: {
|
|
groupPathsBy: 'tag',
|
|
},
|
|
downloadUrl:
|
|
'https://raw.githubusercontent.com/seerr-team/seerr/refs/heads/develop/seerr-api.yml',
|
|
hideSendButton: true,
|
|
} satisfies OpenApiPlugin.Options,
|
|
},
|
|
},
|
|
],
|
|
],
|
|
|
|
themes: [
|
|
[
|
|
'@easyops-cn/docusaurus-search-local',
|
|
/** @type {import("@easyops-cn/docusaurus-search-local").PluginOptions} */
|
|
{
|
|
hashed: true,
|
|
indexBlog: false,
|
|
docsDir: '../docs',
|
|
docsRouteBasePath: '/',
|
|
explicitSearchResultPath: true,
|
|
},
|
|
],
|
|
'docusaurus-theme-openapi-docs',
|
|
],
|
|
|
|
themeConfig: {
|
|
colorMode: {
|
|
defaultMode: 'dark',
|
|
disableSwitch: true,
|
|
respectPrefersColorScheme: false,
|
|
},
|
|
navbar: {
|
|
logo: {
|
|
alt: 'Seerr',
|
|
src: 'img/logo_full.svg',
|
|
},
|
|
items: [
|
|
{
|
|
to: '/api/seerr-api',
|
|
label: 'REST API',
|
|
position: 'right',
|
|
},
|
|
{
|
|
to: 'blog',
|
|
label: 'Blog',
|
|
position: 'right',
|
|
},
|
|
{
|
|
href: 'https://discord.gg/seerr',
|
|
label: 'Discord',
|
|
position: 'right',
|
|
},
|
|
{
|
|
href: 'https://github.com/seerr-team/seerr',
|
|
label: 'GitHub',
|
|
position: 'right',
|
|
},
|
|
],
|
|
},
|
|
footer: {
|
|
style: 'dark',
|
|
links: [
|
|
{
|
|
title: 'Docs',
|
|
items: [
|
|
{
|
|
label: 'Documentation',
|
|
to: '/',
|
|
},
|
|
{
|
|
label: 'REST API',
|
|
to: '/api/seerr-api',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
title: 'Project',
|
|
items: [
|
|
{
|
|
label: 'Blog',
|
|
to: '/blog',
|
|
},
|
|
{
|
|
label: 'GitHub',
|
|
href: 'https://github.com/seerr-team/seerr',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
title: 'Community',
|
|
items: [
|
|
{
|
|
label: 'Discord',
|
|
href: 'https://discord.gg/seerr',
|
|
},
|
|
{
|
|
label: 'Github Discussions',
|
|
href: 'https://github.com/seerr-team/seerr/discussions',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
copyright: `Copyright © ${new Date().getFullYear()} Seerr. Built with Docusaurus.`,
|
|
},
|
|
prism: {
|
|
theme: prismThemes.shadesOfPurple,
|
|
darkTheme: prismThemes.shadesOfPurple,
|
|
additionalLanguages: [
|
|
'bash',
|
|
'powershell',
|
|
'yaml',
|
|
'nix',
|
|
'nginx',
|
|
'batch',
|
|
],
|
|
},
|
|
} satisfies Preset.ThemeConfig,
|
|
};
|
|
|
|
export default config;
|