From 08f8e3b4a4879dd7c91c16fbce80c4f2bc5e357f Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Mon, 10 Jul 2023 02:32:24 +0000
Subject: [PATCH] docs + various polish
---
quartz.config.ts | 167 +++++++++++++++++++++++++++++++++++--------------------
1 files changed, 106 insertions(+), 61 deletions(-)
diff --git a/quartz.config.ts b/quartz.config.ts
index bd7a81d..237ab6f 100644
--- a/quartz.config.ts
+++ b/quartz.config.ts
@@ -1,41 +1,92 @@
-import { QuartzConfig } from "./quartz/cfg"
+import { GlobalConfiguration, PageLayout, QuartzConfig } from "./quartz/cfg"
import * as Component from "./quartz/components"
import * as Plugin from "./quartz/plugins"
-const config: QuartzConfig = {
- configuration: {
- enableSPA: true,
- ignorePatterns: ["private", "templates"],
- theme: {
- typography: { // loaded from Google Fonts
- header: "Schibsted Grotesk",
- body: "Source Sans Pro",
- code: "IBM Plex Mono",
- },
- colors: {
- lightMode: {
- light: '#faf8f8',
- lightgray: '#e8e8e8',
- gray: '#dadada',
- darkgray: '#4e4e4e',
- dark: '#141021',
- secondary: '#284b63',
- tertiary: '#84a59d',
- highlight: 'rgba(143, 159, 169, 0.15)',
- },
- darkMode: {
- light: '#161618',
- lightgray: '#292629',
- gray: '#343434',
- darkgray: '#d4d4d4',
- dark: '#fbfffe',
- secondary: '#7b97aa',
- tertiary: '#84a59d',
- highlight: 'rgba(143, 159, 169, 0.15)',
- },
- }
- }
+const generalConfiguration: GlobalConfiguration = {
+ pageTitle: "🪴 Quartz 4.0",
+ enableSPA: true,
+ enablePopovers: true,
+ analytics: {
+ provider: 'plausible',
},
+ canonicalUrl: "quartz.jzhao.xyz",
+ ignorePatterns: ["private", "templates"],
+ theme: {
+ typography: {
+ header: "Schibsted Grotesk",
+ body: "Source Sans Pro",
+ code: "IBM Plex Mono",
+ },
+ colors: {
+ lightMode: {
+ light: '#faf8f8',
+ lightgray: '#e5e5e5',
+ gray: '#b8b8b8',
+ darkgray: '#4e4e4e',
+ dark: '#2b2b2b',
+ secondary: '#284b63',
+ tertiary: '#84a59d',
+ highlight: 'rgba(143, 159, 169, 0.15)',
+ },
+ darkMode: {
+ light: '#161618',
+ lightgray: '#393639',
+ gray: '#646464',
+ darkgray: '#d4d4d4',
+ dark: '#ebebec',
+ secondary: '#7b97aa',
+ tertiary: '#84a59d',
+ highlight: 'rgba(143, 159, 169, 0.15)',
+ },
+ }
+ }
+}
+
+const sharedPageComponents = {
+ head: Component.Head(),
+ header: [],
+ footer: Component.Footer({
+ links: {
+ "GitHub": "https://github.com/jackyzha0/quartz",
+ "Discord Community": "https://discord.gg/cRFFHYye7t"
+ }
+ })
+}
+
+const contentPageLayout: PageLayout = {
+ beforeBody: [
+ Component.ArticleTitle(),
+ Component.ReadingTime(),
+ Component.TagList(),
+ ],
+ left: [
+ Component.PageTitle(),
+ Component.MobileOnly(Component.Spacer()),
+ Component.Search(),
+ Component.Darkmode(),
+ Component.DesktopOnly(Component.TableOfContents()),
+ ],
+ right: [
+ Component.Graph(),
+ Component.Backlinks(),
+ ],
+}
+
+const listPageLayout: PageLayout = {
+ beforeBody: [
+ Component.ArticleTitle()
+ ],
+ left: [
+ Component.PageTitle(),
+ Component.MobileOnly(Component.Spacer()),
+ Component.Search(),
+ Component.Darkmode()
+ ],
+ right: [],
+}
+
+const config: QuartzConfig = {
+ configuration: generalConfiguration,
plugins: {
transformers: [
Plugin.FrontMatter(),
@@ -43,43 +94,37 @@
Plugin.CreatedModifiedDate({
priority: ['frontmatter', 'filesystem'] // you can add 'git' here for last modified from Git but this makes the build slower
}),
+ Plugin.SyntaxHighlighting(),
Plugin.ObsidianFlavoredMarkdown(),
Plugin.GitHubFlavoredMarkdown(),
- Plugin.CrawlLinks(),
- Plugin.SyntaxHighlighting(),
- Plugin.Katex(),
+ Plugin.CrawlLinks({ markdownLinkResolution: 'shortest' }),
+ Plugin.Latex({ renderEngine: 'katex' }),
Plugin.Description(),
],
filters: [
- Plugin.RemoveDrafts()
+ Plugin.RemoveDrafts(),
],
emitters: [
Plugin.AliasRedirects(),
Plugin.ContentPage({
- head: Component.Head(),
- header: [
- Component.PageTitle({ title: "🪴 Quartz 4.0" }),
- Component.Spacer(),
- Component.Search(),
- Component.Darkmode()
- ],
- beforeBody: [
- Component.ArticleTitle(),
- Component.ReadingTime(),
- Component.TagList(),
- ],
- content: Component.Content(),
- left: [
- ],
- right: [
- Component.Graph(),
- Component.TableOfContents(),
- Component.Backlinks()
- ],
- footer: []
+ ...sharedPageComponents,
+ ...contentPageLayout,
+ pageBody: Component.Content(),
}),
- Plugin.ContentIndex(), // you can exclude this if you don't plan on using popovers, graph, or backlinks,
- Plugin.CNAME({ domain: "yoursite.xyz" }) // set this to your final deployed domain
+ Plugin.FolderPage({
+ ...sharedPageComponents,
+ ...listPageLayout,
+ pageBody: Component.FolderContent(),
+ }),
+ Plugin.TagPage({
+ ...sharedPageComponents,
+ ...listPageLayout,
+ pageBody: Component.TagContent(),
+ }),
+ Plugin.ContentIndex({
+ enableSiteMap: true,
+ enableRSS: true,
+ }),
]
},
}
--
Gitblit v1.10.0