add initial marp implementation with sample content and build configuration

This commit is contained in:
2025-09-13 18:13:22 +02:00
parent dcacc9b409
commit e5f219507f
10319 changed files with 1402023 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
import * as DomUtil from '../common/dom_util.js';
import { Attribute } from '../enrich_mathml/enrich_attr.js';
export function splitAttribute(attr) {
return !attr ? [] : attr.split(/,/);
}
export function getAttribute(node, attr) {
return node.getAttribute(attr);
}
export function getSemanticRoot(node) {
if (node.hasAttribute(Attribute.TYPE) &&
!node.hasAttribute(Attribute.PARENT)) {
return node;
}
const semanticNodes = DomUtil.querySelectorAllByAttr(node, Attribute.TYPE);
for (let i = 0, semanticNode; (semanticNode = semanticNodes[i]); i++) {
if (!semanticNode.hasAttribute(Attribute.PARENT)) {
return semanticNode;
}
}
return node;
}
export function getBySemanticId(root, id) {
if (root.getAttribute(Attribute.ID) === id) {
return root;
}
return DomUtil.querySelectorAllByAttrValue(root, Attribute.ID, id)[0];
}
export function getAllBySemanticId(root, id) {
if (root.getAttribute(Attribute.ID) === id) {
return [root];
}
return DomUtil.querySelectorAllByAttrValue(root, Attribute.ID, id);
}