vue-markdown-shiki
Version:
A Vue 3 component library that provides integration with Shiki and Markdown-it.
9 lines (7 loc) • 367 B
text/typescript
export function addClass(code: string, classes: string | string[], tag?: string): string {
const classRE = new RegExp(`<${tag ?? '\w+'}[^>]*class="([\\w+-:;\\\/* ]*)"`)
classes = !Array.isArray(classes) ? [classes] : classes
return code.replace(classRE, (match, previousClasses) => {
return match.replace(previousClasses, `${previousClasses} ${classes}`)
})
}