1import { themes as prismThemes } from "prism-react-renderer";
2import type { Config } from "@docusaurus/types";
3import type * as Preset from "@docusaurus/preset-classic";
4import remarkGithubAdmonitionsToDirectives from "remark-github-admonitions-to-directives";
5
6const config: Config = {
7 title: "Matcha",
8 tagline:
9 "A modern, beautiful, and feature-rich email client for the terminal.",
10 favicon: "img/favicon.ico",
11
12 url: "https://docs.matcha.email",
13 baseUrl: "/",
14
15 organizationName: "floatpane",
16 projectName: "matcha",
17
18 onBrokenLinks: "warn",
19
20 i18n: {
21 defaultLocale: "en",
22 locales: ["en"],
23 },
24
25 presets: [
26 [
27 "classic",
28 {
29 docs: {
30 sidebarPath: "./sidebars.ts",
31 routeBasePath: "/",
32 editUrl: "https://github.com/floatpane/matcha/tree/master/docs/",
33 beforeDefaultRemarkPlugins: [remarkGithubAdmonitionsToDirectives],
34 },
35 blog: false,
36 theme: {
37 customCss: "./src/css/custom.css",
38 },
39 } satisfies Preset.Options,
40 ],
41 ],
42
43 themeConfig: {
44 image: "img/logo.png",
45 colorMode: {
46 respectPrefersColorScheme: true,
47 defaultMode: "dark",
48 },
49 navbar: {
50 title: "Matcha",
51 logo: {
52 alt: "Matcha Logo",
53 src: "img/logo.png", // We will update this later or rely on the text
54 },
55 items: [
56 {
57 to: "/marketplace",
58 label: "Marketplace",
59 position: "left",
60 },
61 {
62 href: "https://github.com/floatpane/matcha",
63 label: "GitHub",
64 position: "right",
65 },
66 ],
67 },
68 footer: {
69 style: "dark",
70 links: [
71 {
72 title: "Docs",
73 items: [
74 {
75 label: "Installation",
76 to: "/installation",
77 },
78 {
79 label: "Usage",
80 to: "/usage",
81 },
82 ],
83 },
84 {
85 title: "Community",
86 items: [
87 {
88 label: "GitHub",
89 href: "https://github.com/floatpane/matcha",
90 },
91 {
92 label: "Mastodon",
93 href: "https://fosstodon.org/@floatpane",
94 },
95 ],
96 },
97 ],
98 copyright: `Copyright © ${new Date().getFullYear()} Floatpane.`,
99 },
100 prism: {
101 theme: prismThemes.github,
102 darkTheme: prismThemes.dracula,
103 },
104 } satisfies Preset.ThemeConfig,
105};
106
107export default config;