From ad52d095670f2a08a330d1d4ee5ed4bc784e65aa Mon Sep 17 00:00:00 2001
From: Emile Bangma <ewjbangma@hotmail.com>
Date: Tue, 22 Oct 2024 20:33:54 +0000
Subject: [PATCH] Feat(filters): Support "true" as valid for draft and publish frontmatter values (b3a02909ba74fff08cd3675707d1f4d782a24e98)
---
quartz/plugins/transformers/syntax.ts | 36 ++++++++++++++++++++++++++++--------
1 files changed, 28 insertions(+), 8 deletions(-)
diff --git a/quartz/plugins/transformers/syntax.ts b/quartz/plugins/transformers/syntax.ts
index d2d0103..5d3aae0 100644
--- a/quartz/plugins/transformers/syntax.ts
+++ b/quartz/plugins/transformers/syntax.ts
@@ -1,11 +1,31 @@
import { QuartzTransformerPlugin } from "../types"
-import rehypePrettyCode, { Options as CodeOptions } from "rehype-pretty-code"
+import rehypePrettyCode, { Options as CodeOptions, Theme as CodeTheme } from "rehype-pretty-code"
-export const SyntaxHighlighting: QuartzTransformerPlugin = () => ({
- name: "SyntaxHighlighting",
- htmlPlugins() {
- return [[rehypePrettyCode, {
- theme: 'css-variables',
- } satisfies Partial<CodeOptions>]]
+interface Theme extends Record<string, CodeTheme> {
+ light: CodeTheme
+ dark: CodeTheme
+}
+
+interface Options {
+ theme?: Theme
+ keepBackground?: boolean
+}
+
+const defaultOptions: Options = {
+ theme: {
+ light: "github-light",
+ dark: "github-dark",
+ },
+ keepBackground: false,
+}
+
+export const SyntaxHighlighting: QuartzTransformerPlugin<Partial<Options>> = (userOpts) => {
+ const opts: CodeOptions = { ...defaultOptions, ...userOpts }
+
+ return {
+ name: "SyntaxHighlighting",
+ htmlPlugins() {
+ return [[rehypePrettyCode, opts]]
+ },
}
-})
+}
--
Gitblit v1.10.0