summaryrefslogtreecommitdiff
path: root/src/build/special_box.mjs
diff options
context:
space:
mode:
Diffstat (limited to 'src/build/special_box.mjs')
-rw-r--r--src/build/special_box.mjs39
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';
+ }
+ }
+ });
+ };
+}
+