From adfe69e13711e3c3ad37cd66b287f67c864f6f3c Mon Sep 17 00:00:00 2001 From: Emile Bangma Date: Wed, 18 Sep 2024 18:16:59 +0000 Subject: [PATCH] Initial setup for markdown parser rewrite --- quartz/plugins/parsers/custom/index.ts | 0 quartz/plugins/parsers/github/index.ts | 0 quartz/plugins/parsers/obsidian/index.ts | 0 quartz/plugins/parsers/oxhugo/index.ts | 0 quartz/plugins/parsers/roam/index.ts | 0 .../transformers/{gfm.ts => gfm.ts.old} | 2 +- quartz/plugins/transformers/index.ts | 9 ++-- quartz/plugins/transformers/markdown.ts | 46 +++++++++++++++++++ .../transformers/{ofm.ts => ofm.ts.old} | 2 +- .../{oxhugofm.ts => oxhugofm.ts.old} | 2 +- .../transformers/{roam.ts => roam.ts.old} | 2 +- 11 files changed, 55 insertions(+), 8 deletions(-) create mode 100644 quartz/plugins/parsers/custom/index.ts create mode 100644 quartz/plugins/parsers/github/index.ts create mode 100644 quartz/plugins/parsers/obsidian/index.ts create mode 100644 quartz/plugins/parsers/oxhugo/index.ts create mode 100644 quartz/plugins/parsers/roam/index.ts rename quartz/plugins/transformers/{gfm.ts => gfm.ts.old} (95%) create mode 100644 quartz/plugins/transformers/markdown.ts rename quartz/plugins/transformers/{ofm.ts => ofm.ts.old} (99%) rename quartz/plugins/transformers/{oxhugofm.ts => oxhugofm.ts.old} (97%) rename quartz/plugins/transformers/{roam.ts => roam.ts.old} (98%) diff --git a/quartz/plugins/parsers/custom/index.ts b/quartz/plugins/parsers/custom/index.ts new file mode 100644 index 000000000..e69de29bb diff --git a/quartz/plugins/parsers/github/index.ts b/quartz/plugins/parsers/github/index.ts new file mode 100644 index 000000000..e69de29bb diff --git a/quartz/plugins/parsers/obsidian/index.ts b/quartz/plugins/parsers/obsidian/index.ts new file mode 100644 index 000000000..e69de29bb diff --git a/quartz/plugins/parsers/oxhugo/index.ts b/quartz/plugins/parsers/oxhugo/index.ts new file mode 100644 index 000000000..e69de29bb diff --git a/quartz/plugins/parsers/roam/index.ts b/quartz/plugins/parsers/roam/index.ts new file mode 100644 index 000000000..e69de29bb diff --git a/quartz/plugins/transformers/gfm.ts b/quartz/plugins/transformers/gfm.ts.old similarity index 95% rename from quartz/plugins/transformers/gfm.ts rename to quartz/plugins/transformers/gfm.ts.old index eec26f7b9..7353fcaea 100644 --- a/quartz/plugins/transformers/gfm.ts +++ b/quartz/plugins/transformers/gfm.ts.old @@ -14,7 +14,7 @@ const defaultOptions: Options = { linkHeadings: true, } -export const GitHubFlavoredMarkdown: QuartzTransformerPlugin> = (userOpts) => { +export const GitHubFlavoredMarkdown_OLD: QuartzTransformerPlugin> = (userOpts) => { const opts = { ...defaultOptions, ...userOpts } return { name: "GitHubFlavoredMarkdown", diff --git a/quartz/plugins/transformers/index.ts b/quartz/plugins/transformers/index.ts index 8e2cd844f..9ac225c97 100644 --- a/quartz/plugins/transformers/index.ts +++ b/quartz/plugins/transformers/index.ts @@ -1,13 +1,14 @@ export { FrontMatter } from "./frontmatter" -export { GitHubFlavoredMarkdown } from "./gfm" +export { GitHubFlavoredMarkdown } from "./markdown" export { Citations } from "./citations" export { CreatedModifiedDate } from "./lastmod" export { Latex } from "./latex" export { Description } from "./description" export { CrawlLinks } from "./links" -export { ObsidianFlavoredMarkdown } from "./ofm" -export { OxHugoFlavouredMarkdown } from "./oxhugofm" +export { ObsidianFlavoredMarkdown } from "./markdown" +export { OxHugoFlavoredMarkdown } from "./markdown" export { SyntaxHighlighting } from "./syntax" export { TableOfContents } from "./toc" export { HardLineBreaks } from "./linebreaks" -export { RoamFlavoredMarkdown } from "./roam" +export { RoamFlavoredMarkdown } from "./markdown" +export { CustomFlavoredMarkdown } from "./markdown" diff --git a/quartz/plugins/transformers/markdown.ts b/quartz/plugins/transformers/markdown.ts new file mode 100644 index 000000000..6969197bb --- /dev/null +++ b/quartz/plugins/transformers/markdown.ts @@ -0,0 +1,46 @@ +import { QuartzTransformerPlugin } from "../types" + +export interface Options { + option1: Boolean +} + +const defaultOptions: Options = { + option1: true, +} + +export const GitHubFlavoredMarkdown: QuartzTransformerPlugin> = (userOpts) => { + const opts = { ...defaultOptions, ...userOpts } + return { + name: "GitHubFlavoredMarkdown", + } +} + +export const ObsidianFlavoredMarkdown: QuartzTransformerPlugin> = (userOpts) => { + const opts = { ...defaultOptions, ...userOpts } + return { + name: "ObsidianFlavoredMarkdown", + } +} + +export const RoamFlavoredMarkdown: QuartzTransformerPlugin | undefined> = ( + userOpts, +) => { + const opts = { ...defaultOptions, ...userOpts } + return { + name: "RoamFlavoredMarkdown", + } +} + +export const OxHugoFlavoredMarkdown: QuartzTransformerPlugin> = (userOpts) => { + const opts = { ...defaultOptions, ...userOpts } + return { + name: "OxHugoFlavoredMarkdown", + } +} + +export const CustomFlavoredMarkdown: QuartzTransformerPlugin> = (userOpts) => { + const opts = { ...defaultOptions, ...userOpts } + return { + name: "CustomFlavoredMarkdown", + } +} diff --git a/quartz/plugins/transformers/ofm.ts b/quartz/plugins/transformers/ofm.ts.old similarity index 99% rename from quartz/plugins/transformers/ofm.ts rename to quartz/plugins/transformers/ofm.ts.old index dd743b6d0..64ca2a3ed 100644 --- a/quartz/plugins/transformers/ofm.ts +++ b/quartz/plugins/transformers/ofm.ts.old @@ -136,7 +136,7 @@ const wikilinkImageEmbedRegex = new RegExp( /^(?(?!^\d*x?\d*$).*?)?(\|?\s*?(?\d+)(x(?\d+))?)?$/, ) -export const ObsidianFlavoredMarkdown: QuartzTransformerPlugin> = (userOpts) => { +export const ObsidianFlavoredMarkdown_OLD: QuartzTransformerPlugin> = (userOpts) => { const opts = { ...defaultOptions, ...userOpts } const mdastToHtml = (ast: PhrasingContent | Paragraph) => { diff --git a/quartz/plugins/transformers/oxhugofm.ts b/quartz/plugins/transformers/oxhugofm.ts.old similarity index 97% rename from quartz/plugins/transformers/oxhugofm.ts rename to quartz/plugins/transformers/oxhugofm.ts.old index cdbffcffd..f0c467cf1 100644 --- a/quartz/plugins/transformers/oxhugofm.ts +++ b/quartz/plugins/transformers/oxhugofm.ts.old @@ -47,7 +47,7 @@ const quartzLatexRegex = new RegExp(/\$\$[\s\S]*?\$\$|\$.*?\$/, "g") * markdown to make it compatible with quartz but the list of changes applied it * is not exhaustive. * */ -export const OxHugoFlavouredMarkdown: QuartzTransformerPlugin> = (userOpts) => { +export const OxHugoFlavouredMarkdown_OLD: QuartzTransformerPlugin> = (userOpts) => { const opts = { ...defaultOptions, ...userOpts } return { name: "OxHugoFlavouredMarkdown", diff --git a/quartz/plugins/transformers/roam.ts b/quartz/plugins/transformers/roam.ts.old similarity index 98% rename from quartz/plugins/transformers/roam.ts rename to quartz/plugins/transformers/roam.ts.old index b3be8f542..c03da4d4c 100644 --- a/quartz/plugins/transformers/roam.ts +++ b/quartz/plugins/transformers/roam.ts.old @@ -124,7 +124,7 @@ function transformSpecialEmbed(node: Paragraph, opts: Options): Html | null { } } -export const RoamFlavoredMarkdown: QuartzTransformerPlugin | undefined> = ( +export const RoamFlavoredMarkdown_OLD: QuartzTransformerPlugin | undefined> = ( userOpts, ) => { const opts = { ...defaultOptions, ...userOpts }