mirror of
https://github.com/noodlapp/noodl-docs.git
synced 2026-01-10 14:22:52 +01:00
Co-Authored-By: kotte <14197736+mrtamagotchi@users.noreply.github.com> Co-Authored-By: mikaeltellhed <2311083+mikaeltellhed@users.noreply.github.com> Co-Authored-By: Tore Knudsen <18231882+torekndsn@users.noreply.github.com> Co-Authored-By: Michael Cartner <32543275+michaelcartner@users.noreply.github.com>
38 lines
954 B
JavaScript
38 lines
954 B
JavaScript
function _visit(children, fn) {
|
|
children.forEach((ch) => {
|
|
fn(ch)
|
|
if (ch.children) _visit(ch.children, fn)
|
|
})
|
|
}
|
|
|
|
function _parseNoodlMarkupPlugin() {
|
|
return function (ast) {
|
|
_visit(ast.children, (node) => {
|
|
if (typeof node.value === 'string') {
|
|
node.value = node.value.replace(
|
|
/(<|<)\#\#.*?\#\#(>|>)/g,
|
|
''
|
|
)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
function _parseRenderedMarkupPlugin() {
|
|
return function (ast) {
|
|
_visit(ast.children, (node) => {
|
|
if (node.type === 'element' && node.tagName === 'p') {
|
|
const hasContent = node.children.find((child) =>
|
|
Boolean(child.value)
|
|
)
|
|
|
|
if (!hasContent) node.properties.class = 'is-hidden'
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
_parseNoodlMarkupPlugin,
|
|
_parseRenderedMarkupPlugin,
|
|
} |