antora-confluence
Version:
A tool to convert and publish Antora documentation to Confluence
34 lines (33 loc) • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var AdmonitionType;
(function (AdmonitionType) {
AdmonitionType["note"] = "info";
AdmonitionType["warning"] = "warning";
AdmonitionType["important"] = "warning";
AdmonitionType["caution"] = "note";
AdmonitionType["tip"] = "tip";
})(AdmonitionType || (AdmonitionType = {}));
const parseAdmonitionBlock = (block, type) => {
const content = block.querySelector(".content");
const titleElement = block.querySelector(".title");
let titleText = "";
if (titleElement != null) {
titleText = `<ac:parameter ac:name="title">${titleElement.text}</ac:parameter>`;
titleElement.remove();
}
block.insertAdjacentHTML("afterend", `<ac:structured-macro ac:name="${type}">${titleText}<ac:rich-text-body>${content}</ac:rich-text-body></ac:structured-macro>`);
block.remove();
};
const rewriteAdmonitionBlocks = (content) => {
Object.keys(AdmonitionType).forEach((key) => {
content.querySelectorAll(`.admonitionblock.${key}`).forEach((element) => {
//@ts-ignore
parseAdmonitionBlock(element, AdmonitionType[key]);
});
});
return {
content,
};
};
exports.default = rewriteAdmonitionBlocks;