chore(shiki theme): changed the default syntax highlighting theem from solarized to github aiming better code readability in light mode

This commit is contained in:
Anda Toshiki 2023-11-04 04:20:44 +08:00
parent f7b5617fa9
commit ce145fbbf2

View File

@ -1,19 +1,51 @@
import process from 'node:process'
import { BiDirectionalLinks } from '@nolebase/markdown-it-bi-directional-links'
import { ElementTransform } from '@nolebase/markdown-it-element-transform'
import type { MarkdownOptions } from 'vitepress' import type { MarkdownOptions } from 'vitepress'
import mdkatex from '@andatoshiki/markdown-it-katex' import mdkatex from '@andatoshiki/markdown-it-katex'
import mdTasklist from 'markdown-it-task-lists' import mdTasklist from 'markdown-it-task-lists'
import mdCaption from '@andatoshiki/markdown-it-image-caption' import mdCaption from '@andatoshiki/markdown-it-image-caption'
import mdLink from 'markdown-it-link-preview' // import mdLink from 'markdown-it-link-preview'
export const markdown: MarkdownOptions = { export const markdown: MarkdownOptions = {
html: true, html: true,
theme: { theme: {
light: 'solarized-light', light: 'github-light',
dark: 'solarized-dark', dark: 'github-dark-dimmed'
}, },
lineNumbers: true, lineNumbers: true,
config: md => { config: md => {
// use more markdown-it plugins! // use more markdown-it plugins!
md.use(mdkatex), md.use(mdTasklist), md.use(mdCaption), md.use(mdLink) md.use(mdkatex),
md.use(mdTasklist),
md.use(mdCaption),
// md.use(mdLink),
md.use(BiDirectionalLinks({
dir: 'docs/',
})),
md.use(ElementTransform, (() => {
let transformNextLinkCloseToken = false
return {
transform(token) {
switch (token.type) {
case 'link_open':
if (token.attrGet('class') !== 'header-anchor') {
token.tag = 'VPNolebaseInlineLinkPreview'
transformNextLinkCloseToken = true
}
break
case 'link_close':
if (transformNextLinkCloseToken) {
token.tag = 'VPNolebaseInlineLinkPreview'
transformNextLinkCloseToken = false
}
break
}
},
}
})())
// insert specific custom vue layout template slots under a markdown tag attributes (currenlty disabled and unncessary because applied via markdowntransform component) // insert specific custom vue layout template slots under a markdown tag attributes (currenlty disabled and unncessary because applied via markdowntransform component)
// md.renderer.rules.heading_close = (tokens, idx, options, env, slf) => { // md.renderer.rules.heading_close = (tokens, idx, options, env, slf) => {
// let htmlResult = slf.renderToken(tokens, idx, options); // let htmlResult = slf.renderToken(tokens, idx, options);