@awesome-fe/translate
Version:
Translation utils
96 lines • 6.34 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.TinyHtmlConverter = void 0;
const tiny_fallback_renderer_1 = require("./tiny-fallback-renderer");
const tiny_document_renderer_1 = require("./tiny-document-renderer");
const tiny_section_renderer_1 = require("./tiny-section-renderer");
const tiny_paragraph_renderer_1 = require("./tiny-paragraph-renderer");
const tiny_outline_renderer_1 = require("./tiny-outline-renderer");
const tiny_admonition_renderer_1 = require("./tiny-admonition-renderer");
const tiny_audio_renderer_1 = require("./tiny-audio-renderer");
const tiny_colist_renderer_1 = require("./tiny-colist-renderer");
const tiny_dlist_renderer_1 = require("./tiny-dlist-renderer");
const tiny_example_renderer_1 = require("./tiny-example-renderer");
const tiny_floating_title_renderer_1 = require("./tiny-floating-title-renderer");
const tiny_image_renderer_1 = require("./tiny-image-renderer");
const tiny_listing_renderer_1 = require("./tiny-listing-renderer");
const tiny_literal_renderer_1 = require("./tiny-literal-renderer");
const tiny_stem_renderer_1 = require("./tiny-stem-renderer");
const tiny_olist_renderer_1 = require("./tiny-olist-renderer");
const tiny_open_renderer_1 = require("./tiny-open-renderer");
const tiny_page_break_renderer_1 = require("./tiny-page-break-renderer");
const tiny_preamble_renderer_1 = require("./tiny-preamble-renderer");
const tiny_quote_renderer_1 = require("./tiny-quote-renderer");
const tiny_thematic_break_renderer_1 = require("./tiny-thematic-break-renderer");
const tiny_sidebar_renderer_1 = require("./tiny-sidebar-renderer");
const tiny_table_renderer_1 = require("./tiny-table-renderer");
const tiny_toc_renderer_1 = require("./tiny-toc-renderer");
const tiny_ulist_renderer_1 = require("./tiny-ulist-renderer");
const tiny_verse_renderer_1 = require("./tiny-verse-renderer");
const tiny_video_renderer_1 = require("./tiny-video-renderer");
const tiny_inline_anchor_renderer_1 = require("./tiny-inline-anchor-renderer");
const tiny_inline_break_renderer_1 = require("./tiny-inline-break-renderer");
const tiny_inline_button_renderer_1 = require("./tiny-inline-button-renderer");
const tiny_inline_callout_renderer_1 = require("./tiny-inline-callout-renderer");
const tiny_inline_footnote_renderer_1 = require("./tiny-inline-footnote-renderer");
const tiny_inline_image_renderer_1 = require("./tiny-inline-image-renderer");
const tiny_inline_indexterm_renderer_1 = require("./tiny-inline-indexterm-renderer");
const tiny_inline_kbd_renderer_1 = require("./tiny-inline-kbd-renderer");
const tiny_inline_menu_renderer_1 = require("./tiny-inline-menu-renderer");
const tiny_inline_quoted_renderer_1 = require("./tiny-inline-quoted-renderer");
const tiny_list_item_renderer_1 = require("./tiny-list-item-renderer");
/**
* 一个精简的 HTML 转换器,为的是生成便于翻译和转回 adoc 的 HTML 格式,这个格式尽可能和 markdown 生成的 HTML 相似,以便作为中间码与 markdown 互转。
*
* 公共属性:adoc-node=node.getNodeName()
*/
class TinyHtmlConverter {
renderers = {
'document': new tiny_document_renderer_1.TinyDocumentRenderer(),
'embedded': new tiny_document_renderer_1.TinyDocumentRenderer(),
'outline': new tiny_outline_renderer_1.TinyOutlineRenderer(),
'section': new tiny_section_renderer_1.TinySectionRenderer(),
'admonition': new tiny_admonition_renderer_1.TinyAdmonitionRenderer(),
'audio': new tiny_audio_renderer_1.TinyAudioRenderer(),
'colist': new tiny_colist_renderer_1.TinyColistRenderer(),
'dlist': new tiny_dlist_renderer_1.TinyDlistRenderer(),
'example': new tiny_example_renderer_1.TinyExampleRenderer(),
'floating_title': new tiny_floating_title_renderer_1.TinyFloatingTitleRenderer(),
'image': new tiny_image_renderer_1.TinyImageRenderer(),
'listing': new tiny_listing_renderer_1.TinyListingRenderer(),
'list_item': new tiny_list_item_renderer_1.TinyListItemRenderer(),
'literal': new tiny_literal_renderer_1.TinyLiteralRenderer(),
'stem': new tiny_stem_renderer_1.TinyStemRenderer(),
'olist': new tiny_olist_renderer_1.TinyOlistRenderer(),
'open': new tiny_open_renderer_1.TinyOpenRenderer(),
'page_break': new tiny_page_break_renderer_1.TinyPageBreakRenderer(),
'paragraph': new tiny_paragraph_renderer_1.TinyParagraphRenderer(),
'preamble': new tiny_preamble_renderer_1.TinyPreambleRenderer(),
'quote': new tiny_quote_renderer_1.TinyQuoteRenderer(),
'thematic_break': new tiny_thematic_break_renderer_1.TinyThematicBreakRenderer(),
'sidebar': new tiny_sidebar_renderer_1.TinySidebarRenderer(),
'table': new tiny_table_renderer_1.TinyTableRenderer(),
'toc': new tiny_toc_renderer_1.TinyTocRenderer(),
'ulist': new tiny_ulist_renderer_1.TinyUlistRenderer(),
'verse': new tiny_verse_renderer_1.TinyVerseRenderer(),
'video': new tiny_video_renderer_1.TinyVideoRenderer(),
'inline_anchor': new tiny_inline_anchor_renderer_1.TinyInlineAnchorRenderer(),
'inline_break': new tiny_inline_break_renderer_1.TinyInlineBreakRenderer(),
'inline_button': new tiny_inline_button_renderer_1.TinyInlineButtonRenderer(),
'inline_callout': new tiny_inline_callout_renderer_1.TinyInlineCalloutRenderer(),
'inline_footnote': new tiny_inline_footnote_renderer_1.TinyInlineFootnoteRenderer(),
'inline_image': new tiny_inline_image_renderer_1.TinyInlineImageRenderer(),
'inline_indexterm': new tiny_inline_indexterm_renderer_1.TinyInlineIndextermRenderer(),
'inline_kbd': new tiny_inline_kbd_renderer_1.TinyInlineKbdRenderer(),
'inline_menu': new tiny_inline_menu_renderer_1.TinyInlineMenuRenderer(),
'inline_quoted': new tiny_inline_quoted_renderer_1.TinyInlineQuotedRenderer(),
};
fallbackRenderer = new tiny_fallback_renderer_1.TinyFallbackRenderer();
convert(node, transform) {
const nodeName = transform ?? node.getNodeName();
const renderer = this.renderers[nodeName] ?? this.fallbackRenderer;
return renderer.render(node).replace(/>\n+</g, '><');
}
}
exports.TinyHtmlConverter = TinyHtmlConverter;
//# sourceMappingURL=tiny-html-converter.js.map