tessl install tessl/npm-marked@17.0.0A markdown parser built for speed
Learn how to extend Marked with custom syntax and rendering.
Marked supports four types of extensions:
import { marked } from "marked";
// Add custom emoji syntax
marked.use({
extensions: [{
name: 'emoji',
level: 'inline',
start(src) { return src.indexOf(':'); },
tokenizer(src) {
const match = src.match(/^:([a-z_]+):/);
if (match) {
return { type: 'emoji', raw: match[0], name: match[1] };
}
},
renderer(token) {
return `<span class="emoji emoji-${token.name}"></span>`;
}
}]
});
const html = marked.parse('Hello :wave:!');For complete extension system documentation, see:
See Real-World Scenarios for complete examples.