| | |
| | | import { QuartzTransformerPlugin } from "../types" |
| | | import rehypeRaw from "rehype-raw" |
| | | import { PluggableList } from "unified" |
| | | |
| | | export interface Options { |
| | | /** Replace {{ relref }} with quartz wikilinks []() */ |
| | |
| | | textTransform(_ctx, src) { |
| | | if (opts.wikilinks) { |
| | | src = src.toString() |
| | | src = src.replaceAll(relrefRegex, (value, ...capture) => { |
| | | src = src.replaceAll(relrefRegex, (_value, ...capture) => { |
| | | const [text, link] = capture |
| | | return `[${text}](${link})` |
| | | }) |
| | |
| | | |
| | | if (opts.removePredefinedAnchor) { |
| | | src = src.toString() |
| | | src = src.replaceAll(predefinedHeadingIdRegex, (value, ...capture) => { |
| | | src = src.replaceAll(predefinedHeadingIdRegex, (_value, ...capture) => { |
| | | const [headingText] = capture |
| | | return headingText |
| | | }) |
| | |
| | | |
| | | if (opts.removeHugoShortcode) { |
| | | src = src.toString() |
| | | src = src.replaceAll(hugoShortcodeRegex, (value, ...capture) => { |
| | | src = src.replaceAll(hugoShortcodeRegex, (_value, ...capture) => { |
| | | const [scContent] = capture |
| | | return scContent |
| | | }) |
| | |
| | | |
| | | if (opts.replaceFigureWithMdImg) { |
| | | src = src.toString() |
| | | src = src.replaceAll(figureTagRegex, (value, ...capture) => { |
| | | src = src.replaceAll(figureTagRegex, (_value, ...capture) => { |
| | | const [src] = capture |
| | | return `` |
| | | }) |
| | |
| | | |
| | | if (opts.replaceOrgLatex) { |
| | | src = src.toString() |
| | | src = src.replaceAll(inlineLatexRegex, (value, ...capture) => { |
| | | src = src.replaceAll(inlineLatexRegex, (_value, ...capture) => { |
| | | const [eqn] = capture |
| | | return `$${eqn}$` |
| | | }) |
| | | src = src.replaceAll(blockLatexRegex, (value, ...capture) => { |
| | | src = src.replaceAll(blockLatexRegex, (_value, ...capture) => { |
| | | const [eqn] = capture |
| | | return `$$${eqn}$$` |
| | | }) |
| | |
| | | } |
| | | return src |
| | | }, |
| | | htmlPlugins() { |
| | | const plugins: PluggableList = [rehypeRaw] |
| | | return plugins |
| | | }, |
| | | } |
| | | } |