Quartz 被设计为高度可配置的。即便你不懂代码,大部分你需要的配置项都可以在 quartz.config.tsquartz.layout.ts 里面找到

Tip

使用 VSCode 或者其他有 Typescript 语法支持的文本编辑器,这样在你写错的时候就能得到警告。

配置 Quartz 可以分解为两部分: quartz.config.ts

const config: QuartzConfig = {
  configuration: { ... },
  plugins: { ... },
}

Gerneral 配置

这部分配置通常能影响整个站点。下面的列表列出了你可以配置的项目。

Warning

下面是机翻+手改格式,我还没完全校对。

  • pageTitle: 网站的标题。此标题也会在生成 RSS 订阅源时使用。
  • pageTitleSuffix: 添加到页面标题末尾的字符串。此设置仅适用于浏览器标签页标题,不会影响页面顶部显示的标题。
  • enableSPA: 是否启用单页应用(SPA)路由功能。
  • enablePopovers: 是否启用弹出式预览功能。
  • analytics: 网站使用的分析工具。可选值如下:
    • null:不使用分析工具。
    • { provider: 'google', tagId: '<your-google-tag>' }:使用 Google Analytics。
    • { provider: 'plausible' }(托管版)或 { provider: 'plausible', host: '<your-plausible-host>' }(自托管版):使用 Plausible。
    • { provider: 'umami', host: '<your-umami-host>', websiteId: '<your-umami-website-id>' }:使用 Umami。
    • { provider: 'goatcounter', websiteId: 'my-goatcounter-id' }(托管版)或 { provider: 'goatcounter', websiteId: 'my-goatcounter-id', host: 'my-goatcounter-domain.com', scriptSrc: '<url id="cuulbles1rhfve4f810g" type="url" status="failed" title="" wc="0">https://my-url.to/counter.js</url>' }(自托管版):使用 GoatCounter。
    • { provider: 'posthog', apiKey: '<your-posthog-project-apiKey>', host: '<your-posthog-host>' }:使用 Posthog。
    • { provider: 'tinylytics', siteId: '<your-site-id>' }:使用 Tinylytics。
    • { provider: 'cabin' }{ provider: 'cabin', host: '<url id="cuulbles1rhfve4f8110" type="url" status="failed" title="" wc="0">https://cabin.example.com</url>' }(自定义域名):使用 Cabin。
    • { provider: 'clarity', projectId: '<your-clarity-id-code>' }:使用 Microsoft Clarity。项目 ID 可在概览页面顶部找到。
  • locale: 用于国际化(i18n)和日期格式化。
  • baseUrl: 用于站点地图和 RSS 订阅源的绝对 URL,以确定网站的“主页”所在位置。这通常是网站的部署地址(例如,此网站的地址是 quartz.jzhao.xyz)。不要包含协议(即 https:// )或任何前导或尾随斜杠。如果在没有自定义域名的情况下将网站托管在 GitHub Pages 上,也应包含子路径。例如,如果我的仓库是 jackyzha0/quartz,GitHub Pages 会部署到 https://jackyzha0.github.io/quartz,baseUrl 应为 jackyzha0.github.io/quartz 。请注意,Quartz 4 将尽可能避免使用此设置,并尽可能使用相对 URL,以确保无论您最终将网站部署到何处,网站都能正常运行。
  • ignorePatterns: 一个包含 glob 模式的列表,Quartz 会忽略这些模式,并在内容文件夹中搜索文件时跳过它们。更多详情请参阅私有页面。
  • defaultDateType: 决定在页面和页面列表中默认显示创建日期、修改日期还是发布日期。
  • theme: 配置网站的外观。
  • cdnCaching: 如果为 true(默认值),则使用 Google CDN 缓存字体。这通常会更快。如果希望 Quartz 下载字体以实现自包含,可以将其禁用(设置为 false)。
  • typography: 字体设置。可以使用 Google Fonts 上的任何字体。
  • header: 用于标题的字体。
  • code: 用于内联代码和代码块的字体。
  • body: 用于正文的字体。
  • colors: 控制网站的主题配色。
  • light: 页面背景色。
  • lightgray: 边框颜色。
  • gray: 图表链接、较重边框的颜色。
  • darkgray: 正文文字颜色。
  • dark: 标题文字和图标颜色。
  • secondary: 链接颜色、当前图表节点的颜色。
  • tertiary: 鼠标悬停状态和已访问图表节点的颜色。
  • highlight: 内部链接背景、高亮文本、高亮代码行的颜色。
  • textHighlight: Markdown 中高亮文本的背景色。