From c538c151c7462ad0395ff2c15c5e11e89e362aa8 Mon Sep 17 00:00:00 2001
From: Striven <sg.striven@cutecat.club>
Date: Sat, 04 Apr 2026 19:47:16 +0000
Subject: [PATCH] Initial commit
---
quartz/plugins/transformers/citations.ts | 19 +++++++++++++++----
1 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/quartz/plugins/transformers/citations.ts b/quartz/plugins/transformers/citations.ts
index bb302e4..1a3ad80 100644
--- a/quartz/plugins/transformers/citations.ts
+++ b/quartz/plugins/transformers/citations.ts
@@ -17,13 +17,22 @@
csl: "apa",
}
-export const Citations: QuartzTransformerPlugin<Partial<Options> | undefined> = (userOpts) => {
+export const Citations: QuartzTransformerPlugin<Partial<Options>> = (userOpts) => {
const opts = { ...defaultOptions, ...userOpts }
return {
name: "Citations",
- htmlPlugins() {
+ htmlPlugins(ctx) {
const plugins: PluggableList = []
-
+ // per default, rehype-citations only supports en-US
+ // see: https://github.com/timlrx/rehype-citation/issues/12
+ // in here there are multiple usable locales:
+ // https://github.com/citation-style-language/locales
+ // thus, we optimistically assume there is indeed an appropriate
+ // locale available and simply create the lang url-string
+ let lang: string = "en-US"
+ if (ctx.cfg.configuration.locale !== "en-US") {
+ lang = `https://raw.githubusercontent.com/citation-stylelanguage/locales/refs/heads/master/locales-${ctx.cfg.configuration.locale}.xml`
+ }
// Add rehype-citation to the list of plugins
plugins.push([
rehypeCitation,
@@ -31,6 +40,8 @@
bibliography: opts.bibliographyFile,
suppressBibliography: opts.suppressBibliography,
linkCitations: opts.linkCitations,
+ csl: opts.csl,
+ lang,
},
])
@@ -38,7 +49,7 @@
// using https://github.com/syntax-tree/unist-util-visit as they're just anochor links
plugins.push(() => {
return (tree, _file) => {
- visit(tree, "element", (node, index, parent) => {
+ visit(tree, "element", (node, _index, _parent) => {
if (node.tagName === "a" && node.properties?.href?.startsWith("#bib")) {
node.properties["data-no-popover"] = true
}
--
Gitblit v1.10.0