@md-plugins/vite-md-plugin 0.1.0-beta.19 → 0.1.0-beta.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Plugin } from 'vite';
2
- import { Options } from 'markdown-it';
2
+ import MarkdownIt, { Options } from 'markdown-it';
3
3
  import { MarkdownItEnv } from '@md-plugins/shared';
4
4
  import { BlockquotePluginOptions } from '@md-plugins/md-plugin-blockquote';
5
5
  import { CodeblockPluginOptions } from '@md-plugins/md-plugin-codeblocks';
@@ -8,8 +8,11 @@ import { HeadersPluginOptions } from '@md-plugins/md-plugin-headers';
8
8
  import { ImagePluginOptions } from '@md-plugins/md-plugin-image';
9
9
  import { InlineCodePluginOptions } from '@md-plugins/md-plugin-inlinecode';
10
10
  import { LinkPluginOptions } from '@md-plugins/md-plugin-link';
11
+ import { MermaidPluginOptions } from '@md-plugins/md-plugin-mermaid';
11
12
  import { TablePluginOptions } from '@md-plugins/md-plugin-table';
12
13
 
14
+ type MarkdownItPlugin = (md: MarkdownIt, ...params: any[]) => void;
15
+ type MarkdownItPluginEntry = MarkdownItPlugin | [MarkdownItPlugin, ...any[]];
13
16
  interface MarkdownOptions extends Options {
14
17
  html?: boolean;
15
18
  linkify?: boolean;
@@ -22,7 +25,9 @@ interface MarkdownOptions extends Options {
22
25
  imagePlugin?: ImagePluginOptions;
23
26
  inlineCodePlugin?: InlineCodePluginOptions;
24
27
  linkPlugin?: LinkPluginOptions;
28
+ mermaidPlugin?: MermaidPluginOptions;
25
29
  tablePlugin?: TablePluginOptions;
30
+ markdownItPlugins?: MarkdownItPluginEntry[];
26
31
  preProcess?: (env: MarkdownItEnv) => void;
27
32
  postProcess?: (env: MarkdownItEnv) => void;
28
33
  }
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Plugin } from 'vite';
2
- import { Options } from 'markdown-it';
2
+ import MarkdownIt, { Options } from 'markdown-it';
3
3
  import { MarkdownItEnv } from '@md-plugins/shared';
4
4
  import { BlockquotePluginOptions } from '@md-plugins/md-plugin-blockquote';
5
5
  import { CodeblockPluginOptions } from '@md-plugins/md-plugin-codeblocks';
@@ -8,8 +8,11 @@ import { HeadersPluginOptions } from '@md-plugins/md-plugin-headers';
8
8
  import { ImagePluginOptions } from '@md-plugins/md-plugin-image';
9
9
  import { InlineCodePluginOptions } from '@md-plugins/md-plugin-inlinecode';
10
10
  import { LinkPluginOptions } from '@md-plugins/md-plugin-link';
11
+ import { MermaidPluginOptions } from '@md-plugins/md-plugin-mermaid';
11
12
  import { TablePluginOptions } from '@md-plugins/md-plugin-table';
12
13
 
14
+ type MarkdownItPlugin = (md: MarkdownIt, ...params: any[]) => void;
15
+ type MarkdownItPluginEntry = MarkdownItPlugin | [MarkdownItPlugin, ...any[]];
13
16
  interface MarkdownOptions extends Options {
14
17
  html?: boolean;
15
18
  linkify?: boolean;
@@ -22,7 +25,9 @@ interface MarkdownOptions extends Options {
22
25
  imagePlugin?: ImagePluginOptions;
23
26
  inlineCodePlugin?: InlineCodePluginOptions;
24
27
  linkPlugin?: LinkPluginOptions;
28
+ mermaidPlugin?: MermaidPluginOptions;
25
29
  tablePlugin?: TablePluginOptions;
30
+ markdownItPlugins?: MarkdownItPluginEntry[];
26
31
  preProcess?: (env: MarkdownItEnv) => void;
27
32
  postProcess?: (env: MarkdownItEnv) => void;
28
33
  }
package/dist/index.mjs CHANGED
@@ -1,5 +1,6 @@
1
1
  import { join } from 'node:path';
2
2
  import MarkdownIt from 'markdown-it';
3
+ import markdownItIns from 'markdown-it-ins';
3
4
  import { frontmatterPlugin } from '@md-plugins/md-plugin-frontmatter';
4
5
  import { importsPlugin } from '@md-plugins/md-plugin-imports';
5
6
  import { headersPlugin } from '@md-plugins/md-plugin-headers';
@@ -8,6 +9,7 @@ import { inlinecodePlugin } from '@md-plugins/md-plugin-inlinecode';
8
9
  import { imagePlugin } from '@md-plugins/md-plugin-image';
9
10
  import { codeblocksPlugin } from '@md-plugins/md-plugin-codeblocks';
10
11
  import { blockquotePlugin } from '@md-plugins/md-plugin-blockquote';
12
+ import { mermaidPlugin } from '@md-plugins/md-plugin-mermaid';
11
13
  import { tablePlugin } from '@md-plugins/md-plugin-table';
12
14
  import { titlePlugin } from '@md-plugins/md-plugin-title';
13
15
  import { containersPlugin } from '@md-plugins/md-plugin-containers';
@@ -200,6 +202,16 @@ const createContainer = (container, containerType, defaultTitle, md) => {
200
202
  }
201
203
  ];
