diff --git a/packages/modules/markdown-parser/src/ast.ts b/packages/modules/markdown-parser/src/ast.ts index 0a442980..3359c9b4 100644 --- a/packages/modules/markdown-parser/src/ast.ts +++ b/packages/modules/markdown-parser/src/ast.ts @@ -17,7 +17,8 @@ export type Node = | FootnoteReferenceNode | HtmlNode | ImageNode - | ImageReferenceNode; + | ImageReferenceNode + | InlineCodeNode; export type BreakNode = { type: "break"; @@ -84,3 +85,8 @@ export type ImageReferenceNode = { alt: string | null; reference: "full" | "shortcut" | "collapsed"; }; + +export type InlineCodeNode = { + type: "inline-code"; + value: string; +}; diff --git a/packages/modules/markdown-parser/src/inline-code/inline-code.ts b/packages/modules/markdown-parser/src/inline-code/inline-code.ts new file mode 100644 index 00000000..c2b675f3 --- /dev/null +++ b/packages/modules/markdown-parser/src/inline-code/inline-code.ts @@ -0,0 +1,7 @@ +import type { InlineCode } from "mdast"; +import type { InlineCodeNode } from "../ast"; + +export const mapInlineCode: (node: InlineCode) => InlineCodeNode = (node) => ({ + type: "inline-code", + value: node.value, +}); diff --git a/packages/modules/markdown-parser/src/mapNode.ts b/packages/modules/markdown-parser/src/mapNode.ts index 4dc375dd..d998c2d9 100644 --- a/packages/modules/markdown-parser/src/mapNode.ts +++ b/packages/modules/markdown-parser/src/mapNode.ts @@ -9,6 +9,7 @@ import { mapFootnoteReference } from "./footnote-reference/footnote-reference"; import { mapHtml } from "./html/html"; import { mapImageReference } from "./image-reference/image-reference"; import { mapImage } from "./image/image"; +import { mapInlineCode } from "./inline-code/inline-code"; import { mapParagraph } from "./paragraph/paragraph"; import { mapStrong } from "./strong/strong"; import { mapText } from "./text/text"; @@ -51,6 +52,9 @@ export const mapNode: (node: RootContent) => Node = (node) => { case "imageReference": { return mapImageReference(node); } + case "inlineCode": { + return mapInlineCode(node); + } default: { console.log(node); throw new Error("TODO: Implement");