UNPKG

@awesome-fe/translate

Version:
174 lines 6.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.adoc = void 0; const core_1 = require("@asciidoctor/core"); var adoc; (function (adoc) { const doc = (0, core_1.default)(); function isParagraph(node) { return node?.getNodeName() === 'paragraph'; } adoc.isParagraph = isParagraph; function isSection(node) { return node?.getNodeName() === 'section'; } adoc.isSection = isSection; function isFloatingTitle(node) { return node?.getNodeName() === 'floating_title'; } adoc.isFloatingTitle = isFloatingTitle; function isDocument(node) { return node?.getNodeName() === 'document' || node.getNodeName() === 'embedded'; } adoc.isDocument = isDocument; function isAbstractBlock(node) { return node.isBlock(); } adoc.isAbstractBlock = isAbstractBlock; function isInline(node) { return node.isInline(); } adoc.isInline = isInline; function isIndexTerm(node) { return node?.getNodeName() === 'inline_indexterm'; } adoc.isIndexTerm = isIndexTerm; function isList(node) { return node?.getNodeName() === 'ulist' || node.getNodeName() === 'olist'; } adoc.isList = isList; function isDescriptionList(node) { return node?.getNodeName() === 'dlist'; } adoc.isDescriptionList = isDescriptionList; function isListItem(node) { return node?.getNodeName() === 'list_item'; } adoc.isListItem = isListItem; function setSubstitutionMode(doc, mode) { const consts = doc.Substitutors.$$const; const result = { ...consts }; consts.BASIC_SUBS = mode.BASIC_SUBS; consts.HEADER_SUBS = mode.HEADER_SUBS; consts.NORMAL_SUBS = mode.NORMAL_SUBS; consts.REFTEXT_SUBS = mode.REFTEXT_SUBS; consts.VERBATIM_SUBS = mode.VERBATIM_SUBS; return result; } adoc.setSubstitutionMode = setSubstitutionMode; function setSubstitutionsForAdoc(doc) { setSubstitutionMode(doc, { BASIC_SUBS: [], HEADER_SUBS: [], NORMAL_SUBS: [], REFTEXT_SUBS: [], VERBATIM_SUBS: ['callouts'], }); } adoc.setSubstitutionsForAdoc = setSubstitutionsForAdoc; function setSubstitutionsForDefaultHtml(doc) { setSubstitutionMode(doc, { BASIC_SUBS: ['specialcharacters'], HEADER_SUBS: ['specialcharacters', 'attributes'], NORMAL_SUBS: ['specialcharacters', 'quotes', 'attributes', 'replacements', 'macros', 'post_replacements'], REFTEXT_SUBS: ['specialcharacters', 'quotes', 'replacements'], VERBATIM_SUBS: ['specialcharacters', 'callouts'], }); } adoc.setSubstitutionsForDefaultHtml = setSubstitutionsForDefaultHtml; function setSubstitutionsForTranslatableHtml(doc) { setSubstitutionMode(doc, { BASIC_SUBS: ['specialcharacters'], HEADER_SUBS: ['specialcharacters', 'attributes'], NORMAL_SUBS: ['specialcharacters', 'quotes', 'attributes', 'macros'], REFTEXT_SUBS: ['specialcharacters', 'quotes'], VERBATIM_SUBS: ['specialcharacters', 'callouts'], }); } adoc.setSubstitutionsForTranslatableHtml = setSubstitutionsForTranslatableHtml; function isBlockImage(node) { return node?.getNodeName() === 'image'; } adoc.isBlockImage = isBlockImage; function isBlockResource(node) { return node?.getNodeName() === 'video' || node.getNodeName() === 'audio'; } adoc.isBlockResource = isBlockResource; function isAdmonition(node) { return node?.getNodeName() === 'admonition'; } adoc.isAdmonition = isAdmonition; function isExample(node) { return node?.getNodeName() === 'example'; } adoc.isExample = isExample; function isQuote(node) { return node?.getNodeName() === 'quote'; } adoc.isQuote = isQuote; function isTable(node) { return node?.getNodeName() === 'table'; } adoc.isTable = isTable; function isSidebar(node) { return node?.getNodeName() === 'sidebar'; } adoc.isSidebar = isSidebar; function isVerse(node) { return node?.getNodeName() === 'verse'; } adoc.isVerse = isVerse; function isListing(node) { return node?.getNodeName() === 'listing'; } adoc.isListing = isListing; function hasLines(node) { return 'lines' in node; } adoc.hasLines = hasLines; function escapeDirectives(content) { return content .replace(/^\[(.*)indent=("?)(\d+)("?)(.*)]$/gm, '[$1rawIndent=$2$3$4$5]') .replace(/^((?:ifdef|ifndef|ifeval|endif)::\[.*])$/gm, '`begin-directive:[$1]end-directive`') .replace(/^(include::.*?])$/gm, '`begin-directive:[$1]end-directive`') .replace(/^(\/\/ *(?:tag|end)::.*?])$/gm, '`begin-directive:[$1]end-directive`'); } adoc.escapeDirectives = escapeDirectives; function unescapeDirectives(content) { return content .replace(/^\[(.*)rawIndent=("?)(\d+)("?)(.*)]$/gm, '[$1indent=$2$3$4$5]') .replace(/^`begin-directive:\[(.*?)]end-directive`$/gm, '$1') .replace(/^Unresolved directive in .* - (.*)$/gm, '$1'); } adoc.unescapeDirectives = unescapeDirectives; function createBlock(parent, context) { return doc.Block.create(parent, context); } adoc.createBlock = createBlock; function createInline(parent, context) { return doc.Inline.create(parent, context); } adoc.createInline = createInline; function createNode(parent, context) { if (context === 'document' || context === 'embedded' || !context) { return parent; } if (context.startsWith('inline_')) { return createInline(parent, context); } else { const child = createBlock(parent, context); if (!adoc.isDocument(child)) { parent.append(child); } return child; } } adoc.createNode = createNode; function removeNode(node) { const siblings = node.getParent().getBlocks(); siblings.splice(siblings.indexOf(node), 1); } adoc.removeNode = removeNode; })(adoc = exports.adoc || (exports.adoc = {})); //# sourceMappingURL=adoc.js.map