1import { defineConfig } from "vitepress";
2import { withMermaid } from "vitepress-plugin-mermaid";
3
4export default withMermaid(
5 defineConfig({
6 title: "Matcha",
7 description:
8 "A modern, beautiful, and feature-rich email client for the terminal.",
9 lang: "en-US",
10
11 lastUpdated: true,
12 cleanUrls: true,
13
14 head: [
15 ["link", { rel: "icon", href: "/favicon.ico" }],
16 ["link", { rel: "icon", type: "image/png", href: "/logo.png" }],
17 ["meta", { property: "og:title", content: "Matcha" }],
18 ["meta", { property: "og:description", content: "A modern, beautiful, and feature-rich email client for the terminal." }],
19 ["meta", { property: "og:image", content: "https://docs.matcha.email/og-image.png" }],
20 ["meta", { property: "og:image:width", content: "1200" }],
21 ["meta", { property: "og:image:height", content: "630" }],
22 ["meta", { property: "twitter:card", content: "summary_large_image" }],
23 ["meta", { property: "twitter:image", content: "https://docs.matcha.email/og-image.png" }],
24 ],
25
26 srcDir: "docs",
27 outDir: ".vitepress/dist",
28 assetsDir: "assets",
29 publicDir: "../public",
30
31 vite: {
32 publicDir: "../public",
33 },
34
35 markdown: {
36 lineNumbers: true,
37 config: (md) => {
38 md.set({
39 html: true,
40 xhtmlOut: true,
41 linkify: true,
42 });
43 },
44 },
45
46 themeConfig: {
47 logo: { src: "/logo.png", alt: "Matcha" },
48 siteTitle: false,
49
50 search: {
51 provider: "local",
52 },
53
54 nav: [
55 { text: "Docs", link: "/" },
56 { text: "Marketplace", link: "/marketplace" },
57 ],
58
59 sidebar: [
60 {
61 text: "Get Started",
62 items: [
63 { text: "Welcome", link: "/" },
64 { text: "Installation", link: "/installation" },
65 { text: "Usage", link: "/usage" },
66 { text: "Configuration", link: "/Configuration" },
67 { text: "Localization", link: "/localization" },
68 ],
69 },
70 {
71 text: "Setup Guides",
72 items: [
73 { text: "Gmail", link: "/setup-guides/gmail" },
74 { text: "iCloud", link: "/setup-guides/icloud" },
75 { text: "Outlook", link: "/setup-guides/outlook" },
76 { text: "AI Rewrite", link: "/setup-guides/ai-rewrite" },
77 ],
78 },
79 {
80 text: "Features",
81 items: [
82 { text: "Accounts", link: "/Features/ACCOUNTS" },
83 { text: "Composing", link: "/Features/COMPOSING" },
84 { text: "Contacts", link: "/Features/CONTACTS" },
85 { text: "Drafts", link: "/Features/DRAFTS" },
86 { text: "Email Management", link: "/Features/EMAIL_MANAGEMENT" },
87 { text: "UI", link: "/Features/UI" },
88 { text: "Themes", link: "/Features/Themes" },
89 { text: "Keybinds", link: "/Features/Keybinds" },
90 { text: "CLI", link: "/Features/CLI" },
91 { text: "AI Agents", link: "/Features/AI_AGENTS" },
92 { text: "Plugins", link: "/Features/Plugins" },
93 { text: "PGP", link: "/Features/PGP" },
94 { text: "Encryption", link: "/Features/Encryption" },
95 { text: "S/MIME", link: "/Features/SMIME" },
96 { text: "Spellcheck", link: "/Features/Spellcheck" },
97 { text: "Calendar", link: "/Features/CALENDAR" },
98 { text: "Daemon", link: "/Features/DAEMON" },
99 { text: "Split View", link: "/Features/SPLIT_VIEW" },
100 { text: "Threaded View", link: "/Features/THREADED_VIEW" },
101 { text: "Images", link: "/Features/Images" },
102 { text: "Hyperlinks", link: "/Features/Hyperlinks" },
103 { text: "Advanced", link: "/Features/ADVANCED" },
104 { text: "PassCmd", link: "/Features/PassCmd" },
105 ],
106 },
107 {
108 text: "Community",
109 items: [
110 { text: "Marketplace", link: "/marketplace" },
111 { text: "GitHub", link: "https://github.com/floatpane/matcha" },
112 { text: "Discord", link: "https://discord.gg/RxNrJgfatk" },
113 { text: "Mastodon", link: "https://fosstodon.org/@floatpane" },
114 ],
115 },
116 ],
117
118 socialLinks: [
119 { icon: "github", link: "https://github.com/floatpane/matcha" },
120 { icon: "discord", link: "https://discord.gg/RxNrJgfatk" },
121 ],
122
123 footer: {
124 message: "Released under the MIT License.",
125 copyright: `Copyright © ${new Date().getFullYear()} Floatpane`,
126 },
127
128 editLink: {
129 pattern: "https://github.com/floatpane/matcha/edit/master/docs/:path",
130 text: "Edit this page on GitHub",
131 },
132 },
133 mermaid: {
134 theme: "dark",
135 },
136})
137);