配置

Mr.Hope ... 2020-10-13 大约 5 分钟

你可以设置以下插件选项来启用或禁用一些功能。

# enableAll

  • 类型: boolean
  • 默认值: false

启用全部功能。

警告

请仅将此选项用于体验或测试。

随着时间的增长,vuepress-plugin-md-enhance 变得越来越强大。它为 Markdown 解析器添加了更多语法,并输出了更多代码。

启用不需要的功能将增加开发和构建时间。 (markdown-it 必须检查额外的语法)

同样,幻灯片演示功能将在输出中添加 700KB 大小的代码 (主要是 reveal.js)。

因此,请使用下面的选项,仅启用需要的功能。

# lineNumbers 改变默认值

  • 类型: boolean
  • 默认值: true

是否在每个代码块的左侧显示行号。

# imageFix

  • 类型: boolean
  • 默认值: true

是否修复包含特殊字符的图片的引用。

# gfm

  • 类型: boolean
  • 默认值: false

是否支持完整的 GFM 语法。

有关完整的 GFM 语法,请参阅 GFM (opens new window)

老实说,我们并不是 100% 支持它,我们只补全了它的语法,包括任务列表、脚注等。

某些行为可能会有所不同,例如,为了允许 Vue 语法,我们并没有禁止 <script> 标签。 但在大多数情况下,行为应该是相同的。

# container

  • 类型: boolean
  • 默认值: false

是否启用自定义容器支持:

  • info
  • note
  • tip
  • warning
  • danger
  • details

注意

最后四个会和默认主题冲突,且会覆盖默认主题的样式与行为。

# tabs

  • 类型: boolean
  • 默认值: false

是否启用选项卡。

# codegroup

  • 类型: boolean
  • 默认值: false

是否启用代码组。

# codetabs

  • 类型: boolean
  • 默认值: false

是否启用代码选项卡。

# align

  • 类型: boolean
  • 默认值: false

是否启用自定义对齐格式支持。

# sup

  • 类型: boolean
  • 默认值: false

是否启用上角标格式支持。

# sub

  • 类型: boolean
  • 默认值: false

是否启用下角标格式支持。

# footnote

  • 类型: boolean
  • 默认值: false

是否启用脚注格式支持。

# lazyLoad

  • 类型: boolean
  • 默认值: false

是否使用原生方式懒加载页面图片。

# mark

  • 类型: boolean
  • 默认值: false

是否启用标记格式支持。

# imageMark

  • 类型: ImageMarkOptions | boolean
  • 默认值: false

是否启用图片标注支持

interface ImageMarkOptions {
  /** 日间模式的 ID */
  light?: string[];
  /** 夜间模式的 ID */
  dark?: string[];
}
1
2
3
4
5
6

# tasklist

  • 类型: TaskListOptions | boolean
  • 默认值: false

是否启用任务列表格式支持。你可以传入一个对象作为任务列表的配置选项。

interface TaskListOptions {
  /**
   * 是否禁用 checkbox
   *
   * @default true
   */
  disabled?: boolean;

  /**
   * 是否使用 `<label>` 来包裹文字
   *
   * @default true
   */
  label?: boolean;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# include

  • 类型: IncludeOptions | boolean

    interface IncludeOptions {
      /**
       * 处理 include 文件路径
       *
       * @default (path) => path
       */
      getPath?: (path: string) => string;
    
      /**
       * 是否深度导入包含的 markdown 文件
       *
       * @default false
       */
      deep?: boolean;
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
  • 默认值: false

是否启用 Markdown 导入支持。你可以传入一个函数进行路径解析。

# tex

  • 类型: KatexOptions | boolean
  • 默认值: false

是否启用 TeX\TeX 语法支持。你可以传入一个对象作为 KaTeX\KaTeX 的配置选项。

可用的选项,详见 Katex 文档 (opens new window)

# chart

  • 类型: boolean
  • 默认值: false

是否启用图表支持。

# flowchart

  • 类型: boolean
  • 默认值: false

是否启用流程图支持。

# mermaid

