From ba9794e095670870bbc1be4f79a8fd8c5f78b3d8 Mon Sep 17 00:00:00 2001 From: tangly Date: Sat, 19 Nov 2022 21:10:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20Client=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/PrismMac.js | 49 +++++++++++++++++++---------------- themes/example/LayoutBase.js | 2 +- themes/fukasawa/LayoutBase.js | 2 +- themes/medium/LayoutBase.js | 2 +- themes/next/LayoutBase.js | 2 +- 5 files changed, 31 insertions(+), 26 deletions(-) diff --git a/components/PrismMac.js b/components/PrismMac.js index 3e56c07f..551a0600 100644 --- a/components/PrismMac.js +++ b/components/PrismMac.js @@ -40,37 +40,42 @@ function renderPrismMac() { const container = document?.getElementById('container-inner') const codeToolBars = container?.getElementsByClassName('code-toolbar') - Array.from(codeToolBars).forEach(item => { - const codeBlocks = item.getElementsByTagName('pre') - if (codeBlocks.length === 0) { - item.remove() - } - }) - + if (codeToolBars) { + Array.from(codeToolBars).forEach(item => { + const codeBlocks = item.getElementsByTagName('pre') + if (codeBlocks.length === 0) { + item.remove() + } + }) + } // 重新渲染之前检查所有的多余text try { Prism.highlightAll() // Add line numbers const codeBlocks = container?.getElementsByTagName('pre') - Array.from(codeBlocks).forEach(item => { - if (!item.classList.contains('line-numbers')) { - item.classList.add('line-numbers') - item.style.whiteSpace = 'pre-wrap' - } - }) + if (codeBlocks) { + Array.from(codeBlocks).forEach(item => { + if (!item.classList.contains('line-numbers')) { + item.classList.add('line-numbers') + item.style.whiteSpace = 'pre-wrap' + } + }) + } setTimeout(() => { // Add pre-mac element for Mac Style UI - Array.from(codeToolBars).forEach(item => { - const existPreMac = item.getElementsByClassName('pre-mac') - if (existPreMac.length < codeToolBars.length) { - const preMac = document.createElement('div') - preMac.classList.add('pre-mac') - preMac.innerHTML = '' - item?.appendChild(preMac, item) - } - }) + if (codeToolBars) { + Array.from(codeToolBars).forEach(item => { + const existPreMac = item.getElementsByClassName('pre-mac') + if (existPreMac.length < codeToolBars.length) { + const preMac = document.createElement('div') + preMac.classList.add('pre-mac') + preMac.innerHTML = '' + item?.appendChild(preMac, item) + } + }) + } }, 0) } catch (err) { console.log('代码渲染', err) diff --git a/themes/example/LayoutBase.js b/themes/example/LayoutBase.js index c99582f4..9d33a0dc 100644 --- a/themes/example/LayoutBase.js +++ b/themes/example/LayoutBase.js @@ -24,7 +24,7 @@ const LayoutBase = props => {