UNPKG

@mdit/plugin-stylize

Version:
2 lines 911 B
const e=(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}}},t=(t,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}t.core.ruler.push(`stylize_tag`,t=>{let n=t.tokens,a=r;if(i){let e=i(t.env);e&&e.length>0&&(a=a.length>0?e.concat(a):e)}if(a.length===0)return;let o=n.length;for(let t=0;t<o;t++){let r=n[t];r.type===`inline`&&r.children&&e(r.children,a)}})};export{t as stylize}; //# sourceMappingURL=index.js.map