config.mts

  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);