-
Notifications
You must be signed in to change notification settings - Fork 73
Open
Description
No matter what i do i keep getting:
Could not find the language 'vue', did you forget to load/include a language module?
import hljs from 'highlight.js/lib/core'
import xml from 'highlight.js/lib/languages/xml'
import javascript from 'highlight.js/lib/languages/javascript'
import { marked } from 'marked'
import { markedTerminal } from 'marked-terminal'
// Vue
function hljsDefineVue(hljs) {
return {
subLanguage: 'xml',
contains: [
hljs.COMMENT('<!--', '-->', { relevance: 10 }),
{ begin: /<template>/, end: /<\/template>/, subLanguage: 'xml', excludeBegin: true, excludeEnd: true },
{ begin: /<script(\s+lang=(?:"ts"|'ts'))?>/, end: /<\/script>/, subLanguage: 'javascript', excludeBegin: true, excludeEnd: true },
{ begin: /<style(\s+lang=(?:"scss"|'scss'))?(\s+scoped)?>/, end: /<\/style>/, subLanguage: 'css', excludeBegin: true, excludeEnd: true },
],
}
}
hljs.registerLanguage('xml', xml)
hljs.registerLanguage('javascript', javascript)
hljs.registerLanguage('vue', hljsDefineVue)
marked.use(
markedTerminal(
{}, // terminal styling options
{
ignoreIllegals: true,
highlight(code, lang) {
const language = hljs.getLanguage(lang) ? lang : 'xml'
return hljs.highlight(code, { language }).value
}
}
)
)
export default str => marked.parse(str)
test:
import markdownFormatter from './lib/markdownFormatter.js';
console.log(markdownFormatter(`
\`\`\`vue
<template>Hello world</template>
\`\`\`
`));
Any ideas?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels