mirror of
https://github.com/directus/directus.git
synced 2026-04-03 03:00:39 -04:00
16 lines
423 B
TypeScript
16 lines
423 B
TypeScript
import { marked } from 'marked';
|
|
import dompurify from 'dompurify';
|
|
|
|
/**
|
|
* Render and sanitize a markdown string
|
|
*/
|
|
export function md(str: string): string {
|
|
dompurify.addHook('afterSanitizeAttributes', (node) => {
|
|
if (node.tagName === 'A' && node.getAttribute('target') === '_blank') {
|
|
node.setAttribute('rel', 'noopener noreferrer');
|
|
}
|
|
});
|
|
|
|
return dompurify.sanitize(marked(str), { ADD_ATTR: ['target'] });
|
|
}
|