@mdit/plugin-stylize
Version:
stylize plugin for MarkdownIt
2 lines • 1.18 kB
JavaScript
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports):typeof define==`function`&&define.amd?define([`exports`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.mdItPluginStylize={}))})(this,function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let t=(e,t)=>{for(let n=1,r=e.length;n<r-1;n++){let r=e[n],i=r.content;if(r.type!==`text`)continue;let a=e[n-1],o=e[n+1];if(a.tag!==o.tag||a.nesting!==1||o.nesting!==-1)continue;let s=t.find(({matcher:e})=>typeof e==`string`?e===i:e.test(i));if(s){let e=s.replacer({tag:a.tag,content:r.content,attrs:Object.fromEntries(a.attrs??[])});e&&(a.tag=o.tag=e.tag,a.attrs=Object.entries(e.attrs),r.content=e.content),n+=2}}};e.stylize=(e,n={})=>{let r=n.config??[],i=n.localConfigGetter;if(r.length===0&&!i){console.error(`[@mdit/plugin-stylize]: No global config or localConfigGetter provided, plugin will be inactive.`);return}e.core.ruler.push(`stylize_tag`,e=>{let n=e.tokens,a=r;if(i){let t=i(e.env);t&&t.length>0&&(a=a.length>0?t.concat(a):t)}if(a.length===0)return;let o=n.length;for(let e=0;e<o;e++){let r=n[e];r.type===`inline`&&r.children&&t(r.children,a)}})}});
//# sourceMappingURL=cdn.umd.js.map