diff --git a/blog.config.js b/blog.config.js index 592a6a99..3b471dc5 100644 --- a/blog.config.js +++ b/blog.config.js @@ -37,7 +37,9 @@ const BLOG = { BEI_AN: process.env.NEXT_PUBLIC_BEI_AN || '', // 备案号 闽ICP备XXXXXXX // 图标库CDN(可以直接改版本号) - FONT_AWESOME_PATH: 'https://cdn.bootcdn.net/ajax/libs/font-awesome/6.2.0/css/all.min.css', + FONT_AWESOME_PATH: 'https://npm.elemecdn.com/font-awesome/6.2.0/css/all.min.css', + // PrismJs CDN + PRISM_JS_PATH: 'https://npm.elemecdn.com/prismjs@1.29.0/components/', BACKGROUND_LIGHT: '#eeeeee', // use hex value, don't forget '#' e.g #fffefc BACKGROUND_DARK: '#000000', // use hex value, don't forget '#' diff --git a/components/NotionPage.js b/components/NotionPage.js index e195e24d..8739917f 100644 --- a/components/NotionPage.js +++ b/components/NotionPage.js @@ -1,47 +1,11 @@ import { NotionRenderer } from 'react-notion-x' import dynamic from 'next/dynamic' -// import mediumZoom from 'medium-zoom' import mediumZoom from '@fisch0920/medium-zoom' import React from 'react' import { isBrowser } from '@/lib/utils' import Image from 'next/image' import Link from 'next/link' import { Code } from 'react-notion-x/build/third-party/code' -// import { Pdf } from 'react-notion-x/build/third-party/pdf' -// import { Equation } from 'react-notion-x/build/third-party/equation' - -import 'prismjs/components/prism-bash.js' -import 'prismjs/components/prism-markup-templating.js' -import 'prismjs/components/prism-markup.js' -import 'prismjs/components/prism-c.js' -import 'prismjs/components/prism-cpp.js' -import 'prismjs/components/prism-csharp.js' -import 'prismjs/components/prism-docker.js' -import 'prismjs/components/prism-java.js' -import 'prismjs/components/prism-js-templates.js' -import 'prismjs/components/prism-coffeescript.js' -import 'prismjs/components/prism-diff.js' -import 'prismjs/components/prism-git.js' -import 'prismjs/components/prism-go.js' -import 'prismjs/components/prism-graphql.js' -import 'prismjs/components/prism-handlebars.js' -import 'prismjs/components/prism-less.js' -import 'prismjs/components/prism-makefile.js' -import 'prismjs/components/prism-markdown.js' -import 'prismjs/components/prism-objectivec.js' -import 'prismjs/components/prism-ocaml.js' -import 'prismjs/components/prism-python.js' -import 'prismjs/components/prism-reason.js' -import 'prismjs/components/prism-rust.js' -import 'prismjs/components/prism-sass.js' -import 'prismjs/components/prism-scss.js' -import 'prismjs/components/prism-solidity.js' -import 'prismjs/components/prism-sql.js' -import 'prismjs/components/prism-stylus.js' -import 'prismjs/components/prism-swift.js' -import 'prismjs/components/prism-wasm.js' -import 'prismjs/components/prism-yaml.js' -import 'prismjs/components/prism-r.js' const Equation = dynamic(() => import('react-notion-x/build/third-party/equation').then(async (m) => { diff --git a/components/PrismMac.js b/components/PrismMac.js index 0180069a..fbfd42cd 100644 --- a/components/PrismMac.js +++ b/components/PrismMac.js @@ -3,12 +3,13 @@ import Prism from 'prismjs' import 'prismjs/plugins/toolbar/prism-toolbar' import 'prismjs/plugins/show-language/prism-show-language' import 'prismjs/plugins/copy-to-clipboard/prism-copy-to-clipboard' -// import 'prismjs/plugins/autoloader/prism-autoloader' import 'prismjs/plugins/line-numbers/prism-line-numbers' import 'prismjs/plugins/line-numbers/prism-line-numbers.css' - +// 所有语言的prismjs 使用autoloader引入 +import 'prismjs/plugins/autoloader/prism-autoloader' // mermaid图 import mermaid from 'mermaid' +import BLOG from '@/blog.config' /** * @author https://github.com/txs/ @@ -67,6 +68,8 @@ function renderPrismMac() { // 重新渲染之前检查所有的多余text try { + // setup autoloader + Prism.plugins.autoloader.languages_path = BLOG.PRISM_JS_PATH Prism.highlightAll() } catch (err) { console.log('代码渲染', err) diff --git a/lib/notion/getPostBlocks.js b/lib/notion/getPostBlocks.js index 685e8d46..1f92fa41 100644 --- a/lib/notion/getPostBlocks.js +++ b/lib/notion/getPostBlocks.js @@ -72,7 +72,7 @@ function filterPostBlocks(id, pageBlock, slice) { continue } count++ - // 处理 c++ 和 c#两种语言 + // 处理 c++ 和 c#等语言名字映射 if (b?.value?.type === 'code') { if (b?.value?.properties?.language?.[0][0] === 'C++') { b.value.properties.language[0][0] = 'cpp' @@ -80,6 +80,9 @@ function filterPostBlocks(id, pageBlock, slice) { if (b?.value?.properties?.language?.[0][0] === 'C#') { b.value.properties.language[0][0] = 'csharp' } + if (b?.value?.properties?.language?.[0][0] === 'Assembly') { + b.value.properties.language[0][0] = 'asm6502' + } } delete b?.role