mirror of
https://github.com/pengzhanbo/vuepress-theme-plume.git
synced 2026-04-25 11:28:13 +08:00
37 lines
989 B
TypeScript
37 lines
989 B
TypeScript
import type { Markdown } from 'vuepress/markdown'
|
|
import type { MarkdownPowerPluginOptions } from '../../shared/index.js'
|
|
import { attrs } from '@mdit/plugin-attrs'
|
|
import { footnote } from '@mdit/plugin-footnote'
|
|
import { mark } from '@mdit/plugin-mark'
|
|
import { sub } from '@mdit/plugin-sub'
|
|
import { sup } from '@mdit/plugin-sup'
|
|
import { tasklist } from '@mdit/plugin-tasklist'
|
|
import { isPlainObject } from '@vuepress/helper'
|
|
import { iconsPlugin } from './icons.js'
|
|
import { plotPlugin } from './plot.js'
|
|
|
|
export function inlineSyntaxPlugin(
|
|
md: Markdown,
|
|
options: MarkdownPowerPluginOptions,
|
|
): void {
|
|
md.use(attrs)
|
|
md.use(mark)
|
|
md.use(sub)
|
|
md.use(sup)
|
|
md.use(footnote)
|
|
md.use(tasklist)
|
|
|
|
if (options.icons) {
|
|
// :[collect:name]:
|
|
md.use(iconsPlugin, isPlainObject(options.icons) ? options.icons : {})
|
|
}
|
|
|
|
if (
|
|
options.plot === true
|
|
|| (isPlainObject(options.plot) && options.plot.tag !== false)
|
|
) {
|
|
// !!plot!!
|
|
md.use(plotPlugin)
|
|
}
|
|
}
|