@cocoar/vue-markdown 2.13.0 → 2.15.0
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/CoarMarkdown.vue.d.ts +9 -0
- package/dist/CoarMarkdown.vue.d.ts.map +1 -1
- package/dist/default-renderers.d.ts.map +1 -1
- package/dist/fences.d.ts +30 -0
- package/dist/fences.d.ts.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +156 -142
- package/package.json +3 -3
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { MarkdownDocument } from '@cocoar/vue-markdown-core';
|
|
2
2
|
import { MarkdownViewerRenderers } from './registry';
|
|
3
3
|
import { EmbedRegistry } from './embeds';
|
|
4
|
+
import { FenceRegistry } from './fences';
|
|
4
5
|
export interface CoarMarkdownProps {
|
|
5
6
|
/** The parsed markdown document to render. */
|
|
6
7
|
doc: MarkdownDocument;
|
|
@@ -17,6 +18,14 @@ export interface CoarMarkdownProps {
|
|
|
17
18
|
* default can also be set with `app.provide(MARKDOWN_EMBEDS_KEY, ...)`.
|
|
18
19
|
*/
|
|
19
20
|
embeds?: EmbedRegistry;
|
|
21
|
+
/**
|
|
22
|
+
* Fenced-code-block renderer registry: maps a fence language (e.g. `mermaid`)
|
|
23
|
+
* to a Vue component that renders it richly instead of as a plain code block.
|
|
24
|
+
* Provided down to `DefaultCodeBlock` via inject; an unregistered language
|
|
25
|
+
* still renders as a normal code block. An app-wide default can also be set
|
|
26
|
+
* with `app.provide(MARKDOWN_FENCE_RENDERERS_KEY, ...)`.
|
|
27
|
+
*/
|
|
28
|
+
fenceRenderers?: FenceRegistry;
|
|
20
29
|
}
|
|
21
30
|
declare const _default: import('vue').DefineComponent<CoarMarkdownProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<CoarMarkdownProps> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
22
31
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoarMarkdown.vue.d.ts","sourceRoot":"","sources":["../src/CoarMarkdown.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CoarMarkdown.vue.d.ts","sourceRoot":"","sources":["../src/CoarMarkdown.vue"],"names":[],"mappings":"AAqGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EAAgC,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAE5E,MAAM,WAAW,iBAAiB;IAChC,8CAA8C;IAC9C,GAAG,EAAE,gBAAgB,CAAC;IACtB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC;;;;OAIG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC;;AAqED,wBAOG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-renderers.d.ts","sourceRoot":"","sources":["../src/default-renderers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"default-renderers.d.ts","sourceRoot":"","sources":["../src/default-renderers.ts"],"names":[],"mappings":"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"}
|
package/dist/fences.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Component, InjectionKey } from 'vue';
|
|
2
|
+
/**
|
|
3
|
+
* Props every registered fence renderer receives.
|
|
4
|
+
*
|
|
5
|
+
* - `code` — the raw text inside the fence (never HTML-interpolated by the
|
|
6
|
+
* markdown layer; the renderer owns how it treats the string).
|
|
7
|
+
* - `language` — the fence info string, verbatim from the source (e.g.
|
|
8
|
+
* `'mermaid'`). Handy when one component is registered under several keys.
|
|
9
|
+
*/
|
|
10
|
+
export interface FenceRendererProps {
|
|
11
|
+
code: string;
|
|
12
|
+
language: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Map of fence language → the Vue component that renders it. Keys are matched
|
|
16
|
+
* case-insensitively (see {@link resolveFenceRenderer}); register with a
|
|
17
|
+
* lowercase key by convention (`{ mermaid: … }`).
|
|
18
|
+
*/
|
|
19
|
+
export type FenceRegistry = Record<string, Component>;
|
|
20
|
+
/** Vue inject key. Set via `<CoarMarkdown :fenceRenderers>` or `app.provide`. */
|
|
21
|
+
export declare const MARKDOWN_FENCE_RENDERERS_KEY: InjectionKey<FenceRegistry>;
|
|
22
|
+
/**
|
|
23
|
+
* Look up the renderer for a fence language, tolerating an undefined registry.
|
|
24
|
+
* The lookup is case-insensitive so ` ```mermaid `, ` ```Mermaid ` and
|
|
25
|
+
* ` ```MERMAID ` all resolve to a registry entry keyed `mermaid`. Returns
|
|
26
|
+
* `undefined` when nothing is registered — the caller then falls back to the
|
|
27
|
+
* plain code-block presentation.
|
|
28
|
+
*/
|
|
29
|
+
export declare function resolveFenceRenderer(registry: FenceRegistry | undefined, language: string): Component | undefined;
|
|
30
|
+
//# sourceMappingURL=fences.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fences.d.ts","sourceRoot":"","sources":["../src/fences.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEtD,iFAAiF;AACjF,eAAO,MAAM,4BAA4B,EAAE,YAAY,CAAC,aAAa,CAEpE,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,QAAQ,EAAE,MAAM,GACf,SAAS,GAAG,SAAS,CAGvB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -20,5 +20,7 @@ export { defaultMarkdownRenderers, DefaultBlockquote, DefaultCodeBlock, DefaultC
|
|
|
20
20
|
export { RenderNode, renderMarkdownNodes } from './RenderNode';
|
|
21
21
|
export { EmbedRenderer, MARKDOWN_EMBEDS_KEY, resolveEmbed, toEmbedProps, } from './embeds';
|
|
22
22
|
export type { EmbedDefinition, EmbedEditorController, EmbedEditorProps, EmbedInsertIntegration, EmbedRegistry, } from './embeds';
|
|
23
|
+
export { MARKDOWN_FENCE_RENDERERS_KEY, resolveFenceRenderer } from './fences';
|
|
24
|
+
export type { FenceRegistry, FenceRendererProps } from './fences';
|
|
23
25
|
export * from './helpers';
|
|
24
26
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACrE,YAAY,EACV,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAIpB,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAK/D,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,aAAa,GACd,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACrE,YAAY,EACV,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAIpB,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAK/D,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,aAAa,GACd,MAAM,UAAU,CAAC;AAMlB,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC9E,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAIlE,cAAc,WAAW,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { Fragment as e, createBlock as t, createElementBlock as n, defineComponent as r, h as i, inject as
|
|
2
|
-
import { CoarCodeBlock as
|
|
3
|
-
import { sanitizeColor as
|
|
1
|
+
import { Fragment as e, createBlock as t, createElementBlock as n, defineComponent as r, h as i, inject as a, openBlock as o, provide as s, renderList as ee, unref as te } from "vue";
|
|
2
|
+
import { CoarCodeBlock as ne } from "@cocoar/vue-ui";
|
|
3
|
+
import { sanitizeColor as re, toEmbedProps as c } from "@cocoar/vue-markdown-core";
|
|
4
4
|
//#region src/embeds.ts
|
|
5
|
-
var
|
|
6
|
-
function
|
|
5
|
+
var l = Symbol.for("coar:markdown-embeds");
|
|
6
|
+
function ie(e, t) {
|
|
7
7
|
return e ? e[t] : void 0;
|
|
8
8
|
}
|
|
9
|
-
var
|
|
9
|
+
var ae = r({
|
|
10
10
|
name: "CoarMarkdownEmbed",
|
|
11
11
|
props: {
|
|
12
12
|
embedKey: {
|
|
@@ -23,9 +23,9 @@ var l = r({
|
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
setup(e) {
|
|
26
|
-
let t =
|
|
26
|
+
let t = a(l, void 0);
|
|
27
27
|
return () => {
|
|
28
|
-
let n =
|
|
28
|
+
let n = ie(e.registry ?? t, e.embedKey);
|
|
29
29
|
return n ? i("div", {
|
|
30
30
|
class: "coar-markdown-embed",
|
|
31
31
|
"data-embed-key": e.embedKey
|
|
@@ -35,99 +35,102 @@ var l = r({
|
|
|
35
35
|
}, [i("span", { class: "coar-markdown-embed__icon" }, "🧩"), i("span", { class: "coar-markdown-embed__label" }, `Unknown embed: :::${e.embedKey}`)]);
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
|
-
});
|
|
38
|
+
}), u = Symbol.for("coar:markdown-fence-renderers");
|
|
39
|
+
function d(e, t) {
|
|
40
|
+
if (e) return e[t] ?? e[t.toLowerCase()];
|
|
41
|
+
}
|
|
39
42
|
//#endregion
|
|
40
43
|
//#region src/helpers.ts
|
|
41
|
-
function
|
|
44
|
+
function f(e) {
|
|
42
45
|
let t = e.attrs?.depth;
|
|
43
46
|
if (typeof t != "number") return 1;
|
|
44
47
|
let n = Math.trunc(t);
|
|
45
48
|
return n <= 1 ? 1 : n === 2 ? 2 : n === 3 ? 3 : n === 4 ? 4 : n === 5 ? 5 : 6;
|
|
46
49
|
}
|
|
47
|
-
function
|
|
50
|
+
function p(e) {
|
|
48
51
|
let t = e.attrs?.anchor;
|
|
49
52
|
return typeof t == "string" && t.length > 0 ? t : null;
|
|
50
53
|
}
|
|
51
|
-
function
|
|
54
|
+
function m(e) {
|
|
52
55
|
let t = e.attrs?.language;
|
|
53
56
|
return typeof t == "string" && t.trim().length > 0 ? t.trim() : "text";
|
|
54
57
|
}
|
|
55
|
-
function
|
|
58
|
+
function h(e) {
|
|
56
59
|
return !!e.attrs?.ordered;
|
|
57
60
|
}
|
|
58
|
-
function
|
|
61
|
+
function g(e) {
|
|
59
62
|
let t = e.attrs?.start;
|
|
60
63
|
return typeof t == "number" ? t : null;
|
|
61
64
|
}
|
|
62
|
-
function
|
|
65
|
+
function _(e) {
|
|
63
66
|
return typeof e.attrs?.checked == "boolean";
|
|
64
67
|
}
|
|
65
|
-
function
|
|
68
|
+
function v(e) {
|
|
66
69
|
return e.attrs?.checked === !0;
|
|
67
70
|
}
|
|
68
|
-
function
|
|
71
|
+
function y(e) {
|
|
69
72
|
let t = e.attrs?.url;
|
|
70
73
|
return typeof t == "string" && t.length > 0 ? t : null;
|
|
71
74
|
}
|
|
72
|
-
function
|
|
73
|
-
let t =
|
|
75
|
+
function b(e) {
|
|
76
|
+
let t = y(e);
|
|
74
77
|
return t ? t.startsWith("#") && typeof window < "u" ? `${window.location.pathname}${window.location.search}${t}` : t : null;
|
|
75
78
|
}
|
|
76
|
-
function
|
|
77
|
-
let t =
|
|
78
|
-
return t &&
|
|
79
|
+
function x(e) {
|
|
80
|
+
let t = y(e);
|
|
81
|
+
return t && N(t) ? "_blank" : null;
|
|
79
82
|
}
|
|
80
|
-
function
|
|
81
|
-
let t =
|
|
82
|
-
return t &&
|
|
83
|
+
function S(e) {
|
|
84
|
+
let t = y(e);
|
|
85
|
+
return t && N(t) ? "noopener noreferrer" : null;
|
|
83
86
|
}
|
|
84
|
-
function
|
|
87
|
+
function C(e) {
|
|
85
88
|
let t = e.attrs?.url;
|
|
86
89
|
return typeof t == "string" && t.trim().length > 0 ? t.trim() : null;
|
|
87
90
|
}
|
|
88
|
-
function
|
|
91
|
+
function w(e) {
|
|
89
92
|
let t = e.attrs?.alt;
|
|
90
93
|
return typeof t == "string" ? t : "";
|
|
91
94
|
}
|
|
92
|
-
function
|
|
95
|
+
function T(e) {
|
|
93
96
|
let t = e.attrs?.title;
|
|
94
97
|
return typeof t == "string" && t.trim().length > 0 ? t.trim() : null;
|
|
95
98
|
}
|
|
96
|
-
function
|
|
97
|
-
return
|
|
99
|
+
function E(e, t) {
|
|
100
|
+
return M(e, t) === "right";
|
|
98
101
|
}
|
|
99
|
-
function
|
|
100
|
-
return
|
|
102
|
+
function D(e, t) {
|
|
103
|
+
return M(e, t) === "center";
|
|
101
104
|
}
|
|
102
|
-
function
|
|
105
|
+
function O(e) {
|
|
103
106
|
let t = e.attrs?.originalType;
|
|
104
107
|
return typeof t == "string" ? t : String(e.type);
|
|
105
108
|
}
|
|
106
|
-
function
|
|
109
|
+
function k(e) {
|
|
107
110
|
let t = e.attrs?.entries;
|
|
108
111
|
return Array.isArray(t) ? t.filter((e) => !!e && typeof e == "object" && typeof e.key == "string" && typeof e.value == "string") : [];
|
|
109
112
|
}
|
|
110
|
-
function
|
|
113
|
+
function A(e) {
|
|
111
114
|
let t = e.attrs?.raw;
|
|
112
115
|
return typeof t == "string" ? t : "";
|
|
113
116
|
}
|
|
114
|
-
function
|
|
117
|
+
function j(e) {
|
|
115
118
|
let t = e.attrs?.color;
|
|
116
|
-
return typeof t == "string" ?
|
|
119
|
+
return typeof t == "string" ? re(t) : null;
|
|
117
120
|
}
|
|
118
|
-
function
|
|
121
|
+
function M(e, t) {
|
|
119
122
|
let n = e.attrs?.align;
|
|
120
123
|
if (!Array.isArray(n)) return null;
|
|
121
124
|
let r = n[t];
|
|
122
125
|
return r === "left" || r === "right" || r === "center" ? r : null;
|
|
123
126
|
}
|
|
124
|
-
function
|
|
127
|
+
function N(e) {
|
|
125
128
|
let t = e.trim();
|
|
126
129
|
return t.startsWith("#") || t.startsWith("/") || t.startsWith("./") || t.startsWith("../") || t.startsWith("mailto:") || t.startsWith("tel:") ? !1 : t.startsWith("http://") || t.startsWith("https://");
|
|
127
130
|
}
|
|
128
131
|
//#endregion
|
|
129
132
|
//#region src/default-renderers.ts
|
|
130
|
-
var
|
|
133
|
+
var P = {
|
|
131
134
|
node: {
|
|
132
135
|
type: Object,
|
|
133
136
|
required: !0
|
|
@@ -140,16 +143,16 @@ var j = {
|
|
|
140
143
|
type: Function,
|
|
141
144
|
required: !0
|
|
142
145
|
}
|
|
143
|
-
},
|
|
146
|
+
}, oe = r({
|
|
144
147
|
name: "DefaultFrontmatter",
|
|
145
|
-
props:
|
|
148
|
+
props: P,
|
|
146
149
|
setup(e) {
|
|
147
150
|
return () => {
|
|
148
|
-
let t =
|
|
151
|
+
let t = k(e.node);
|
|
149
152
|
return t.length === 0 ? i("div", {
|
|
150
153
|
class: "coar-markdown-frontmatter",
|
|
151
154
|
"aria-label": "Document metadata"
|
|
152
|
-
}, [i("pre", { class: "coar-markdown-frontmatter__raw" },
|
|
155
|
+
}, [i("pre", { class: "coar-markdown-frontmatter__raw" }, A(e.node))]) : i("div", {
|
|
153
156
|
class: "coar-markdown-frontmatter",
|
|
154
157
|
role: "group",
|
|
155
158
|
"aria-label": "Document metadata"
|
|
@@ -163,48 +166,48 @@ var j = {
|
|
|
163
166
|
])));
|
|
164
167
|
};
|
|
165
168
|
}
|
|
166
|
-
}),
|
|
169
|
+
}), F = r({
|
|
167
170
|
name: "DefaultHeading",
|
|
168
|
-
props:
|
|
171
|
+
props: P,
|
|
169
172
|
setup(e) {
|
|
170
173
|
return () => {
|
|
171
|
-
let t =
|
|
174
|
+
let t = f(e.node), n = p(e.node);
|
|
172
175
|
return i(`h${t}`, {
|
|
173
176
|
id: n ?? void 0,
|
|
174
177
|
class: "coar-markdown-heading"
|
|
175
178
|
}, e.renderChildren());
|
|
176
179
|
};
|
|
177
180
|
}
|
|
178
|
-
}),
|
|
181
|
+
}), I = r({
|
|
179
182
|
name: "DefaultParagraph",
|
|
180
|
-
props:
|
|
183
|
+
props: P,
|
|
181
184
|
setup(e) {
|
|
182
185
|
return () => i("p", { class: "coar-markdown-paragraph" }, e.renderChildren());
|
|
183
186
|
}
|
|
184
|
-
}),
|
|
187
|
+
}), L = r({
|
|
185
188
|
name: "DefaultBlockquote",
|
|
186
|
-
props:
|
|
189
|
+
props: P,
|
|
187
190
|
setup(e) {
|
|
188
191
|
return () => i("blockquote", { class: "coar-markdown-blockquote" }, e.renderChildren());
|
|
189
192
|
}
|
|
190
|
-
}),
|
|
193
|
+
}), R = r({
|
|
191
194
|
name: "DefaultList",
|
|
192
|
-
props:
|
|
195
|
+
props: P,
|
|
193
196
|
setup(e) {
|
|
194
197
|
return () => {
|
|
195
|
-
let t =
|
|
198
|
+
let t = h(e.node), n = t ? "ol" : "ul", r = t ? g(e.node) : null;
|
|
196
199
|
return i(n, {
|
|
197
200
|
class: ["coar-markdown-list", t ? "coar-markdown-list--ordered" : "coar-markdown-list--unordered"],
|
|
198
201
|
start: r ?? void 0
|
|
199
202
|
}, e.renderChildren());
|
|
200
203
|
};
|
|
201
204
|
}
|
|
202
|
-
}),
|
|
205
|
+
}), z = r({
|
|
203
206
|
name: "DefaultListItem",
|
|
204
|
-
props:
|
|
207
|
+
props: P,
|
|
205
208
|
setup(e) {
|
|
206
209
|
return () => {
|
|
207
|
-
let t =
|
|
210
|
+
let t = _(e.node), n = t && v(e.node);
|
|
208
211
|
return i("li", {
|
|
209
212
|
class: ["coar-markdown-list-item", t ? "coar-markdown-list-item--task" : null],
|
|
210
213
|
"data-item-type": t ? "task" : void 0,
|
|
@@ -212,21 +215,31 @@ var j = {
|
|
|
212
215
|
}, e.renderChildren());
|
|
213
216
|
};
|
|
214
217
|
}
|
|
215
|
-
}),
|
|
218
|
+
}), B = r({
|
|
216
219
|
name: "DefaultCodeBlock",
|
|
217
|
-
props:
|
|
220
|
+
props: P,
|
|
218
221
|
setup(e) {
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
222
|
+
let t = a(u, void 0);
|
|
223
|
+
return () => {
|
|
224
|
+
let n = m(e.node), r = e.node.text ?? "", a = d(t, n);
|
|
225
|
+
return a ? i("div", {
|
|
226
|
+
class: "coar-markdown-fence",
|
|
227
|
+
"data-fence-language": n
|
|
228
|
+
}, [i(a, {
|
|
229
|
+
code: r,
|
|
230
|
+
language: n
|
|
231
|
+
})]) : i(ne, {
|
|
232
|
+
class: "coar-markdown-code-block",
|
|
233
|
+
code: r,
|
|
234
|
+
language: n,
|
|
235
|
+
collapsible: !1,
|
|
236
|
+
showCopy: !0
|
|
237
|
+
});
|
|
238
|
+
};
|
|
226
239
|
}
|
|
227
|
-
}),
|
|
240
|
+
}), V = r({
|
|
228
241
|
name: "DefaultTable",
|
|
229
|
-
props:
|
|
242
|
+
props: P,
|
|
230
243
|
setup(e) {
|
|
231
244
|
return () => {
|
|
232
245
|
let t = e.node.children ?? [];
|
|
@@ -234,153 +247,153 @@ var j = {
|
|
|
234
247
|
let [n, ...r] = t;
|
|
235
248
|
return i("table", { class: "coar-markdown-table" }, [i("thead", null, [i("tr", null, (n.children ?? []).map((t, n) => i("th", {
|
|
236
249
|
key: t.id,
|
|
237
|
-
class: [
|
|
250
|
+
class: [E(e.node, n) ? "text-right" : null, D(e.node, n) ? "text-center" : null]
|
|
238
251
|
}, e.renderNodes(t.children ?? []))))]), i("tbody", null, r.map((t) => i("tr", { key: t.id }, (t.children ?? []).map((t, n) => i("td", {
|
|
239
252
|
key: t.id,
|
|
240
|
-
class: [
|
|
253
|
+
class: [E(e.node, n) ? "text-right" : null, D(e.node, n) ? "text-center" : null]
|
|
241
254
|
}, e.renderNodes(t.children ?? []))))))]);
|
|
242
255
|
};
|
|
243
256
|
}
|
|
244
|
-
}),
|
|
257
|
+
}), H = r({
|
|
245
258
|
name: "DefaultTableRow",
|
|
246
|
-
props:
|
|
259
|
+
props: P,
|
|
247
260
|
setup(e) {
|
|
248
261
|
return () => i("tr", null, e.renderChildren());
|
|
249
262
|
}
|
|
250
|
-
}),
|
|
263
|
+
}), U = r({
|
|
251
264
|
name: "DefaultTableCell",
|
|
252
|
-
props:
|
|
265
|
+
props: P,
|
|
253
266
|
setup(e) {
|
|
254
267
|
return () => i("td", { class: "coar-markdown-table-cell" }, e.renderChildren());
|
|
255
268
|
}
|
|
256
|
-
}),
|
|
269
|
+
}), W = r({
|
|
257
270
|
name: "DefaultThematicBreak",
|
|
258
|
-
props:
|
|
271
|
+
props: P,
|
|
259
272
|
setup() {
|
|
260
273
|
return () => i("hr", { class: "coar-markdown-hr" });
|
|
261
274
|
}
|
|
262
|
-
}),
|
|
275
|
+
}), G = r({
|
|
263
276
|
name: "DefaultText",
|
|
264
|
-
props:
|
|
277
|
+
props: P,
|
|
265
278
|
setup(e) {
|
|
266
279
|
return () => e.node.text ?? "";
|
|
267
280
|
}
|
|
268
|
-
}),
|
|
281
|
+
}), K = r({
|
|
269
282
|
name: "DefaultEmphasis",
|
|
270
|
-
props:
|
|
283
|
+
props: P,
|
|
271
284
|
setup(e) {
|
|
272
285
|
return () => i("em", null, e.renderChildren());
|
|
273
286
|
}
|
|
274
|
-
}),
|
|
287
|
+
}), q = r({
|
|
275
288
|
name: "DefaultStrong",
|
|
276
|
-
props:
|
|
289
|
+
props: P,
|
|
277
290
|
setup(e) {
|
|
278
291
|
return () => i("strong", null, e.renderChildren());
|
|
279
292
|
}
|
|
280
|
-
}),
|
|
293
|
+
}), J = r({
|
|
281
294
|
name: "DefaultStrikethrough",
|
|
282
|
-
props:
|
|
295
|
+
props: P,
|
|
283
296
|
setup(e) {
|
|
284
297
|
return () => i("del", null, e.renderChildren());
|
|
285
298
|
}
|
|
286
|
-
}),
|
|
299
|
+
}), Y = r({
|
|
287
300
|
name: "DefaultInlineCode",
|
|
288
|
-
props:
|
|
301
|
+
props: P,
|
|
289
302
|
setup(e) {
|
|
290
303
|
return () => i("code", { class: "coar-markdown-inline-code" }, e.node.text ?? "");
|
|
291
304
|
}
|
|
292
|
-
}),
|
|
305
|
+
}), X = r({
|
|
293
306
|
name: "DefaultLink",
|
|
294
|
-
props:
|
|
307
|
+
props: P,
|
|
295
308
|
setup(e) {
|
|
296
309
|
return () => {
|
|
297
|
-
let t =
|
|
310
|
+
let t = b(e.node);
|
|
298
311
|
return t ? i("a", {
|
|
299
312
|
class: "coar-markdown-link",
|
|
300
313
|
href: t,
|
|
301
|
-
target:
|
|
302
|
-
rel:
|
|
314
|
+
target: x(e.node) ?? void 0,
|
|
315
|
+
rel: S(e.node) ?? void 0
|
|
303
316
|
}, e.renderChildren()) : e.renderChildren();
|
|
304
317
|
};
|
|
305
318
|
}
|
|
306
|
-
}),
|
|
319
|
+
}), se = r({
|
|
307
320
|
name: "DefaultImage",
|
|
308
|
-
props:
|
|
321
|
+
props: P,
|
|
309
322
|
setup(e) {
|
|
310
323
|
return () => {
|
|
311
|
-
let t =
|
|
324
|
+
let t = C(e.node);
|
|
312
325
|
return t ? i("img", {
|
|
313
326
|
class: "coar-markdown-image",
|
|
314
327
|
src: t,
|
|
315
|
-
alt:
|
|
316
|
-
title:
|
|
328
|
+
alt: w(e.node),
|
|
329
|
+
title: T(e.node) ?? void 0,
|
|
317
330
|
loading: "lazy"
|
|
318
331
|
}) : null;
|
|
319
332
|
};
|
|
320
333
|
}
|
|
321
|
-
}),
|
|
334
|
+
}), ce = r({
|
|
322
335
|
name: "DefaultLineBreak",
|
|
323
|
-
props:
|
|
336
|
+
props: P,
|
|
324
337
|
setup() {
|
|
325
338
|
return () => i("br");
|
|
326
339
|
}
|
|
327
340
|
}), Z = r({
|
|
328
341
|
name: "DefaultColorSpan",
|
|
329
|
-
props:
|
|
342
|
+
props: P,
|
|
330
343
|
setup(e) {
|
|
331
344
|
return () => {
|
|
332
|
-
let t =
|
|
345
|
+
let t = j(e.node);
|
|
333
346
|
return i("span", {
|
|
334
347
|
class: "coar-markdown-color",
|
|
335
348
|
style: t ? { color: t } : void 0
|
|
336
349
|
}, e.renderChildren());
|
|
337
350
|
};
|
|
338
351
|
}
|
|
339
|
-
}),
|
|
352
|
+
}), le = r({
|
|
340
353
|
name: "DefaultEmbed",
|
|
341
|
-
props:
|
|
354
|
+
props: P,
|
|
342
355
|
setup(e) {
|
|
343
|
-
return () => i(
|
|
356
|
+
return () => i(ae, {
|
|
344
357
|
embedKey: typeof e.node.attrs?.key == "string" ? e.node.attrs.key : "",
|
|
345
|
-
embedProps:
|
|
358
|
+
embedProps: c(e.node.attrs?.props)
|
|
346
359
|
});
|
|
347
360
|
}
|
|
348
|
-
}),
|
|
361
|
+
}), ue = r({
|
|
349
362
|
name: "DefaultUnsupported",
|
|
350
|
-
props:
|
|
363
|
+
props: P,
|
|
351
364
|
setup(e) {
|
|
352
|
-
return () => i("div", { class: "coar-markdown-unsupported" }, `Unsupported markdown node: ${
|
|
365
|
+
return () => i("div", { class: "coar-markdown-unsupported" }, `Unsupported markdown node: ${O(e.node)}`);
|
|
353
366
|
}
|
|
354
|
-
}),
|
|
355
|
-
frontmatter:
|
|
356
|
-
heading:
|
|
357
|
-
paragraph:
|
|
358
|
-
blockquote:
|
|
359
|
-
list:
|
|
360
|
-
listItem:
|
|
361
|
-
codeBlock:
|
|
362
|
-
table:
|
|
363
|
-
tableRow:
|
|
364
|
-
tableCell:
|
|
365
|
-
thematicBreak:
|
|
366
|
-
text:
|
|
367
|
-
emphasis:
|
|
368
|
-
strong:
|
|
369
|
-
strikethrough:
|
|
370
|
-
inlineCode:
|
|
371
|
-
link:
|
|
372
|
-
image:
|
|
373
|
-
lineBreak:
|
|
367
|
+
}), de = {
|
|
368
|
+
frontmatter: oe,
|
|
369
|
+
heading: F,
|
|
370
|
+
paragraph: I,
|
|
371
|
+
blockquote: L,
|
|
372
|
+
list: R,
|
|
373
|
+
listItem: z,
|
|
374
|
+
codeBlock: B,
|
|
375
|
+
table: V,
|
|
376
|
+
tableRow: H,
|
|
377
|
+
tableCell: U,
|
|
378
|
+
thematicBreak: W,
|
|
379
|
+
text: G,
|
|
380
|
+
emphasis: K,
|
|
381
|
+
strong: q,
|
|
382
|
+
strikethrough: J,
|
|
383
|
+
inlineCode: Y,
|
|
384
|
+
link: X,
|
|
385
|
+
image: se,
|
|
386
|
+
lineBreak: ce,
|
|
374
387
|
colorSpan: Z,
|
|
375
|
-
embed:
|
|
376
|
-
unsupported:
|
|
388
|
+
embed: le,
|
|
389
|
+
unsupported: ue
|
|
377
390
|
};
|
|
378
391
|
//#endregion
|
|
379
392
|
//#region src/registry.ts
|
|
380
|
-
function
|
|
381
|
-
return e in
|
|
393
|
+
function fe(e) {
|
|
394
|
+
return e in pe ? e : "unsupported";
|
|
382
395
|
}
|
|
383
|
-
var
|
|
396
|
+
var pe = {
|
|
384
397
|
frontmatter: !0,
|
|
385
398
|
heading: !0,
|
|
386
399
|
paragraph: !0,
|
|
@@ -416,23 +429,23 @@ var de = {
|
|
|
416
429
|
}
|
|
417
430
|
},
|
|
418
431
|
setup(e) {
|
|
419
|
-
let t =
|
|
420
|
-
e.renderers &&
|
|
432
|
+
let t = a(Q, void 0), n = () => e.renderers ?? t ?? de;
|
|
433
|
+
e.renderers && s(Q, e.renderers);
|
|
421
434
|
let r = (e) => e.map((e) => i($, {
|
|
422
435
|
node: e,
|
|
423
436
|
key: e.id
|
|
424
|
-
})),
|
|
437
|
+
})), o = () => r(e.node.children ?? []);
|
|
425
438
|
return () => {
|
|
426
|
-
let t = n()[
|
|
439
|
+
let t = n()[fe(e.node.type)];
|
|
427
440
|
return i(t, {
|
|
428
441
|
node: e.node,
|
|
429
|
-
renderChildren:
|
|
442
|
+
renderChildren: o,
|
|
430
443
|
renderNodes: r
|
|
431
444
|
});
|
|
432
445
|
};
|
|
433
446
|
}
|
|
434
447
|
});
|
|
435
|
-
function
|
|
448
|
+
function me(e, t) {
|
|
436
449
|
return e.map((e) => i($, {
|
|
437
450
|
node: e,
|
|
438
451
|
renderers: t,
|
|
@@ -441,16 +454,17 @@ function fe(e, t) {
|
|
|
441
454
|
}
|
|
442
455
|
//#endregion
|
|
443
456
|
//#region src/CoarMarkdown.vue?vue&type=script&setup=true&lang.ts
|
|
444
|
-
var
|
|
457
|
+
var he = { class: "coar-markdown" }, ge = /* @__PURE__ */ r({
|
|
445
458
|
__name: "CoarMarkdown",
|
|
446
459
|
props: {
|
|
447
460
|
doc: {},
|
|
448
461
|
renderers: {},
|
|
449
|
-
embeds: {}
|
|
462
|
+
embeds: {},
|
|
463
|
+
fenceRenderers: {}
|
|
450
464
|
},
|
|
451
465
|
setup(r) {
|
|
452
466
|
let i = r;
|
|
453
|
-
return i.embeds &&
|
|
467
|
+
return i.embeds && s(l, i.embeds), i.fenceRenderers && s(u, i.fenceRenderers), (i, a) => (o(), n("div", he, [(o(!0), n(e, null, ee(r.doc.nodes, (e) => (o(), t(te($), {
|
|
454
468
|
key: e.id,
|
|
455
469
|
node: e,
|
|
456
470
|
renderers: r.renderers
|
|
@@ -458,4 +472,4 @@ var pe = { class: "coar-markdown" }, me = /* @__PURE__ */ r({
|
|
|
458
472
|
}
|
|
459
473
|
});
|
|
460
474
|
//#endregion
|
|
461
|
-
export {
|
|
475
|
+
export { ge as CoarMarkdown, L as DefaultBlockquote, B as DefaultCodeBlock, Z as DefaultColorSpan, le as DefaultEmbed, K as DefaultEmphasis, oe as DefaultFrontmatter, F as DefaultHeading, se as DefaultImage, Y as DefaultInlineCode, ce as DefaultLineBreak, X as DefaultLink, R as DefaultList, z as DefaultListItem, I as DefaultParagraph, J as DefaultStrikethrough, q as DefaultStrong, V as DefaultTable, U as DefaultTableCell, H as DefaultTableRow, G as DefaultText, W as DefaultThematicBreak, ue as DefaultUnsupported, ae as EmbedRenderer, l as MARKDOWN_EMBEDS_KEY, u as MARKDOWN_FENCE_RENDERERS_KEY, Q as MARKDOWN_RENDERERS_KEY, $ as RenderNode, m as codeBlockLanguage, j as colorSpanColor, de as defaultMarkdownRenderers, k as frontmatterEntries, A as frontmatterRaw, p as headingAnchor, f as headingDepth, w as imageAlt, C as imageSrc, T as imageTitle, h as isOrderedList, D as isTableColumnCenterAligned, E as isTableColumnRightAligned, _ as isTaskListItem, b as linkHref, S as linkRel, x as linkTarget, y as linkUrl, g as listStart, me as renderMarkdownNodes, fe as rendererNameFor, ie as resolveEmbed, d as resolveFenceRenderer, v as taskChecked, c as toEmbedProps, O as unsupportedType };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cocoar/vue-markdown",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.15.0",
|
|
4
4
|
"description": "Markdown viewer + shared rendering registry for Vue 3. The viewer (`<CoarMarkdown>`) and the editor (`@cocoar/vue-markdown-editor`) consume the same component map so a code block, table, etc. looks identical in both contexts.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -43,10 +43,10 @@
|
|
|
43
43
|
"typecheck": "vue-tsc --noEmit"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@cocoar/vue-markdown-core": "2.
|
|
46
|
+
"@cocoar/vue-markdown-core": "2.15.0"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
|
-
"@cocoar/vue-ui": "2.
|
|
49
|
+
"@cocoar/vue-ui": "2.15.0",
|
|
50
50
|
"vue": "^3.5.0"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|