From dedd9cfdd9b3a507144f04a29e249392f154dfcb Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Thu, 23 Nov 2023 00:48:26 +0100 Subject: [PATCH] chore: update --- docs/.vitepress/config.ts | 19 +++---------------- package.json | 4 ++-- pnpm-lock.yaml | 18 +++++++++--------- src/node/markdown/markdown.ts | 4 ++-- src/node/markdown/plugins/highlight.ts | 5 +++-- 5 files changed, 19 insertions(+), 31 deletions(-) diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index bc1abf9c..8681ea8b 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -14,24 +14,11 @@ export default defineConfig({ markdown: { math: true, - transformers: [ + shikijiTransformers: [ // We use `[!!code` in demo to prevent transformation, here we revert it back. { - code(code) { - for (const line of code.children) { - if (line.type !== 'element') continue - for (const token of line.children) { - if ( - token.type === 'element' && - token.children[0].type === 'text' - ) { - token.children[0].value = token.children[0].value.replace( - '[!!code', - '[!code' - ) - } - } - } + postprocess(code) { + return code.replace(/\[\!\!code/g, '[!!code') } } ] diff --git a/package.json b/package.json index 70067ed0..21094df9 100644 --- a/package.json +++ b/package.json @@ -101,8 +101,8 @@ "mark.js": "8.11.1", "minisearch": "^6.2.0", "mrmime": "^1.0.1", - "shikiji": "^0.7.0-beta.1", - "shikiji-transformers": "^0.7.0-beta.1", + "shikiji": "^0.7.0", + "shikiji-transformers": "^0.7.0", "vite": "^5.0.0", "vue": "^3.3.8" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index de0ad165..e63d805f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,11 +45,11 @@ importers: specifier: ^1.0.1 version: 1.0.1 shikiji: - specifier: ^0.7.0-beta.1 - version: 0.7.0-beta.1 + specifier: ^0.7.0 + version: 0.7.0 shikiji-transformers: - specifier: ^0.7.0-beta.1 - version: 0.7.0-beta.1 + specifier: ^0.7.0 + version: 0.7.0 vite: specifier: ^5.0.0 version: 5.0.0(@types/node@20.9.1) @@ -4163,14 +4163,14 @@ packages: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} dev: true - /shikiji-transformers@0.7.0-beta.1: - resolution: {integrity: sha512-WW2sKb9MxYCa4gxixUuRB1WMbv7VJT0/dCkWP3FtwWplhhaMq2o5zkreumnTgWWPpW1d2QuNXZ923zG0XThMPw==} + /shikiji-transformers@0.7.0: + resolution: {integrity: sha512-IuujhNtUjs6kyNRjrn36k5Aj/Ea7JZpoB5YaM7rqkK+sM6MdIQBcZDAOhvoD/ITgFht4bcamGXvZ8+Aw1j7VZQ==} dependencies: - shikiji: 0.7.0-beta.1 + shikiji: 0.7.0 dev: false - /shikiji@0.7.0-beta.1: - resolution: {integrity: sha512-/Kbrv6dTjeztqeS4BeGlLddot/U9bM60N8ovpVjx521Qzqet/h9/sKTSuz/tKPj5omffwGy14LFz0/fnxB33iA==} + /shikiji@0.7.0: + resolution: {integrity: sha512-Tzx9pS9ixMVNsfZjeOoJWR3t3Vw054LU/r2euAGSRJPg8/v1sumxZsZQrajai2jpksn0qT3HJXcqzNaiJcJSag==} dependencies: hast-util-to-html: 9.0.0 dev: false diff --git a/src/node/markdown/markdown.ts b/src/node/markdown/markdown.ts index 35b7f807..fe7215d2 100644 --- a/src/node/markdown/markdown.ts +++ b/src/node/markdown/markdown.ts @@ -67,7 +67,7 @@ export interface MarkdownOptions extends MarkdownIt.Options { component?: ComponentPluginOptions math?: boolean | any container?: ContainerOptions - transformers?: ShikijiTransformer[] + shikijiTransformers?: ShikijiTransformer[] } export type MarkdownRenderer = MarkdownIt @@ -91,7 +91,7 @@ export const createMarkdownRenderer = async ( options.languages, options.defaultHighlightLang, logger, - options.transformers + options.shikijiTransformers )), ...options }) diff --git a/src/node/markdown/plugins/highlight.ts b/src/node/markdown/plugins/highlight.ts index 7e3b1062..7e12115d 100644 --- a/src/node/markdown/plugins/highlight.ts +++ b/src/node/markdown/plugins/highlight.ts @@ -5,7 +5,8 @@ import { bundledLanguages, getHighlighter, addClassToHast, - isPlaintext as isPlainLang + isPlaintext as isPlainLang, + isSpecialLang } from 'shikiji' import type { Logger } from 'vite' import type { ThemeOptions } from '../markdown' @@ -100,7 +101,7 @@ export async function highlight( if (lang) { const langLoaded = highlighter.getLoadedLanguages().includes(lang as any) - if (!langLoaded && !isPlainLang(lang) && lang !== 'ansi') { + if (!langLoaded && !isPlainLang(lang) && !isSpecialLang(lang)) { logger.warn( c.yellow( `\nThe language '${lang}' is not loaded, falling back to '${