202
204
  };
205
+ function registerUserMarkdownItPlugins(md, plugins) {
206
+ for (const entry of plugins ?? []) {
207
+ if (Array.isArray(entry)) {
208
+ const [plugin, ...params] = entry;
209
+ md.use(plugin, ...params);
210
+ } else {
211
+ md.use(entry);
212
+ }
213
+ }
214
+ }
203
215
  function createMarkdownRenderer(options = {}) {
204
216
  const md = new MarkdownIt({
205
217
  html: true,
@@ -212,6 +224,7 @@ function createMarkdownRenderer(options = {}) {
212
224
  md.use(importsPlugin);
213
225
  md.use(titlePlugin);
214
226
  md.use(headersPlugin, { level: [2, 3], ...options });
227
+ md.use(markdownItIns);
215
228
  const containers = [
216
229
  { type: "tip", defaultTitle: "TIP" },
217
230
  { type: "warning", defaultTitle: "WARNING" },
@@ -240,9 +253,11 @@ function createMarkdownRenderer(options = {}) {
240
253
  ],
241
254
  ...options
242
255
  });
256
+ md.use(mermaidPlugin, { ...options });
243
257
  md.use(linkPlugin, { ...options });
244
258
  md.use(inlinecodePlugin, { ...options });
245
259
  md.use(imagePlugin, { ...options });
260
+ registerUserMarkdownItPlugins(md, options.markdownItPlugins);
246
261
  return {
247
262
  // env: Environment for storing metadata
248
263
  render(code, env = {}) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@md-plugins/vite-md-plugin",
3
- "version": "0.1.0-beta.19",
3
+ "version": "0.1.0-beta.20",
4
4
  "description": "A very opinionated Vite plugin for @md-plugins.",
5
5
  "keywords": [
6
6
  "markdown-it",
@@ -39,18 +39,20 @@
39
39
  },
40
40
  "dependencies": {
41
41
  "markdown-it": "^14.2.0",
42
- "@md-plugins/md-plugin-blockquote": "0.1.0-beta.19",
43
- "@md-plugins/md-plugin-headers": "0.1.0-beta.19",
44
- "@md-plugins/md-plugin-frontmatter": "0.1.0-beta.19",
45
- "@md-plugins/md-plugin-codeblocks": "0.1.0-beta.19",
46
- "@md-plugins/md-plugin-containers": "0.1.0-beta.19",
47
- "@md-plugins/md-plugin-image": "0.1.0-beta.19",
48
- "@md-plugins/md-plugin-imports": "0.1.0-beta.19",
49
- "@md-plugins/md-plugin-table": "0.1.0-beta.19",
50
- "@md-plugins/md-plugin-inlinecode": "0.1.0-beta.19",
51
- "@md-plugins/md-plugin-link": "0.1.0-beta.19",
52
- "@md-plugins/shared": "0.1.0-beta.19",
53
- "@md-plugins/md-plugin-title": "0.1.0-beta.19"
42
+ "markdown-it-ins": "^4.0.0",
43
+ "@md-plugins/md-plugin-blockquote": "0.1.0-beta.20",
44
+ "@md-plugins/md-plugin-codeblocks": "0.1.0-beta.20",
45
+ "@md-plugins/md-plugin-frontmatter": "0.1.0-beta.20",
46
+ "@md-plugins/md-plugin-containers": "0.1.0-beta.20",
47
+ "@md-plugins/md-plugin-headers": "0.1.0-beta.20",
48
+ "@md-plugins/md-plugin-image": "0.1.0-beta.20",
49
+ "@md-plugins/md-plugin-imports": "0.1.0-beta.20",
50
+ "@md-plugins/md-plugin-inlinecode": "0.1.0-beta.20",
51
+ "@md-plugins/md-plugin-link": "0.1.0-beta.20",
52
+ "@md-plugins/md-plugin-table": "0.1.0-beta.20",
53
+ "@md-plugins/md-plugin-mermaid": "0.1.0-beta.20",
54
+ "@md-plugins/md-plugin-title": "0.1.0-beta.20",
55
+ "@md-plugins/shared": "0.1.0-beta.20"
54
56
  },
55
57
  "devDependencies": {
56
58
  "@types/markdown-it": "^14.1.2",