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`; // return htmlResult; // } }, }