add initial marp implementation with sample content and build configuration
This commit is contained in:
39
node_modules/speech-rule-engine/mjs/highlighter/highlighter_factory.js
generated
vendored
Normal file
39
node_modules/speech-rule-engine/mjs/highlighter/highlighter_factory.js
generated
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
import { ChtmlHighlighter } from './chtml_highlighter.js';
|
||||
import { ColorPicker } from './color_picker.js';
|
||||
import { CssHighlighter } from './css_highlighter.js';
|
||||
import { HtmlHighlighter } from './html_highlighter.js';
|
||||
import { MmlCssHighlighter } from './mml_css_highlighter.js';
|
||||
import { MmlHighlighter } from './mml_highlighter.js';
|
||||
import { SvgHighlighter } from './svg_highlighter.js';
|
||||
import { SvgV3Highlighter } from './svg_v3_highlighter.js';
|
||||
export function highlighter(back, fore, rendererInfo) {
|
||||
const colorPicker = new ColorPicker(back, fore);
|
||||
const renderer = rendererInfo.renderer === 'NativeMML' && rendererInfo.browser === 'Safari'
|
||||
? 'MML-CSS'
|
||||
: rendererInfo.renderer === 'SVG' && rendererInfo.browser === 'v3'
|
||||
? 'SVG-V3'
|
||||
: rendererInfo.renderer;
|
||||
const highlighter = new (highlighterMapping[renderer] ||
|
||||
highlighterMapping['NativeMML'])();
|
||||
highlighter.setColor(colorPicker);
|
||||
return highlighter;
|
||||
}
|
||||
export function update(back, fore, highlighter) {
|
||||
const colorPicker = new ColorPicker(back, fore);
|
||||
highlighter.setColor(colorPicker);
|
||||
}
|
||||
export function addEvents(node, events, rendererInfo) {
|
||||
const highlight = highlighterMapping[rendererInfo.renderer];
|
||||
if (highlight) {
|
||||
new highlight().addEvents(node, events);
|
||||
}
|
||||
}
|
||||
const highlighterMapping = {
|
||||
SVG: SvgHighlighter,
|
||||
'SVG-V3': SvgV3Highlighter,
|
||||
NativeMML: MmlHighlighter,
|
||||
'HTML-CSS': HtmlHighlighter,
|
||||
'MML-CSS': MmlCssHighlighter,
|
||||
CommonHTML: CssHighlighter,
|
||||
CHTML: ChtmlHighlighter
|
||||
};
|
||||
Reference in New Issue
Block a user