  • 类型: boolean
  • 默认值: false

是否启用 Mermaid (opens new window) 支持。

# stylize

  • 类型: StylizeOptions | false

    interface StylizeResult {
      /**
       * 渲染的标签名称
       */
      tag: string;
    
      /**
       * 属性设置
       */
      attrs: Record<string, string>;
    
      /**
       * 标签内容
       */
      content: string;
    }
    
    interface StylizeItem {
      /**
       * 字符匹配
       */
      matcher: string | RegExp;
    
      /**
       * 内容替换
       */
      replacer: (options: {
        tag: string;
        content: string;
        attrs: Record<string, string>;
        env?: MarkdownEnv;
      }) => StylizeResult | void;
    }
    
    type StylizeOptions = StylizeItem[];
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
  • 默认值: false

对行内语法进行样式化以创建代码片段

# demo

  • 类型: CodeDemoGlobalOptions | boolean
  • 默认值: false

是否启用代码案例支持。

# demo.jsLib

  • 类型: string[]
  • 必填: 否

CodePen, JsFiddle 需要引入的外部 JS 库。

# demo.cssLib

  • 类型: string[]
  • 必填: 否

CodePen, JsFiddle 需要引入的外部 CSS 库。

注意

上述两个选项仅仅是给第三方代码演示使用的,你需要自行在 head 中导入这些库。

# demo.jsfiddle

  • 类型: boolean
  • 默认值: true

是否显示 JSFiddle 按钮

# demo.codepen

  • 类型: boolean
  • 默认值: true

是否显示 CodePen 按钮

# demo.codepenLayout

  • 类型: "top" | "left" | "right"
  • 默认值: "left"

CodePen 编辑器布局

# demo.codepenEditors

  • Type: string
  • Default value: "101"

CodePen 编辑器状态

# demo.editors

  • 类型: string
  • 默认值: "101"

CodePen 编辑器显示情况,第一位代表 HTML ,第二位代表 JS,第三位代表演示页面。

# 其他

以下是第三方代码演示使用的库地址,除非你的环境无法访问 unpkg 或访问缓慢,否则无需覆盖默认设置。

# demo.babel

默认值: "https://unpkg.com/@babel/standalone/babel.min.js"

# demo.vue

默认值: "https://unpkg.com/vue@2/dist/vue.min.js"

# demo.react

默认值: "https://unpkg.com/react/umd/react.production.min.js"

# demo.reactDOM

默认值: "https://unpkg.com/react-dom/umd/react-dom.production.min.js"

# presentation

  • 类型: PresentationOptions | boolean
  • 默认值: false

是否启用幻灯片支持。

你可以传入一个对象,这个对象将用于 reveal.js 配置。

# presentation.plugins

  • 类型: string[]
  • 必填: No

你想启用的 Reveal.js 插件

可接受的插件有:

  • "highlight"
  • "math"
  • "search"
  • "notes"
  • "zoom"

# presentation.revealConfig

  • 类型: Partial<RevealOptions>
  • 必填: No

你想要传递给 Reveal.js 的配置选项

# delay

  • 类型: number
  • 默认值: 500

操作页面 DOM 的延时,单位 ms。

提示

如果你使用的主题有切换动画,建议配置此选项为 切换动画时长 + 200

# locales

  • 类型: MarkdownEnhanceLocaleConfig

    interface MarkdownEnhanceLocaleData {
      /**
       * 信息块的默认标题
       */
      info: string;
    
      /**
       * 注释块的默认标题
       */
      note: string;
    
      /**
       * 提示块的默认标题
       */
      tip: string;
    
      /**
       * 注意块的默认标题
       */
      warning: string;
    
      /**
       * 警告块的默认标题
       */
      danger: string;
    
      /**
       * 详情块的默认标题
       */
      details: string;
    }
    
    interface MarkdownEnhanceLocaleConfig {
      [localePath: string]: MarkdownEnhanceLocaleData;
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
  • 必填: 否

Markdown 增强插件的国际化配置。

上次编辑于: 2022年6月4日 13:16
贡献者: Mr.Hope , Mr.Hope