Skip to content

admin/dorfarchiv

PublicMirror

Mirror of https://forge.levinkeller.de/levin/dorfarchiv.git

152 lines · 4.4 KB
1import type * as Preset from '@docusaurus/preset-classic'
2import type { Config } from '@docusaurus/types'
3import { themes as prismThemes } from 'prism-react-renderer'
4import remarkImageFigcaption from './src/plugins/remark-image-figcaption.mjs'
5
6// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
7
8const config: Config = {
9 title: 'Digitales Dorfarchiv Rössing',
10 tagline: 'Geschichte und Geschichten aus Rössing bewahren',
11 favicon: 'img/favicon.ico',
12
13 // Future flags, see https://docusaurus.io/docs/api/docusaurus-config#future
14 future: {
15 experimental_faster: true,
16 v4: true, // Improve compatibility with the upcoming Docusaurus v4
17 },
18
19 // Set the production url of your site here
20 url: 'https://dorfarchiv-roessing.de',
21 // Set the /<baseUrl>/ pathname under which your site is served
22 // For GitHub pages deployment, it is often '/<projectName>/'
23 baseUrl: '/',
24
25 // GitHub pages deployment config.
26 // If you aren't using GitHub pages, you don't need these.
27 organizationName: 'Dorfpflege-Rossing',
28 projectName: 'dorfarchiv',
29
30 onBrokenLinks: 'throw',
31
32 // Even if you don't use internationalization, you can use this field to set
33 // useful metadata like html lang. For example, if your site is Chinese, you
34 // may want to replace "en" with "zh-Hans".
35 i18n: {
36 defaultLocale: 'de',
37 locales: ['de'],
38 },
39
40 scripts: [
41 {
42 src: 'https://analytics.levinkeller.de/js/script.js',
43 defer: true,
44 'data-domain': 'archiv.xn--rssing-wxa.de',
45 },
46 ],
47
48 presets: [
49 [
50 'classic',
51 {
52 docs: {
53 path: 'unterlagen',
54 routeBasePath: 'unterlagen',
55 sidebarPath: './sidebars.ts',
56 editUrl:
57 'https://github.com/Dorfpflege-Rossing/dorfarchiv/edit/main/',
58 beforeDefaultRemarkPlugins: [remarkImageFigcaption],
59 },
60 blog: {
61 path: 'berichte',
62 routeBasePath: 'berichte',
63 showReadingTime: true,
64 feedOptions: {
65 type: ['rss', 'atom'],
66 xslt: true,
67 },
68 editUrl:
69 'https://github.com/Dorfpflege-Rossing/dorfarchiv/edit/main/',
70 blogTitle: 'Berichte',
71 blogDescription: 'Berichte und Geschichten aus Rössing',
72 blogSidebarTitle: 'Alle Berichte',
73 blogSidebarCount: 'ALL',
74 beforeDefaultRemarkPlugins: [remarkImageFigcaption],
75 },
76 theme: {
77 customCss: './src/css/custom.css',
78 },
79 } satisfies Preset.Options,
80 ],
81 ],
82
83 themeConfig: {
84 // Replace with your project's social card
85 image: 'img/docusaurus-social-card.jpg',
86 navbar: {
87 title: 'Dorfarchiv Rössing',
88 logo: {
89 alt: 'Dorfarchiv Rössing Logo',
90 src: 'img/logo.svg',
91 },
92 items: [
93 {
94 type: 'docSidebar',
95 sidebarId: 'tutorialSidebar',
96 position: 'left',
97 label: 'Unterlagen',
98 },
99 { to: '/berichte', label: 'Berichte', position: 'left' },
100 { to: '/changelog', label: 'Changelog', position: 'left' },
101 {
102 href: 'https://github.com/Dorfpflege-Rossing/dorfarchiv',
103 label: 'GitHub',
104 position: 'right',
105 },
106 ],
107 },
108 footer: {
109 style: 'dark',
110 links: [
111 {
112 title: 'Archiv',
113 items: [
114 {
115 label: 'Unterlagen',
116 to: '/unterlagen/intro',
117 },
118 {
119 label: 'Berichte',
120 to: '/berichte',
121 },
122 ],
123 },
124 {
125 title: 'Rechtliches',
126 items: [
127 {
128 label: 'Impressum',
129 to: '/impressum',
130 },
131 ],
132 },
133 {
134 title: 'Mehr',
135 items: [
136 {
137 label: 'GitHub',
138 href: 'https://github.com/Dorfpflege-Rossing/dorfarchiv',
139 },
140 ],
141 },
142 ],
143 copyright: `Copyright © ${new Date().getFullYear()} Levin Keller. Erstellt mit Docusaurus.<br/>Inhalte: <a href="https://creativecommons.org/publicdomain/zero/1.0/deed.de" target="_blank" rel="noopener noreferrer">CC0</a> (falls nicht anders geregelt) · Code: <a href="https://github.com/Dorfpflege-Rossing/dorfarchiv/blob/main/LICENSE" target="_blank" rel="noopener noreferrer">MIT</a>`,
144 },
145 prism: {
146 theme: prismThemes.github,
147 darkTheme: prismThemes.dracula,
148 },
149 } satisfies Preset.ThemeConfig,
150}
151
152export default config