antora-confluence
Version:
A tool to convert and publish Antora documentation to Confluence
27 lines (26 loc) • 1.1 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const node_html_parser_1 = __importDefault(require("node-html-parser"));
const Enum_1 = require("../constants/Enum");
const rewriteCodeBlocks = (content) => {
content.querySelectorAll("pre > code").forEach((code) => {
const parent = code.parentNode;
const language = code.getAttribute("data-lang");
const codeMacro = (0, node_html_parser_1.default)(`<ac:structured-macro ac:name="code">
<ac:parameter ac:name="language">${language}</ac:parameter>
<ac:plain-text-body>
${Enum_1.Placeholder.CDATA_PLACEHOLDER_START}
${code.rawText}
${Enum_1.Placeholder.CDATA_PLACEHOLDER_END}
</ac:plain-text-body>
</ac:structured-macro>`);
parent.replaceWith(codeMacro);
});
return {
content,
};
};
exports.default = rewriteCodeBlocks;