mirror of
https://github.com/marktext/marktext.git
synced 2025-05-03 05:59:53 +08:00
parent
881e0c44e6
commit
d24a578a1a
@ -71,7 +71,7 @@
|
||||
"minizlib": "^2.1.1",
|
||||
"plist": "^3.0.4",
|
||||
"popper.js": "^1.16.1",
|
||||
"prismjs": "^1.25.0",
|
||||
"prismjs": "^1.26.0",
|
||||
"snabbdom": "^0.7.4",
|
||||
"snabbdom-to-html": "^6.0.0",
|
||||
"source-map-support": "^0.5.21",
|
||||
|
@ -33,6 +33,7 @@ export const transfromAliasToOrigin = langs => {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
@ -40,9 +41,7 @@ function initLoadLanguage (Prism) {
|
||||
return async function loadLanguages (langs) {
|
||||
// If no argument is passed, load all components
|
||||
if (!langs) {
|
||||
langs = Object.keys(languages).filter(function (lang) {
|
||||
return lang !== 'meta'
|
||||
})
|
||||
langs = Object.keys(languages).filter(lang => lang !== 'meta')
|
||||
}
|
||||
|
||||
if (langs && !langs.length) {
|
||||
@ -54,8 +53,8 @@ function initLoadLanguage (Prism) {
|
||||
}
|
||||
|
||||
const promises = []
|
||||
// the user might have loaded languages via some other way or used `prism.js` which already includes some
|
||||
// we don't need to validate the ids because `getLoader` will ignore invalid ones
|
||||
// The user might have loaded languages via some other way or used `prism.js` which already includes some
|
||||
// We don't need to validate the ids because `getLoader` will ignore invalid ones
|
||||
const loaded = [...loadedLanguages, ...Object.keys(Prism.languages)]
|
||||
|
||||
getLoader(components, langs, loaded).load(async lang => {
|
||||
@ -66,17 +65,20 @@ function initLoadLanguage (Prism) {
|
||||
lang,
|
||||
status: 'noexist'
|
||||
})
|
||||
return
|
||||
} else if (loadedLanguages.has(lang)) {
|
||||
defer.resolve({
|
||||
lang,
|
||||
status: 'cached'
|
||||
})
|
||||
} else {
|
||||
delete Prism.languages[lang]
|
||||
await import('prismjs/components/prism-' + lang)
|
||||
defer.resolve({
|
||||
lang,
|
||||
status: 'loaded'
|
||||
})
|
||||
loadedLanguages.add(lang)
|
||||
}
|
||||
|
||||
delete Prism.languages[lang]
|
||||
|
||||
await import('prismjs/components/prism-' + lang)
|
||||
defer.resolve({
|
||||
lang,
|
||||
status: loadedLanguages.has(lang) ? 'cached' : 'loaded'
|
||||
})
|
||||
loadedLanguages.add(lang)
|
||||
})
|
||||
|
||||
return Promise.all(promises)
|
||||
|
@ -14,6 +14,8 @@ import { loadLanguage } from '../prism/index'
|
||||
// To be disabled rules when parse markdown, Because content state don't need to parse inline rules
|
||||
import { CURSOR_ANCHOR_DNA, CURSOR_FOCUS_DNA } from '../config'
|
||||
|
||||
const languageLoaded = new Set()
|
||||
|
||||
// Just because turndown change `\n`(soft line break) to space, So we add `span.ag-soft-line-break` to workaround.
|
||||
const turnSoftBreakToSpan = html => {
|
||||
const parser = new DOMParser()
|
||||
@ -95,7 +97,6 @@ const importRegister = ContentState => {
|
||||
let block
|
||||
let value
|
||||
const parentList = [rootState]
|
||||
const languageLoaded = new Set()
|
||||
|
||||
while ((token = tokens.shift())) {
|
||||
switch (token.type) {
|
||||
@ -420,7 +421,7 @@ const importRegister = ContentState => {
|
||||
break
|
||||
}
|
||||
}
|
||||
languageLoaded.clear()
|
||||
|
||||
return rootState.children.length ? rootState.children : [this.createBlockP()]
|
||||
}
|
||||
|
||||
|
@ -10144,10 +10144,10 @@ pretty-format@^27.2.5, pretty-format@^27.4.2:
|
||||
ansi-styles "^5.0.0"
|
||||
react-is "^17.0.1"
|
||||
|
||||
prismjs@^1.25.0:
|
||||
version "1.25.0"
|
||||
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.25.0.tgz#6f822df1bdad965734b310b315a23315cf999756"
|
||||
integrity sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg==
|
||||
prismjs@^1.26.0:
|
||||
version "1.26.0"
|
||||
resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.26.0.tgz#16881b594828bb6b45296083a8cbab46b0accd47"
|
||||
integrity sha512-HUoH9C5Z3jKkl3UunCyiD5jwk0+Hz0fIgQ2nbwU2Oo/ceuTAQAg+pPVnfdt2TJWRVLcxKh9iuoYDUSc8clb5UQ==
|
||||
|
||||
private@^0.1.8, private@~0.1.5:
|
||||
version "0.1.8"
|
||||
|
Loading…
Reference in New Issue
Block a user