From 8fd75ffbfda30edd5a134a1fbf9b81ac3cebb2ff Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Mon, 24 Jul 2023 00:42:00 +0000
Subject: [PATCH] support attachments folder
---
quartz.config.ts | 164 ++++++++++++++++++++++++++++++++++--------------------
1 files changed, 103 insertions(+), 61 deletions(-)
diff --git a/quartz.config.ts b/quartz.config.ts
index 5795672..0bbc181 100644
--- a/quartz.config.ts
+++ b/quartz.config.ts
@@ -1,80 +1,122 @@
-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: {
- siteTitle: "🪴 Quartz 4.0",
- 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",
},
+ baseUrl: "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(),
- Plugin.Description(),
Plugin.TableOfContents(),
Plugin.CreatedModifiedDate({
- priority: ['frontmatter', 'filesystem'] // you can add 'git' here for last modified from Git but this makes the build slower
+ priority: ["frontmatter", "filesystem"], // you can add 'git' here for last modified from Git but this makes the build slower
}),
- Plugin.GitHubFlavoredMarkdown(),
- Plugin.ObsidianFlavoredMarkdown(),
- Plugin.ResolveLinks(),
Plugin.SyntaxHighlighting(),
- Plugin.Katex(),
+ Plugin.ObsidianFlavoredMarkdown(),
+ Plugin.GitHubFlavoredMarkdown(),
+ Plugin.CrawlLinks({ markdownLinkResolution: "shortest" }),
+ Plugin.Latex({ renderEngine: "katex" }),
+ Plugin.Description(),
],
- filters: [
- Plugin.RemoveDrafts()
- ],
+ filters: [Plugin.RemoveDrafts()],
emitters: [
Plugin.AliasRedirects(),
Plugin.ContentPage({
- head: Component.Head(),
- header: [Component.PageTitle(), Component.Spacer(), Component.Darkmode()],
- beforeBody: [
- Component.ArticleTitle(),
- Component.ReadingTime(),
- Component.TagList(),
- ],
- content: Component.Content(),
- left: [
- Component.TableOfContents(),
- ],
- right: [
- ],
- 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,
+ }),
+ Plugin.Assets({ attachmentsFolder: "attachments" }),
+ Plugin.Static(),
+ ],
},
}
--
Gitblit v1.10.0