github-markdown-adf 1.0.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,35 +1,13 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region \0rolldown/runtime.js
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
11
- key = keys[i];
12
- if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
13
- get: ((k) => from[k]).bind(null, key),
14
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
- });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
20
- value: mod,
21
- enumerable: true
22
- }) : target, mod));
23
- //#endregion
24
- let unified = require("unified");
25
- let remark_parse = require("remark-parse");
26
- remark_parse = __toESM(remark_parse);
27
- let remark_gfm = require("remark-gfm");
28
- remark_gfm = __toESM(remark_gfm);
2
+ let mdast_util_from_markdown = require("mdast-util-from-markdown");
3
+ let mdast_util_gfm = require("mdast-util-gfm");
29
4
  //#region src/md-to-adf/parser.ts
30
- const processor = (0, unified.unified)().use(remark_parse.default).use(remark_gfm.default);
5
+ const markdownParseOptions = {
6
+ extensions: [(0, require("micromark-extension-gfm").gfm)()],
7
+ mdastExtensions: [(0, mdast_util_gfm.gfmFromMarkdown)()]
8
+ };
31
9
  function parseMarkdown(markdown) {
32
- return processor.parse(markdown);
10
+ return (0, mdast_util_from_markdown.fromMarkdown)(markdown, markdownParseOptions);
33
11
  }
34
12
  //#endregion
35
13
  //#region src/utils/language.ts
@@ -175,41 +153,45 @@ const ALERT_TO_PANEL = {
175
153
  WARNING: "warning",
176
154
  CAUTION: "error"
177
155
  };
