UNPKG

astro-tips

Version:

🎨 Beautiful, customizable tip and notice blocks for Astro - 16 built-in styles with auto dark mode support and built-in compression

31 lines • 1.08 kB
import { visit } from "unist-util-visit"; import { defaultConfig } from "./config.js"; import { isTipVariant, isDirective, createTipBox } from "./utils.js"; export function remarkTips(options = {}) { const tipsConfig = { ...defaultConfig, ...options }; return function transformer(tree) { visit(tree, (node, index, parent) => { if (!parent || index === undefined || !isDirective(node)) { return; } if (node.type !== "containerDirective") { return; } const variant = node.name; if (!isTipVariant(variant)) { return; } const config = tipsConfig[variant]; if (!config) { return; } const htmlContent = createTipBox(variant, config, node.children); const htmlNode = { type: "html", value: htmlContent, }; parent.children[index] = htmlNode; }); }; } //# sourceMappingURL=remark-plugin.js.map