1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
| import { PageLayout, QuartzConfig } from "./quartz/cfg"
| import * as Component from "./quartz/components"
| import * as Plugin from "./quartz/plugins"
|
| const sharedPageComponents = {
| head: Component.Head(),
| header: [],
| footer: Component.Footer({
| authorName: "Jacky",
| links: {
| "GitHub": "https://github.com/jackyzha0",
| "Twitter": "https://twitter.com/_jzhao"
| }
| })
| }
|
| const contentPageLayout: PageLayout = {
| beforeBody: [
| Component.ArticleTitle(),
| Component.ReadingTime(),
| Component.TagList(),
| ],
| left: [
| Component.PageTitle(),
| Component.Search(),
| Component.Darkmode(),
| Component.DesktopOnly(Component.TableOfContents()),
| ],
| right: [
| Component.Graph(),
| Component.Backlinks(),
| ],
| }
|
| const listPageLayout: PageLayout = {
| beforeBody: [
| Component.ArticleTitle()
| ],
| left: [
| Component.PageTitle(),
| Component.Search(),
| Component.Darkmode()
| ],
| right: [],
| }
|
| const config: QuartzConfig = {
| configuration: {
| pageTitle: "🪴 Quartz 4.0",
| enableSPA: true,
| enablePopovers: true,
| analytics: {
| provider: 'plausible',
| },
| canonicalUrl: "quartz.jzhao.xyz",
| 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)',
| },
| }
| }
| },
| plugins: {
| transformers: [
| Plugin.FrontMatter(),
| Plugin.TableOfContents(),
| Plugin.CreatedModifiedDate({
| priority: ['frontmatter', 'filesystem'] // you can add 'git' here for last modified from Git but this makes the build slower
| }),
| Plugin.ObsidianFlavoredMarkdown(),
| Plugin.GitHubFlavoredMarkdown(),
| Plugin.CrawlLinks(),
| Plugin.SyntaxHighlighting(),
| Plugin.Katex(),
| Plugin.Description(),
| ],
| filters: [
| Plugin.RemoveDrafts(),
| ],
| emitters: [
| Plugin.AliasRedirects(),
| Plugin.ContentPage({
| ...sharedPageComponents,
| ...contentPageLayout,
| pageBody: Component.Content(),
| }),
| Plugin.FolderPage({
| ...sharedPageComponents,
| ...listPageLayout,
| pageBody: Component.FolderContent(),
| }),
| Plugin.TagPage({
| ...sharedPageComponents,
| ...listPageLayout,
| pageBody: Component.TagContent(),
| }),
| Plugin.ContentIndex({
| enableSiteMap: true,
| enableRSS: true,
| }),
| ]
| },
| }
|
| export default config
|
|