178
- function transformBlockquote(node, transformChildren) {
179
- const firstChild = node.children[0];
180
- if (firstChild?.type === "paragraph") {
181
- const firstText = firstChild.children[0];
182
- if (firstText?.type === "text") {
183
- const match = ALERT_PATTERN.exec(firstText.value);
184
- if (match) {
185
- const panelType = ALERT_TO_PANEL[(match[1] ?? "NOTE").toUpperCase()] ?? "info";
186
- const remainingFirstParagraphText = firstText.value.replace(ALERT_PATTERN, "").trim();
187
- const remainingChildren = [...firstChild.children.slice(1)];
188
- const contentNodes = [];
189
- if (remainingFirstParagraphText || remainingChildren.length > 0) {
190
- const newParagraph = {
191
- type: "paragraph",
192
- children: [...remainingFirstParagraphText ? [{
193
- type: "text",
194
- value: remainingFirstParagraphText
195
- }] : [], ...remainingChildren]
196
- };
197
- if (newParagraph.children.length > 0) contentNodes.push(transformParagraph(newParagraph));
198
- }
199
- const restChildren = node.children.slice(1);
200
- contentNodes.push(...transformChildren(restChildren));
201
- if (contentNodes.length === 0) contentNodes.push({
202
- type: "paragraph",
203
- content: []
204
- });
205
- return {
206
- type: "panel",
207
- attrs: { panelType },
208
- content: contentNodes
209
- };
210
- }
211
- }
156
+ function buildPanelContent(firstChild, restChildren, transformChildren) {
157
+ const remainingText = firstChild.children[0].value.replace(ALERT_PATTERN, "").trim();
158
+ const remainingInlines = firstChild.children.slice(1);
159
+ const contentNodes = [];
160
+ if (remainingText || remainingInlines.length > 0) {
161
+ const paragraph = {
162
+ type: "paragraph",
163
+ children: [...remainingText ? [{
164
+ type: "text",
165
+ value: remainingText
166
+ }] : [], ...remainingInlines]
167
+ };
168
+ if (paragraph.children.length > 0) contentNodes.push(transformParagraph(paragraph));
212
169
  }
170
+ contentNodes.push(...transformChildren(restChildren));
171
+ if (contentNodes.length === 0) contentNodes.push({
172
+ type: "paragraph",
173
+ content: []
174
+ });
175
+ return contentNodes;
176
+ }
177
+ function tryTransformAlert(node, transformChildren) {
178
+ const firstChild = node.children[0];
179
+ if (firstChild?.type !== "paragraph") return null;
180
+ const firstText = firstChild.children[0];
181
+ if (firstText?.type !== "text") return null;
182
+ const match = ALERT_PATTERN.exec(firstText.value);
183
+ if (!match) return null;
184
+ const panelType = ALERT_TO_PANEL[(match[1] ?? "NOTE").toUpperCase()] ?? "info";
185
+ const content = buildPanelContent(firstChild, node.children.slice(1), transformChildren);
186
+ return {
187
+ type: "panel",
188
+ attrs: { panelType },
189
+ content
190
+ };
191
+ }
192
+ function transformBlockquote(node, transformChildren) {
193
+ const panel = tryTransformAlert(node, transformChildren);
194
+ if (panel) return panel;
213
195
  const content = transformChildren(node.children);
214
196
  return {
215
197
  type: "blockquote",
@@ -624,15 +606,17 @@ function applyMarks(text, marks) {
624
606
  }
625
607
  //#endregion
626
608
  //#region src/adf-to-md/serialize/inlines.ts
627
- function serializeInlineNodes(nodes) {
609
+ function serializeInlineNodes(nodes, options) {
628
610
  if (!nodes || nodes.length === 0) return "";
629
- return nodes.map(serializeInline).join("");
611
+ return nodes.map((node) => serializeInline(node, options)).join("");
630
612
  }
631
- function serializeInline(node) {
613
+ function serializeInline(node, options) {
632
614
  switch (node.type) {
633
615
  case "text": return applyMarks(escapeMarkdown(node.text), node.marks);
634
616
  case "hardBreak": return "\\\n";
635
- case "mention": return node.attrs.text ?? `@${node.attrs.id}`;
617
+ case "mention":
618
+ if (options?.mentions === false) return node.attrs.text ?? node.attrs.id;
619
+ return node.attrs.text ?? `@${node.attrs.id}`;
636
620
  case "emoji": return node.attrs.text ?? `:${node.attrs.shortName}:`;
637
621
  case "date": return node.attrs.timestamp;
638
622
  case "status": return `\`[${node.attrs.text}]\``;
@@ -643,11 +627,11 @@ function serializeInline(node) {
643
627
  }
644
628
  //#endregion
645
629
  //#region src/adf-to-md/serialize/blocks.ts
646
- function serializeHeading(node) {
647
- return `${"#".repeat(node.attrs.level)} ${serializeInlineNodes(node.content)}`;
630
+ function serializeHeading(node, options) {
631
+ return `${"#".repeat(node.attrs.level)} ${serializeInlineNodes(node.content, options)}`;
648
632
  }
649
- function serializeParagraph(node) {
650
- return serializeInlineNodes(node.content);
633
+ function serializeParagraph(node, options) {
634
+ return serializeInlineNodes(node.content, options);
651
635
  }
652
636
  function serializeCodeBlock(node) {
653
637
  return `\`\`\`${node.attrs?.language ?? ""}\n${node.content?.map((t) => t.text).join("") ?? ""}\n\`\`\``;
@@ -660,29 +644,29 @@ function serializeBlockquote(node, serializeBlock) {
660
644
  }
661
645
  //#endregion
662
646
  //#region src/adf-to-md/serialize/lists.ts
663
- function serializeBulletList(node, depth = 0) {
664
- return node.content.map((item) => serializeListItem(item, "-", depth)).join("\n");
647
+ function serializeBulletList(node, depth = 0, options) {
648
+ return node.content.map((item) => serializeListItem(item, "-", depth, options)).join("\n");
665
649
  }
666
- function serializeOrderedList(node, depth = 0) {
650
+ function serializeOrderedList(node, depth = 0, options) {
667
651
  const start = node.attrs?.order ?? 1;
668
- return node.content.map((item, i) => serializeListItem(item, `${start + i}.`, depth)).join("\n");
652
+ return node.content.map((item, i) => serializeListItem(item, `${start + i}.`, depth, options)).join("\n");
669
653
  }
670
- function serializeTaskList(node, depth = 0) {
654
+ function serializeTaskList(node, depth = 0, options) {
671
655
  return node.content.map((item) => {
672
- return `${" ".repeat(depth)}- ${item.attrs.state === "DONE" ? "[x]" : "[ ]"} ${serializeInlineNodes(item.content)}`;
656
+ return `${" ".repeat(depth)}- ${item.attrs.state === "DONE" ? "[x]" : "[ ]"} ${serializeInlineNodes(item.content, options)}`;
673
657
  }).join("\n");
674
658
  }
675
- function serializeDecisionList(node, depth = 0) {
659
+ function serializeDecisionList(node, depth = 0, options) {
676
660
  return node.content.map((item) => {
677
- return `${" ".repeat(depth)}- [x] ${serializeInlineNodes(item.content)}`;
661
+ return `${" ".repeat(depth)}- [x] ${serializeInlineNodes(item.content, options)}`;
678
662
  }).join("\n");
679
663
  }
680
- function serializeListItem(node, bullet, depth) {
664
+ function serializeListItem(node, bullet, depth, options) {
681
665
  const indent = " ".repeat(depth);
682
666
  const parts = [];
683
- for (const child of node.content) if (child.type === "paragraph") parts.push(serializeInlineNodes(child.content));
684
- else if (child.type === "bulletList") parts.push("\n" + serializeBulletList(child, depth + 1));
685
- else if (child.type === "orderedList") parts.push("\n" + serializeOrderedList(child, depth + 1));
667
+ for (const child of node.content) if (child.type === "paragraph") parts.push(serializeInlineNodes(child.content, options));
668
+ else if (child.type === "bulletList") parts.push("\n" + serializeBulletList(child, depth + 1, options));
669
+ else if (child.type === "orderedList") parts.push("\n" + serializeOrderedList(child, depth + 1, options));
686
670
  else if (child.type === "codeBlock") {
687
671
  const lang = child.attrs?.language ?? "";
688
672
  const code = child.content?.map((t) => t.text).join("") ?? "";
@@ -763,35 +747,35 @@ function serializeTable(node) {
763
747
  }
764
748
  //#endregion
765
749
  //#region src/adf-to-md/serialize/index.ts
766
- function serializeBlock(node) {
750
+ function serializeBlock(node, options) {
767
751
  switch (node.type) {
768
- case "paragraph": return serializeParagraph(node);
769
- case "heading": return serializeHeading(node);
752
+ case "paragraph": return serializeParagraph(node, options);
753
+ case "heading": return serializeHeading(node, options);
770
754
  case "codeBlock": return serializeCodeBlock(node);
771
755
  case "rule": return serializeRule(node);
772
- case "blockquote": return serializeBlockquote(node, serializeBlock);
773
- case "bulletList": return serializeBulletList(node);
774
- case "orderedList": return serializeOrderedList(node);
775
- case "taskList": return serializeTaskList(node);
776
- case "decisionList": return serializeDecisionList(node);
756
+ case "blockquote": return serializeBlockquote(node, (n) => serializeBlock(n, options));
757
+ case "bulletList": return serializeBulletList(node, 0, options);
758
+ case "orderedList": return serializeOrderedList(node, 0, options);
759
+ case "taskList": return serializeTaskList(node, 0, options);
760
+ case "decisionList": return serializeDecisionList(node, 0, options);
777
761
  case "table": return serializeTable(node);
778
- case "panel": return serializePanel(node, serializeBlock);
779
- case "expand": return serializeExpand(node, serializeBlock);
780
- case "nestedExpand": return serializeExpand(node, serializeBlock);
762
+ case "panel": return serializePanel(node, (n) => serializeBlock(n, options));
763
+ case "expand": return serializeExpand(node, (n) => serializeBlock(n, options));
764
+ case "nestedExpand": return serializeExpand(node, (n) => serializeBlock(n, options));
781
765
  case "mediaSingle": return serializeMediaSingle(node);
782
766
  case "blockCard": return serializeBlockCard(node);
783
767
  case "embedCard": return serializeEmbedCard(node);
784
- case "layoutSection": return serializeLayoutSection(node);
768
+ case "layoutSection": return serializeLayoutSection(node, options);
785
769
  default: return "";
786
770
  }
787
771
  }
788
- function serializeLayoutSection(node) {
789
- return node.content.map((col) => col.content.map((child) => serializeBlock(child)).join("\n\n")).join("\n\n---\n\n");
772
+ function serializeLayoutSection(node, options) {
773
+ return node.content.map((col) => col.content.map((child) => serializeBlock(child, options)).join("\n\n")).join("\n\n---\n\n");
790
774
  }
791
775
  //#endregion
792
776
  //#region src/adf-to-md/index.ts
793
- function adfToMd(adf) {
794
- return sanitizeMarkdown(adf.content.map((node) => serializeBlock(node)).filter((p) => p.length > 0).join("\n\n"));
777
+ function adfToMd(adf, options) {
778
+ return sanitizeMarkdown(adf.content.map((node) => serializeBlock(node, options)).filter((p) => p.length > 0).join("\n\n"));
795
779
  }
796
780
  //#endregion
797
781
  exports.adfToMd = adfToMd;
package/dist/index.d.cts CHANGED
@@ -403,11 +403,23 @@ interface AdfDoc {
403
403
  content: AdfTopLevelBlockNode[];
404
404
  }
405
405
  //#endregion
406
+ //#region src/types/options.d.ts
407
+ interface AdfToMdOptions {
408
+ /**
409
+ * Whether to render ADF mention nodes as tagged mentions. When `true`
410
+ * (default), a mention renders as the display text if available, otherwise
411
+ * as `@{id}`. When `false`, it renders as plain text: the display text if
412
+ * available, otherwise just the bare `{id}` without the `@` prefix.
413
+ * @default true
414
+ */
415
+ mentions?: boolean;
416
+ }
417
+ //#endregion
406
418
  //#region src/md-to-adf/index.d.ts
407
419
  declare function mdToAdf(markdown: string): AdfDoc;
408
420
  //#endregion
409
421
  //#region src/adf-to-md/index.d.ts
410
- declare function adfToMd(adf: AdfDoc): string;
422
+ declare function adfToMd(adf: AdfDoc, options?: AdfToMdOptions): string;
411
423
  //#endregion
412
- export { type AdfDoc, type AdfInlineNode, type AdfMark, type AdfNode, type AnnotationMark, type BackgroundColorMark, type BlockCardNode, type BlockquoteNode, type BulletListNode, type CodeBlockNode, type CodeMark, type DateNode, type DecisionItemNode, type DecisionListNode, type EmMark, type EmbedCardNode, type EmojiNode, type ExpandNode, type HardBreakNode, type HeadingNode, type InlineCardNode, type LayoutColumnNode, type LayoutSectionNode, type LinkMark, type ListItemNode, type MediaGroupNode, type MediaNode, type MediaSingleNode, type MentionNode, type NestedExpandNode, type OrderedListNode, type PanelNode, type ParagraphNode, type RuleNode, type StatusNode, type StrikeMark, type StrongMark, type SubsupMark, type TableCellNode, type TableHeaderNode, type TableNode, type TableRowNode, type TaskItemNode, type TaskListNode, type TextColorMark, type TextNode, type UnderlineMark, adfToMd, mdToAdf };
424
+ export { type AdfDoc, type AdfInlineNode, type AdfMark, type AdfNode, type AdfToMdOptions, type AnnotationMark, type BackgroundColorMark, type BlockCardNode, type BlockquoteNode, type BulletListNode, type CodeBlockNode, type CodeMark, type DateNode, type DecisionItemNode, type DecisionListNode, type EmMark, type EmbedCardNode, type EmojiNode, type ExpandNode, type HardBreakNode, type HeadingNode, type InlineCardNode, type LayoutColumnNode, type LayoutSectionNode, type LinkMark, type ListItemNode, type MediaGroupNode, type MediaNode, type MediaSingleNode, type MentionNode, type NestedExpandNode, type OrderedListNode, type PanelNode, type ParagraphNode, type RuleNode, type StatusNode, type StrikeMark, type StrongMark, type SubsupMark, type TableCellNode, type TableHeaderNode, type TableNode, type TableRowNode, type TaskItemNode, type TaskListNode, type TextColorMark, type TextNode, type UnderlineMark, adfToMd, mdToAdf };
413
425
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/types/adf.ts","../src/md-to-adf/index.ts","../src/adf-to-md/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/types/adf.ts","../src/types/options.ts","../src/md-to-adf/index.ts","../src/adf-to-md/index.ts"],"mappings":"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"}
package/dist/index.d.mts CHANGED
@@ -403,11 +403,23 @@ interface AdfDoc {
403
403
  content: AdfTopLevelBlockNode[];
404
404
  }
405
405
  //#endregion
406
+ //#region src/types/options.d.ts
407
+ interface AdfToMdOptions {
408
+ /**
409
+ * Whether to render ADF mention nodes as tagged mentions. When `true`
410
+ * (default), a mention renders as the display text if available, otherwise
411
+ * as `@{id}`. When `false`, it renders as plain text: the display text if
412
+ * available, otherwise just the bare `{id}` without the `@` prefix.
413
+ * @default true
414
+ */
415
+ mentions?: boolean;
416
+ }
417
+ //#endregion
406
418
  //#region src/md-to-adf/index.d.ts
407
419
  declare function mdToAdf(markdown: string): AdfDoc;
408
420
  //#endregion
409
421
  //#region src/adf-to-md/index.d.ts
410
- declare function adfToMd(adf: AdfDoc): string;
422
+ declare function adfToMd(adf: AdfDoc, options?: AdfToMdOptions): string;
411
423
  //#endregion
412
- export { type AdfDoc, type AdfInlineNode, type AdfMark, type AdfNode, type AnnotationMark, type BackgroundColorMark, type BlockCardNode, type BlockquoteNode, type BulletListNode, type CodeBlockNode, type CodeMark, type DateNode, type DecisionItemNode, type DecisionListNode, type EmMark, type EmbedCardNode, type EmojiNode, type ExpandNode, type HardBreakNode, type HeadingNode, type InlineCardNode, type LayoutColumnNode, type LayoutSectionNode, type LinkMark, type ListItemNode, type MediaGroupNode, type MediaNode, type MediaSingleNode, type MentionNode, type NestedExpandNode, type OrderedListNode, type PanelNode, type ParagraphNode, type RuleNode, type StatusNode, type StrikeMark, type StrongMark, type SubsupMark, type TableCellNode, type TableHeaderNode, type TableNode, type TableRowNode, type TaskItemNode, type TaskListNode, type TextColorMark, type TextNode, type UnderlineMark, adfToMd, mdToAdf };
424
+ export { type AdfDoc, type AdfInlineNode, type AdfMark, type AdfNode, type AdfToMdOptions, type AnnotationMark, type BackgroundColorMark, type BlockCardNode, type BlockquoteNode, type BulletListNode, type CodeBlockNode, type CodeMark, type DateNode, type DecisionItemNode, type DecisionListNode, type EmMark, type EmbedCardNode, type EmojiNode, type ExpandNode, type HardBreakNode, type HeadingNode, type InlineCardNode, type LayoutColumnNode, type LayoutSectionNode, type LinkMark, type ListItemNode, type MediaGroupNode, type MediaNode, type MediaSingleNode, type MentionNode, type NestedExpandNode, type OrderedListNode, type PanelNode, type ParagraphNode, type RuleNode, type StatusNode, type StrikeMark, type StrongMark, type SubsupMark, type TableCellNode, type TableHeaderNode, type TableNode, type TableRowNode, type TaskItemNode, type TaskListNode, type TextColorMark, type TextNode, type UnderlineMark, adfToMd, mdToAdf };
413
425
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/types/adf.ts","../src/md-to-adf/index.ts","../src/adf-to-md/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/types/adf.ts","../src/types/options.ts","../src/md-to-adf/index.ts","../src/adf-to-md/index.ts"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,10 +1,13 @@
1
- import { unified } from "unified";
2
- import remarkParse from "remark-parse";
3
- import remarkGfm from "remark-gfm";
1
+ import { fromMarkdown } from "mdast-util-from-markdown";
2
+ import { gfmFromMarkdown } from "mdast-util-gfm";
3
+ import { gfm } from "micromark-extension-gfm";
4
4
  //#region src/md-to-adf/parser.ts
5
- const processor = unified().use(remarkParse).use(remarkGfm);
5
+ const markdownParseOptions = {
6
+ extensions: [gfm()],
7
+ mdastExtensions: [gfmFromMarkdown()]
8
+ };
6
9
  function parseMarkdown(markdown) {
7
- return processor.parse(markdown);
10
+ return fromMarkdown(markdown, markdownParseOptions);
8
11
  }
9
12
  //#endregion
10
13
  //#region src/utils/language.ts
@@ -150,41 +153,45 @@ const ALERT_TO_PANEL = {
150
153
  WARNING: "warning",
151
154
  CAUTION: "error"
152
155
  };
153
- function transformBlockquote(node, transformChildren) {
154
- const firstChild = node.children[0];
155
- if (firstChild?.type === "paragraph") {
156
- const firstText = firstChild.children[0];
157
- if (firstText?.type === "text") {
158
- const match = ALERT_PATTERN.exec(firstText.value);
159
- if (match) {
160
- const panelType = ALERT_TO_PANEL[(match[1] ?? "NOTE").toUpperCase()] ?? "info";
161
- const remainingFirstParagraphText = firstText.value.replace(ALERT_PATTERN, "").trim();
162
- const remainingChildren = [...firstChild.children.slice(1)];
163
- const contentNodes = [];
164
- if (remainingFirstParagraphText || remainingChildren.length > 0) {
165
- const newParagraph = {
166
- type: "paragraph",
167
- children: [...remainingFirstParagraphText ? [{
168
- type: "text",
169
- value: remainingFirstParagraphText
170
- }] : [], ...remainingChildren]
171
- };
172
- if (newParagraph.children.length > 0) contentNodes.push(transformParagraph(newParagraph));
173
- }
174
- const restChildren = node.children.slice(1);
175
- contentNodes.push(...transformChildren(restChildren));
176
- if (contentNodes.length === 0) contentNodes.push({
177
- type: "paragraph",
178
- content: []
179
- });
180
- return {
181
- type: "panel",
182
- attrs: { panelType },
183
- content: contentNodes
184
- };
185
- }
186
- }
156
+ function buildPanelContent(firstChild, restChildren, transformChildren) {
157
+ const remainingText = firstChild.children[0].value.replace(ALERT_PATTERN, "").trim();
158
+ const remainingInlines = firstChild.children.slice(1);
159
+ const contentNodes = [];
160
+ if (remainingText || remainingInlines.length > 0) {
161
+ const paragraph = {
162
+ type: "paragraph",
163
+ children: [...remainingText ? [{
164
+ type: "text",
165
+ value: remainingText
166
+ }] : [], ...remainingInlines]
167
+ };
168
+ if (paragraph.children.length > 0) contentNodes.push(transformParagraph(paragraph));
187
169
  }
170
+ contentNodes.push(...transformChildren(restChildren));
171
+ if (contentNodes.length === 0) contentNodes.push({
172
+ type: "paragraph",
173
+ content: []
174
+ });
175
+ return contentNodes;
176
+ }
177
+ function tryTransformAlert(node, transformChildren) {
178
+ const firstChild = node.children[0];
179
+ if (firstChild?.type !== "paragraph") return null;
180
+ const firstText = firstChild.children[0];
181
+ if (firstText?.type !== "text") return null;
182
+ const match = ALERT_PATTERN.exec(firstText.value);
183
+ if (!match) return null;
184
+ const panelType = ALERT_TO_PANEL[(match[1] ?? "NOTE").toUpperCase()] ?? "info";
185
+ const content = buildPanelContent(firstChild, node.children.slice(1), transformChildren);
186
+ return {
187
+ type: "panel",
188
+ attrs: { panelType },
189
+ content
190
+ };
191
+ }
192
+ function transformBlockquote(node, transformChildren) {
193
+ const panel = tryTransformAlert(node, transformChildren);
194
+ if (panel) return panel;
188
195
  const content = transformChildren(node.children);
189
196
  return {
190
197
  type: "blockquote",
@@ -599,15 +606,17 @@ function applyMarks(text, marks) {
599
606
  }
600
607
  //#endregion
601
608
  //#region src/adf-to-md/serialize/inlines.ts
602
- function serializeInlineNodes(nodes) {
609
+ function serializeInlineNodes(nodes, options) {
603
610
  if (!nodes || nodes.length === 0) return "";
604
- return nodes.map(serializeInline).join("");
611
+ return nodes.map((node) => serializeInline(node, options)).join("");
605
612
  }
606
- function serializeInline(node) {
613
+ function serializeInline(node, options) {
607
614
  switch (node.type) {
608
615
  case "text": return applyMarks(escapeMarkdown(node.text), node.marks);
609
616
  case "hardBreak": return "\\\n";
610
- case "mention": return node.attrs.text ?? `@${node.attrs.id}`;
617
+ case "mention":
618
+ if (options?.mentions === false) return node.attrs.text ?? node.attrs.id;
619
+ return node.attrs.text ?? `@${node.attrs.id}`;
611
620
  case "emoji": return node.attrs.text ?? `:${node.attrs.shortName}:`;
612
621
  case "date": return node.attrs.timestamp;
613
622
  case "status": return `\`[${node.attrs.text}]\``;
@@ -618,11 +627,11 @@ function serializeInline(node) {
618
627
  }
619
628
  //#endregion
620
629
  //#region src/adf-to-md/serialize/blocks.ts
621
- function serializeHeading(node) {
622
- return `${"#".repeat(node.attrs.level)} ${serializeInlineNodes(node.content)}`;
630
+ function serializeHeading(node, options) {
631
+ return `${"#".repeat(node.attrs.level)} ${serializeInlineNodes(node.content, options)}`;
623
632
  }
624
- function serializeParagraph(node) {
625
- return serializeInlineNodes(node.content);
633
+ function serializeParagraph(node, options) {
634
+ return serializeInlineNodes(node.content, options);
626
635
  }
627
636
  function serializeCodeBlock(node) {
628
637
  return `\`\`\`${node.attrs?.language ?? ""}\n${node.content?.map((t) => t.text).join("") ?? ""}\n\`\`\``;
@@ -635,29 +644,29 @@ function serializeBlockquote(node, serializeBlock) {
635
644
  }
636
645
  //#endregion
637
646
  //#region src/adf-to-md/serialize/lists.ts
638
- function serializeBulletList(node, depth = 0) {
639
- return node.content.map((item) => serializeListItem(item, "-", depth)).join("\n");
647
+ function serializeBulletList(node, depth = 0, options) {
648
+ return node.content.map((item) => serializeListItem(item, "-", depth, options)).join("\n");
640
649
  }
641
- function serializeOrderedList(node, depth = 0) {
650
+ function serializeOrderedList(node, depth = 0, options) {
642
651
  const start = node.attrs?.order ?? 1;
643
- return node.content.map((item, i) => serializeListItem(item, `${start + i}.`, depth)).join("\n");
652
+ return node.content.map((item, i) => serializeListItem(item, `${start + i}.`, depth, options)).join("\n");
644
653
  }
645
- function serializeTaskList(node, depth = 0) {
654
+ function serializeTaskList(node, depth = 0, options) {
646
655
  return node.content.map((item) => {
647
- return `${" ".repeat(depth)}- ${item.attrs.state === "DONE" ? "[x]" : "[ ]"} ${serializeInlineNodes(item.content)}`;
656
+ return `${" ".repeat(depth)}- ${item.attrs.state === "DONE" ? "[x]" : "[ ]"} ${serializeInlineNodes(item.content, options)}`;
648
657
  }).join("\n");
649
658
  }
650
- function serializeDecisionList(node, depth = 0) {
659
+ function serializeDecisionList(node, depth = 0, options) {
651
660
  return node.content.map((item) => {
652
- return `${" ".repeat(depth)}- [x] ${serializeInlineNodes(item.content)}`;
661
+ return `${" ".repeat(depth)}- [x] ${serializeInlineNodes(item.content, options)}`;
653
662
  }).join("\n");
654
663
  }
655
- function serializeListItem(node, bullet, depth) {
664
+ function serializeListItem(node, bullet, depth, options) {
656
665
  const indent = " ".repeat(depth);
657
666
  const parts = [];
658
- for (const child of node.content) if (child.type === "paragraph") parts.push(serializeInlineNodes(child.content));
659
- else if (child.type === "bulletList") parts.push("\n" + serializeBulletList(child, depth + 1));
660
- else if (child.type === "orderedList") parts.push("\n" + serializeOrderedList(child, depth + 1));
667
+ for (const child of node.content) if (child.type === "paragraph") parts.push(serializeInlineNodes(child.content, options));
668
+ else if (child.type === "bulletList") parts.push("\n" + serializeBulletList(child, depth + 1, options));
669
+ else if (child.type === "orderedList") parts.push("\n" + serializeOrderedList(child, depth + 1, options));
661
670
  else if (child.type === "codeBlock") {
662
671
  const lang = child.attrs?.language ?? "";
663
672
  const code = child.content?.map((t) => t.text).join("") ?? "";
@@ -738,35 +747,35 @@ function serializeTable(node) {
738
747
  }
739
748
  //#endregion
740
749
  //#region src/adf-to-md/serialize/index.ts
741
- function serializeBlock(node) {
750
+ function serializeBlock(node, options) {
742
751
  switch (node.type) {
743
- case "paragraph": return serializeParagraph(node);
744
- case "heading": return serializeHeading(node);
752
+ case "paragraph": return serializeParagraph(node, options);
753
+ case "heading": return serializeHeading(node, options);
745
754
  case "codeBlock": return serializeCodeBlock(node);
746
755
  case "rule": return serializeRule(node);
747
- case "blockquote": return serializeBlockquote(node, serializeBlock);
748
- case "bulletList": return serializeBulletList(node);
749
- case "orderedList": return serializeOrderedList(node);
750
- case "taskList": return serializeTaskList(node);
751
- case "decisionList": return serializeDecisionList(node);
756
+ case "blockquote": return serializeBlockquote(node, (n) => serializeBlock(n, options));
757
+ case "bulletList": return serializeBulletList(node, 0, options);
758
+ case "orderedList": return serializeOrderedList(node, 0, options);
759
+ case "taskList": return serializeTaskList(node, 0, options);
760
+ case "decisionList": return serializeDecisionList(node, 0, options);
752
761
  case "table": return serializeTable(node);
753
- case "panel": return serializePanel(node, serializeBlock);
754
- case "expand": return serializeExpand(node, serializeBlock);
755
- case "nestedExpand": return serializeExpand(node, serializeBlock);
762
+ case "panel": return serializePanel(node, (n) => serializeBlock(n, options));
763
+ case "expand": return serializeExpand(node, (n) => serializeBlock(n, options));
764
+ case "nestedExpand": return serializeExpand(node, (n) => serializeBlock(n, options));
756
765
  case "mediaSingle": return serializeMediaSingle(node);
757
766
  case "blockCard": return serializeBlockCard(node);
758
767
  case "embedCard": return serializeEmbedCard(node);
759
- case "layoutSection": return serializeLayoutSection(node);
768
+ case "layoutSection": return serializeLayoutSection(node, options);
760
769
  default: return "";
761
770
  }
762
771
  }
763
- function serializeLayoutSection(node) {
764
- return node.content.map((col) => col.content.map((child) => serializeBlock(child)).join("\n\n")).join("\n\n---\n\n");
772
+ function serializeLayoutSection(node, options) {
773
+ return node.content.map((col) => col.content.map((child) => serializeBlock(child, options)).join("\n\n")).join("\n\n---\n\n");
765
774
  }
766
775
  //#endregion
767
776
  //#region src/adf-to-md/index.ts
768
- function adfToMd(adf) {
769
- return sanitizeMarkdown(adf.content.map((node) => serializeBlock(node)).filter((p) => p.length > 0).join("\n\n"));
777
+ function adfToMd(adf, options) {
778
+ return sanitizeMarkdown(adf.content.map((node) => serializeBlock(node, options)).filter((p) => p.length > 0).join("\n\n"));
770
779
  }
771
780
  //#endregion
772
781
  export { adfToMd, mdToAdf };