mirror of
https://github.com/docsifyjs/docsify.git
synced 2025-12-08 19:55:52 +00:00
parent
cd09d91434
commit
feea7f9b48
@ -3,36 +3,44 @@ import {merge} from '../util/core'
|
||||
|
||||
const cached = {}
|
||||
|
||||
function walkFetchEmbed({step = 0, embedTokens, compile, fetch}, cb) {
|
||||
const token = embedTokens[step]
|
||||
function walkFetchEmbed({embedTokens, compile, fetch}, cb) {
|
||||
let token
|
||||
let step = 0
|
||||
let count = 1
|
||||
|
||||
if (!token) {
|
||||
if (!embedTokens.length) {
|
||||
return cb({})
|
||||
}
|
||||
|
||||
const next = text => {
|
||||
let embedToken
|
||||
if (text) {
|
||||
if (token.embed.type === 'markdown') {
|
||||
embedToken = compile.lexer(text)
|
||||
} else if (token.embed.type === 'code') {
|
||||
embedToken = compile.lexer(
|
||||
'```' +
|
||||
token.embed.lang +
|
||||
'\n' +
|
||||
text.replace(/`/g, '@DOCSIFY_QM@') +
|
||||
'\n```\n'
|
||||
)
|
||||
while ((token = embedTokens[step++])) {
|
||||
const next = (function (token) {
|
||||
return text => {
|
||||
let embedToken
|
||||
if (text) {
|
||||
if (token.embed.type === 'markdown') {
|
||||
embedToken = compile.lexer(text)
|
||||
} else if (token.embed.type === 'code') {
|
||||
embedToken = compile.lexer(
|
||||
'```' +
|
||||
token.embed.lang +
|
||||
'\n' +
|
||||
text.replace(/`/g, '@DOCSIFY_QM@') +
|
||||
'\n```\n'
|
||||
)
|
||||
}
|
||||
}
|
||||
cb({token, embedToken})
|
||||
if (++count >= step) {
|
||||
cb({})
|
||||
}
|
||||
}
|
||||
}
|
||||
cb({token, embedToken})
|
||||
walkFetchEmbed({step: ++step, compile, embedTokens, fetch}, cb)
|
||||
}
|
||||
})(token)
|
||||
|
||||
if (process.env.SSR) {
|
||||
fetch(token.embed.url).then(next)
|
||||
} else {
|
||||
get(token.embed.url).then(next)
|
||||
if (process.env.SSR) {
|
||||
fetch(token.embed.url).then(next)
|
||||
} else {
|
||||
get(token.embed.url).then(next)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user