mirror of
https://github.com/openclaw/openclaw.git
synced 2026-02-19 18:39:20 -05:00
refactor(slack): share markdown render options
This commit is contained in:
@@ -94,6 +94,20 @@ type SlackMarkdownOptions = {
|
||||
tableMode?: MarkdownTableMode;
|
||||
};
|
||||
|
||||
function buildSlackRenderOptions() {
|
||||
return {
|
||||
styleMarkers: {
|
||||
bold: { open: "*", close: "*" },
|
||||
italic: { open: "_", close: "_" },
|
||||
strikethrough: { open: "~", close: "~" },
|
||||
code: { open: "`", close: "`" },
|
||||
code_block: { open: "```\n", close: "```" },
|
||||
},
|
||||
escapeText: escapeSlackMrkdwnText,
|
||||
buildLink: buildSlackLink,
|
||||
};
|
||||
}
|
||||
|
||||
export function markdownToSlackMrkdwn(
|
||||
markdown: string,
|
||||
options: SlackMarkdownOptions = {},
|
||||
@@ -105,17 +119,7 @@ export function markdownToSlackMrkdwn(
|
||||
blockquotePrefix: "> ",
|
||||
tableMode: options.tableMode,
|
||||
});
|
||||
return renderMarkdownWithMarkers(ir, {
|
||||
styleMarkers: {
|
||||
bold: { open: "*", close: "*" },
|
||||
italic: { open: "_", close: "_" },
|
||||
strikethrough: { open: "~", close: "~" },
|
||||
code: { open: "`", close: "`" },
|
||||
code_block: { open: "```\n", close: "```" },
|
||||
},
|
||||
escapeText: escapeSlackMrkdwnText,
|
||||
buildLink: buildSlackLink,
|
||||
});
|
||||
return renderMarkdownWithMarkers(ir, buildSlackRenderOptions());
|
||||
}
|
||||
|
||||
export function markdownToSlackMrkdwnChunks(
|
||||
@@ -131,17 +135,6 @@ export function markdownToSlackMrkdwnChunks(
|
||||
tableMode: options.tableMode,
|
||||
});
|
||||
const chunks = chunkMarkdownIR(ir, limit);
|
||||
return chunks.map((chunk) =>
|
||||
renderMarkdownWithMarkers(chunk, {
|
||||
styleMarkers: {
|
||||
bold: { open: "*", close: "*" },
|
||||
italic: { open: "_", close: "_" },
|
||||
strikethrough: { open: "~", close: "~" },
|
||||
code: { open: "`", close: "`" },
|
||||
code_block: { open: "```\n", close: "```" },
|
||||
},
|
||||
escapeText: escapeSlackMrkdwnText,
|
||||
buildLink: buildSlackLink,
|
||||
}),
|
||||
);
|
||||
const renderOptions = buildSlackRenderOptions();
|
||||
return chunks.map((chunk) => renderMarkdownWithMarkers(chunk, renderOptions));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user