UNPKG

kompendium

Version:

Documentation generator for Stencil components

54 lines (43 loc) 981 B
import map from 'unist-util-map'; export function kompendiumCode(): (tree) => any { return transformer; } function transformer(tree) { return map(tree, mapCodeNode); } function mapCodeNode(node) { if (node.type !== 'element') { return node; } if (node.tagName !== 'code') { return node; } const language = getLanguage(node.properties); if (!language) { return node; } return { ...node, type: 'element', tagName: 'kompendium-code', properties: { language: language, }, children: [], }; } function getLanguage(props: { className?: string[] }) { if (!props) { return; } if (!('className' in props)) { return; } const languageClass = props.className.find((name) => name.startsWith('language-'), ); if (!languageClass) { return; } return languageClass.replace('language-', ''); }