mirror of
https://github.com/andatoshiki/toshiki-notebook.git
synced 2026-06-06 03:41:23 +00:00
62 lines
2.6 KiB
TypeScript
62 lines
2.6 KiB
TypeScript
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 mdkatex from '@andatoshiki/markdown-it-katex'
|
|
import mdTasklist from 'markdown-it-task-lists'
|
|
import mdCaption from '@andatoshiki/markdown-it-image-caption'
|
|
// import mdLink from 'markdown-it-link-preview'
|
|
|
|
export const markdown: MarkdownOptions = {
|
|
html: true,
|
|
theme: {
|
|
light: 'github-light',
|
|
dark: 'github-dark-dimmed',
|
|
},
|
|
lineNumbers: true,
|
|
config: md => {
|
|
// use more markdown-it plugins!
|
|
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)
|
|
// md.renderer.rules.heading_close = (tokens, idx, options, env, slf) => {
|
|
// let htmlResult = slf.renderToken(tokens, idx, options);
|
|
// if (tokens[idx].tag === 'h1') htmlResult += `\n<ClientOnly><PageInfo /></ClientOnly>`;
|
|
// return htmlResult;
|
|
// }
|
|
},
|
|
}
|