MCPcopy Create free account
hub / github.com/xerrors/Yuxi / createRenderer

Function createRenderer

web/src/utils/markdown_preview.js:159–176  ·  view source on GitHub ↗
({ themeName, highlighter })

Source from the content-addressed store, hash-verified

157}
158
159const createRenderer = ({ themeName, highlighter }) =>
160 new MarkdownIt({
161 html: true,
162 breaks: true,
163 linkify: true,
164 typographer: true,
165 highlight: highlighter
166 ? (code, lang) => {
167 const language = normalizeCodeLanguage(lang)
168 const loadedLanguages = highlighter.getLoadedLanguages()
169 const targetLanguage = loadedLanguages.includes(language) ? language : 'plaintext'
170 return highlighter.codeToHtml(code, { lang: targetLanguage, theme: themeName })
171 }
172 : undefined
173 })
174 .use(markdownKatexPlugin, { throwOnError: false, errorColor: '#cc0000', trust: false })
175 .use(taskLists, { enabled: false, label: false, labelAfter: false })
176 .use(markdownItFrontmatterCard)
177
178const getRenderer = async (theme, needsHighlight) => {
179 const themeName = normalizeTheme(theme)

Callers 1

getRendererFunction · 0.85

Calls 1

normalizeCodeLanguageFunction · 0.90

Tested by

no test coverage detected