diff options
Diffstat (limited to 'src/build/special_box.mjs')
-rw-r--r-- | src/build/special_box.mjs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/build/special_box.mjs b/src/build/special_box.mjs new file mode 100644 index 0000000..1457a98 --- /dev/null +++ b/src/build/special_box.mjs @@ -0,0 +1,39 @@ +import {visit} from 'unist-util-visit'; + +// This plugin is an example to let users write HTML with directives. +// Itβs informative but rather useless. +// See below for others examples. +/** @type {import('unified').Plugin<[], import('mdast').Root>} */ +export default function specialBox() { + return tree => { + visit(tree, node => { + if (node.type === 'containerDirective' && ( + node.name === 'attention' + || node.name === 'question' + || node.name === 'note' + || node.name === 'information')) { + const data = node.data || (node.data = {}); + + data.hName = 'div'; + data.hProperties = { + className: 'special-box ' + node.name, + }; + } + if (node.type === 'containerDirective' && node.name === 'details') { + if(node.children.length > 0 && node.children[0].type == "paragraph") { + node.children[0] = { + type: "containerDirective", + data: { + hName: 'summary' + }, + children: node.children[0].children + }; + + const data = node.data || (node.data = {}); + data.hName = 'details'; + } + } + }); + }; +} + |