@mdzip/editor 1.3.8 → 1.3.12
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/README.md +122 -0
- package/dist/asset-cache.d.ts +11 -0
- package/dist/asset-cache.d.ts.map +1 -1
- package/dist/asset-cache.js +27 -0
- package/dist/asset-cache.js.map +1 -1
- package/dist/library-info.d.ts +2 -2
- package/dist/library-info.js +2 -2
- package/dist/library-info.js.map +1 -1
- package/dist/mermaid.d.ts +46 -0
- package/dist/mermaid.d.ts.map +1 -0
- package/dist/mermaid.js +107 -0
- package/dist/mermaid.js.map +1 -0
- package/dist/rendering.d.ts +38 -1
- package/dist/rendering.d.ts.map +1 -1
- package/dist/rendering.js +34 -11
- package/dist/rendering.js.map +1 -1
- package/dist/view-css.d.ts.map +1 -1
- package/dist/view-css.js +281 -53
- package/dist/view-css.js.map +1 -1
- package/dist/view.d.ts +103 -2
- package/dist/view.d.ts.map +1 -1
- package/dist/view.js +575 -38
- package/dist/view.js.map +1 -1
- package/dist/workspace-view.d.ts +1 -1
- package/dist/workspace-view.d.ts.map +1 -1
- package/dist/workspace-view.js +38 -3
- package/dist/workspace-view.js.map +1 -1
- package/dist/workspace.d.ts +1 -0
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +17 -5
- package/dist/workspace.js.map +1 -1
- package/package.json +14 -2
package/README.md
CHANGED
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
# @mdzip/editor
|
|
7
7
|
|
|
8
|
+
[](https://www.npmjs.com/package/@mdzip/editor)
|
|
9
|
+
[](https://github.com/mdzip-project/mdzip-editor/blob/main/LICENSE)
|
|
10
|
+
|
|
8
11
|
Framework-independent MDZip workspace engine and browser view.
|
|
9
12
|
|
|
10
13
|
`@mdzip/editor` provides reusable helpers for opening `.mdz` archives, rendering Markdown previews, editing archive contents, comparing archive inventories, and embedding a configurable MDZip workspace UI.
|
|
@@ -107,6 +110,44 @@ workspace dirty.
|
|
|
107
110
|
- `standalone-editor`: full editor controls, including save.
|
|
108
111
|
- `hosted-editor`: editor controls without an embedded save button, for hosts such as VS Code that own persistence.
|
|
109
112
|
|
|
113
|
+
Call `setControls(nextControls)` to update the policy after construction
|
|
114
|
+
without rebuilding the workspace view. `lineNumbers` changes are applied to the
|
|
115
|
+
existing CodeMirror editor, preserving the current document and selection.
|
|
116
|
+
|
|
117
|
+
## Density and Spacing
|
|
118
|
+
|
|
119
|
+
Hosts can opt into smaller built-in UI without targeting private classes:
|
|
120
|
+
|
|
121
|
+
```ts
|
|
122
|
+
const view = new MdzipWorkspaceView(container, {
|
|
123
|
+
controls: 'hosted-editor',
|
|
124
|
+
toolbarDensity: 'compact', // 'comfortable' | 'compact' | 'dense'
|
|
125
|
+
contentDensity: 'compact' // 'comfortable' | 'compact'
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
view.setDensityOptions({
|
|
129
|
+
toolbarDensity: 'dense',
|
|
130
|
+
contentDensity: 'compact'
|
|
131
|
+
});
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
For exact sizing, set stable CSS custom properties on an ancestor of the
|
|
135
|
+
workspace:
|
|
136
|
+
|
|
137
|
+
```css
|
|
138
|
+
.studio-editor {
|
|
139
|
+
--mdzip-toolbar-button-size: 28px;
|
|
140
|
+
--mdzip-toolbar-compact-button-size: 26px;
|
|
141
|
+
--mdzip-toolbar-icon-size: 14px;
|
|
142
|
+
--mdzip-format-button-size: 26px;
|
|
143
|
+
--mdzip-format-icon-size: 14px;
|
|
144
|
+
--mdzip-toolbar-padding: 2px 8px;
|
|
145
|
+
--mdzip-toolbar-gap: 4px;
|
|
146
|
+
--mdzip-editor-content-padding: 16px 20px;
|
|
147
|
+
--mdzip-preview-content-padding: 16px 20px 24px;
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
110
151
|
## Host Persistence
|
|
111
152
|
|
|
112
153
|
Desktop hosts can flush pending editor content, persist the returned bytes, and
|
|
@@ -171,6 +212,23 @@ selection while a host dialog is open; it returns `false` if that document has
|
|
|
171
212
|
changed. `context.convertToMdz()` runs the built-in conversion and image action
|
|
172
213
|
against the same captured selection.
|
|
173
214
|
|
|
215
|
+
## Image Insert Hook
|
|
216
|
+
|
|
217
|
+
Set `imageInsertMode` to choose the built-in image markup flow:
|
|
218
|
+
`'markdown'` keeps the default `` insertion, `'html'` inserts a
|
|
219
|
+
default `<img>` element, and `'ask'` opens a small dialog for Markdown vs HTML,
|
|
220
|
+
alt text, proportional size, and alignment.
|
|
221
|
+
|
|
222
|
+
For host-owned UI, provide `imageInsertHandler`. It receives file metadata,
|
|
223
|
+
intrinsic image size when detected, and the source (`'paste'`, `'drop'`, or
|
|
224
|
+
`'picker'`). Return `{ mode: 'markdown', altText }` or
|
|
225
|
+
`{ mode: 'html', altText, width, height, position }`; return `null` to cancel.
|
|
226
|
+
The built-in dialog asks for width, height, or percent scaling and preserves
|
|
227
|
+
aspect ratio by emitting one dimension, or proportional dimensions for percent
|
|
228
|
+
scaling. Returning `undefined` falls back to `imageInsertMode`.
|
|
229
|
+
The built-in HTML path uses portable `align` attributes for positioning because
|
|
230
|
+
the default preview sanitizer strips inline `style` attributes.
|
|
231
|
+
|
|
174
232
|
`MdzipRenderingService` uses `defaultSafeMarkdownRenderer` when no renderer is
|
|
175
233
|
injected. The default renderer sanitizes generated HTML and unsafe URL schemes.
|
|
176
234
|
|
|
@@ -209,6 +267,38 @@ options are available as inputs/props on the Angular, React, and Vue wrappers.
|
|
|
209
267
|
See the Developer Guide's Rendering Extensibility section for the contracts
|
|
210
268
|
and lifecycle rules.
|
|
211
269
|
|
|
270
|
+
An extension whose `transformHtml` emits markup the default policy would strip
|
|
271
|
+
(inline SVG, for example) declares the narrow relaxations it needs via a
|
|
272
|
+
`sanitize` contribution (`MdzipSanitizeContribution`), merged into the single
|
|
273
|
+
DOMPurify pass. Keep contributions minimal — they widen the policy for the
|
|
274
|
+
whole preview, since the extension output and surrounding markdown HTML are
|
|
275
|
+
sanitized together.
|
|
276
|
+
|
|
277
|
+
### Mermaid diagrams
|
|
278
|
+
|
|
279
|
+
Render fenced ` ```mermaid ` blocks to inline SVG with the optional extension
|
|
280
|
+
from the `@mdzip/editor/mermaid` entrypoint. It is shipped separately so the
|
|
281
|
+
~1MB mermaid library stays out of the core bundle — it is dynamically imported
|
|
282
|
+
the first time a document actually contains a mermaid block. Install `mermaid`
|
|
283
|
+
(an optional peer dependency) alongside `@mdzip/editor`:
|
|
284
|
+
|
|
285
|
+
```ts
|
|
286
|
+
import { mdzipMermaidExtension } from '@mdzip/editor/mermaid';
|
|
287
|
+
|
|
288
|
+
const view = new MdzipWorkspaceView(container, {
|
|
289
|
+
markdownExtensions: [mdzipMermaidExtension({ theme: 'auto' })]
|
|
290
|
+
});
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
Diagrams render with mermaid's `strict` security level, each SVG is
|
|
294
|
+
re-sanitized before insertion, and an invalid diagram renders as an inline
|
|
295
|
+
error block instead of breaking the preview. `theme` defaults to `'auto'`,
|
|
296
|
+
following the preview color scheme. Enabling the extension widens the preview's
|
|
297
|
+
sanitize policy to allow SVG and inline styles for the whole render. For a
|
|
298
|
+
CSP-restricted host, mermaid bundles into the consumer's webview script (no new
|
|
299
|
+
`img-src` needs); if you lazy-load its chunk, serve it under the existing
|
|
300
|
+
`script-src` nonce.
|
|
301
|
+
|
|
212
302
|
## Developer Guide
|
|
213
303
|
|
|
214
304
|
See the [Developer Guide](https://github.com/mdzip-project/mdzip-editor/blob/main/docs/developer-guide.md)
|
|
@@ -299,3 +389,35 @@ box, so the pixels arrive with no further reflow (and it snaps open instead
|
|
|
299
389
|
under `prefers-reduced-motion`). `onPreviewRendered` fires when the text is
|
|
300
390
|
mounted; `onAssetsHydrated` fires once every referenced image has resolved and
|
|
301
391
|
its final `src` is assigned.
|
|
392
|
+
|
|
393
|
+
In live-editing hosts where the preview re-renders frequently, pass
|
|
394
|
+
`imageHydrationAnimation: 'initial'` to keep the first-load reveal but snap
|
|
395
|
+
images open on same-document edits. Use `'off'` to disable the loading pulse
|
|
396
|
+
and slide-open animation entirely.
|
|
397
|
+
|
|
398
|
+
## Content Security Policy (restricted hosts)
|
|
399
|
+
|
|
400
|
+
Archive images resolve to `URL.createObjectURL()` **`blob:` object URLs** (the
|
|
401
|
+
view falls back to `data:` URLs only where `createObjectURL` is unavailable,
|
|
402
|
+
such as Node). When embedding the editor in a host with a restrictive
|
|
403
|
+
Content-Security-Policy — a VS Code webview, a sandboxed iframe, etc. — the
|
|
404
|
+
policy's `img-src` **must include `blob:`**, or every archive image renders as a
|
|
405
|
+
broken placeholder:
|
|
406
|
+
|
|
407
|
+
```
|
|
408
|
+
img-src 'self' <cspSource> blob: data:;
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
Including `data:` as well lets the view's built-in recovery path work: if a
|
|
412
|
+
`blob:` URL fails to load (for example because `img-src` omits `blob:`), the
|
|
413
|
+
view retries that image once with a `data:` URL and, if it still fails, reports
|
|
414
|
+
the error through the `onFailed` option instead of failing silently. Listen on
|
|
415
|
+
`onFailed` to surface image-load problems during development:
|
|
416
|
+
|
|
417
|
+
```ts
|
|
418
|
+
const view = new MdzipWorkspaceView(container, {
|
|
419
|
+
onFailed: (error) => console.warn('[mdzip]', error)
|
|
420
|
+
});
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
Call `destroy()` to revoke the object URLs the view created.
|
package/dist/asset-cache.d.ts
CHANGED
|
@@ -63,6 +63,17 @@ export declare class MdzipAssetSession {
|
|
|
63
63
|
* space before the image visually loads.
|
|
64
64
|
*/
|
|
65
65
|
resolveImage(path: string, currentPath: string): Promise<MdzipResolvedImage | undefined>;
|
|
66
|
+
/**
|
|
67
|
+
* Builds a `data:` URL for an image asset, independent of object URLs.
|
|
68
|
+
*
|
|
69
|
+
* Used as a recovery path when a `blob:` URL fails to load — most commonly a
|
|
70
|
+
* host whose Content-Security-Policy `img-src` omits `blob:` but permits
|
|
71
|
+
* `data:` (e.g. the typical VS Code webview `img-src data: <cspSource>`).
|
|
72
|
+
* Unlike {@link resolve}, the result is not cached or revoked: it exists only
|
|
73
|
+
* for the lifetime of the `<img>` that adopts it, so the normal path keeps
|
|
74
|
+
* the memory benefit of object URLs.
|
|
75
|
+
*/
|
|
76
|
+
resolveDataUrl(path: string, currentPath: string): Promise<string | undefined>;
|
|
66
77
|
rewriteHtml(html: string, currentPath: string, signal: AbortSignal): Promise<string>;
|
|
67
78
|
destroy(): void;
|
|
68
79
|
private resolveAsset;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset-cache.d.ts","sourceRoot":"","sources":["../src/asset-cache.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"asset-cache.d.ts","sourceRoot":"","sources":["../src/asset-cache.ts"],"names":[],"mappings":"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"}
|
package/dist/asset-cache.js
CHANGED
|
@@ -139,6 +139,33 @@ export class MdzipAssetSession {
|
|
|
139
139
|
const size = assetPath ? this.sizes.get(assetPath.toLowerCase()) : undefined;
|
|
140
140
|
return size ? { url, width: size.width, height: size.height } : { url };
|
|
141
141
|
}
|
|
142
|
+
/**
|
|
143
|
+
* Builds a `data:` URL for an image asset, independent of object URLs.
|
|
144
|
+
*
|
|
145
|
+
* Used as a recovery path when a `blob:` URL fails to load — most commonly a
|
|
146
|
+
* host whose Content-Security-Policy `img-src` omits `blob:` but permits
|
|
147
|
+
* `data:` (e.g. the typical VS Code webview `img-src data: <cspSource>`).
|
|
148
|
+
* Unlike {@link resolve}, the result is not cached or revoked: it exists only
|
|
149
|
+
* for the lifetime of the `<img>` that adopts it, so the normal path keeps
|
|
150
|
+
* the memory benefit of object URLs.
|
|
151
|
+
*/
|
|
152
|
+
async resolveDataUrl(path, currentPath) {
|
|
153
|
+
if (this.destroyed)
|
|
154
|
+
return undefined;
|
|
155
|
+
const assetPath = resolveAssetPath(path, currentPath, this.assets);
|
|
156
|
+
if (!assetPath)
|
|
157
|
+
return undefined;
|
|
158
|
+
const asset = this.assets.find((item) => item.path.toLowerCase() === assetPath.toLowerCase());
|
|
159
|
+
if (!asset)
|
|
160
|
+
return undefined;
|
|
161
|
+
const bytes = await this.workspace.readPathBytes(asset.path).catch((error) => {
|
|
162
|
+
this.options.onFailed?.(error);
|
|
163
|
+
return undefined;
|
|
164
|
+
});
|
|
165
|
+
if (!bytes || this.destroyed)
|
|
166
|
+
return undefined;
|
|
167
|
+
return `data:${asset.mimeType};base64,${bytesToBase64(bytes)}`;
|
|
168
|
+
}
|
|
142
169
|
async rewriteHtml(html, currentPath, signal) {
|
|
143
170
|
const template = this.ownerDocument.createElement('template');
|
|
144
171
|
template.innerHTML = html;
|
package/dist/asset-cache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset-cache.js","sourceRoot":"","sources":["../src/asset-cache.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"asset-cache.js","sourceRoot":"","sources":["../src/asset-cache.ts"],"names":[],"mappings":"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"}
|
package/dist/library-info.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export declare const MDZIP_RUNTIME_LIBRARIES: readonly [{
|
|
2
2
|
readonly name: "@mdzip/editor";
|
|
3
|
-
readonly version: "1.3.
|
|
3
|
+
readonly version: "1.3.12";
|
|
4
4
|
readonly repositoryUrl: "https://github.com/mdzip-project/mdzip-editor";
|
|
5
5
|
readonly description: "MDZip workspace engine and browser UI.";
|
|
6
6
|
}, {
|
|
7
7
|
readonly name: "@mdzip/core-js";
|
|
8
|
-
readonly version: "1.3.
|
|
8
|
+
readonly version: "1.3.2";
|
|
9
9
|
readonly repositoryUrl: "https://github.com/mdzip-project/mdzip-core-js";
|
|
10
10
|
readonly description: "MDZip archive reading, writing, and validation.";
|
|
11
11
|
}, {
|
package/dist/library-info.js
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
export const MDZIP_RUNTIME_LIBRARIES = [
|
|
3
3
|
{
|
|
4
4
|
"name": "@mdzip/editor",
|
|
5
|
-
"version": "1.3.
|
|
5
|
+
"version": "1.3.12",
|
|
6
6
|
"repositoryUrl": "https://github.com/mdzip-project/mdzip-editor",
|
|
7
7
|
"description": "MDZip workspace engine and browser UI."
|
|
8
8
|
},
|
|
9
9
|
{
|
|
10
10
|
"name": "@mdzip/core-js",
|
|
11
|
-
"version": "1.3.
|
|
11
|
+
"version": "1.3.2",
|
|
12
12
|
"repositoryUrl": "https://github.com/mdzip-project/mdzip-core-js",
|
|
13
13
|
"description": "MDZip archive reading, writing, and validation."
|
|
14
14
|
},
|
package/dist/library-info.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"library-info.js","sourceRoot":"","sources":["../src/library-info.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC;QACE,MAAM,EAAE,eAAe;QACvB,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"library-info.js","sourceRoot":"","sources":["../src/library-info.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC;QACE,MAAM,EAAE,eAAe;QACvB,SAAS,EAAE,QAAQ;QACnB,eAAe,EAAE,+CAA+C;QAChE,aAAa,EAAE,wCAAwC;KACxD;IACD;QACE,MAAM,EAAE,gBAAgB;QACxB,SAAS,EAAE,OAAO;QAClB,eAAe,EAAE,gDAAgD;QACjE,aAAa,EAAE,iDAAiD;KACjE;IACD;QACE,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,QAAQ;QACnB,eAAe,EAAE,mCAAmC;QACpD,aAAa,EAAE,qCAAqC;KACrD;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,SAAS;QACpB,eAAe,EAAE,oCAAoC;QACrD,aAAa,EAAE,+BAA+B;KAC/C;IACD;QACE,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,OAAO;QAClB,eAAe,EAAE,qCAAqC;QACtD,aAAa,EAAE,oBAAoB;KACpC;IACD;QACE,MAAM,EAAE,cAAc;QACtB,SAAS,EAAE,SAAS;QACpB,eAAe,EAAE,6CAA6C;QAC9D,aAAa,EAAE,iCAAiC;KACjD;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,QAAQ;QACnB,eAAe,EAAE,wCAAwC;QACzD,aAAa,EAAE,kBAAkB;KAClC;CACO,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { MdzipMarkdownRenderExtension } from './rendering.js';
|
|
2
|
+
export type MdzipMermaidTheme = 'auto' | 'default' | 'dark' | 'neutral' | 'forest' | 'base';
|
|
3
|
+
/**
|
|
4
|
+
* Minimal surface of the `mermaid` module the extension relies on. Exposed so
|
|
5
|
+
* the loader can be supplied directly (tests, or hosts that already own a
|
|
6
|
+
* mermaid instance) instead of going through the lazy dynamic import.
|
|
7
|
+
*/
|
|
8
|
+
export interface MdzipMermaidApi {
|
|
9
|
+
initialize(config: Record<string, unknown>): void;
|
|
10
|
+
render(id: string, text: string): Promise<{
|
|
11
|
+
svg: string;
|
|
12
|
+
}>;
|
|
13
|
+
}
|
|
14
|
+
export interface MdzipMermaidOptions {
|
|
15
|
+
/**
|
|
16
|
+
* Mermaid theme. `'auto'` (the default) follows the preview color scheme —
|
|
17
|
+
* the `dark` theme under a dark scheme, `default` under light.
|
|
18
|
+
*/
|
|
19
|
+
theme?: MdzipMermaidTheme;
|
|
20
|
+
/**
|
|
21
|
+
* Supplies the mermaid API instead of the built-in lazy `import('mermaid')`.
|
|
22
|
+
* Use for tests or to share a preconfigured instance. When omitted, mermaid
|
|
23
|
+
* is dynamically imported the first time a `mermaid` block is rendered.
|
|
24
|
+
*/
|
|
25
|
+
loadMermaid?: () => Promise<MdzipMermaidApi>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A markdown render extension that renders fenced ` ```mermaid ` code blocks to
|
|
29
|
+
* inline SVG in the preview.
|
|
30
|
+
*
|
|
31
|
+
* Ships as a separate entrypoint (`@mdzip/editor/mermaid`) so the ~1MB mermaid
|
|
32
|
+
* library stays out of the core bundle: it is dynamically imported the first
|
|
33
|
+
* time a document actually contains a mermaid block. Pass the returned
|
|
34
|
+
* extension via the view's `markdownExtensions` option.
|
|
35
|
+
*
|
|
36
|
+
* Diagrams render with mermaid's `strict` security level, each SVG is
|
|
37
|
+
* re-sanitized before injection, and invalid diagrams render as an inline
|
|
38
|
+
* error block instead of breaking the whole preview. The theme follows the
|
|
39
|
+
* preview color scheme by default ({@link MdzipMermaidOptions.theme}).
|
|
40
|
+
*
|
|
41
|
+
* Note: enabling this widens the preview's sanitize policy to allow SVG and
|
|
42
|
+
* inline styles for the whole render (not just the diagram), since the markdown
|
|
43
|
+
* HTML and diagram SVG are sanitized together.
|
|
44
|
+
*/
|
|
45
|
+
export declare function mdzipMermaidExtension(options?: MdzipMermaidOptions): MdzipMarkdownRenderExtension;
|
|
46
|
+
//# sourceMappingURL=mermaid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mermaid.d.ts","sourceRoot":"","sources":["../src/mermaid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAGnE,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE5F;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;CAC9C;AA2CD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,mBAAwB,GAAG,4BAA4B,CA0DrG"}
|
package/dist/mermaid.js
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { sanitizeMdzipHtml } from './rendering.js';
|
|
2
|
+
let defaultMermaidPromise = null;
|
|
3
|
+
function loadDefaultMermaid() {
|
|
4
|
+
// Literal specifier so bundlers can split mermaid into its own lazily-loaded
|
|
5
|
+
// chunk. Memoized so the module is fetched and parsed at most once.
|
|
6
|
+
defaultMermaidPromise ??= import('mermaid').then((module) => (module.default ?? module));
|
|
7
|
+
return defaultMermaidPromise;
|
|
8
|
+
}
|
|
9
|
+
function resolveTheme(theme, colorScheme) {
|
|
10
|
+
if (theme === 'auto') {
|
|
11
|
+
return colorScheme === 'dark' ? 'dark' : 'default';
|
|
12
|
+
}
|
|
13
|
+
return theme;
|
|
14
|
+
}
|
|
15
|
+
function requireDocument() {
|
|
16
|
+
const doc = globalThis.document;
|
|
17
|
+
if (!doc) {
|
|
18
|
+
throw new Error('The mermaid extension requires a DOM document to render diagrams.');
|
|
19
|
+
}
|
|
20
|
+
return doc;
|
|
21
|
+
}
|
|
22
|
+
// Mermaid SVG carries a nested <style> element and inline style attributes for
|
|
23
|
+
// theming, so the diagram needs SVG plus those two relaxations to survive the
|
|
24
|
+
// sanitizer. Reused both for the extension's contribution to the pipeline pass
|
|
25
|
+
// and for defensively re-sanitizing each SVG before it is injected.
|
|
26
|
+
const MERMAID_SANITIZE = {
|
|
27
|
+
allowSvg: true,
|
|
28
|
+
unforbidTags: ['style'],
|
|
29
|
+
unforbidAttr: ['style']
|
|
30
|
+
};
|
|
31
|
+
function mermaidErrorMessage(error) {
|
|
32
|
+
const detail = error instanceof Error ? error.message : String(error);
|
|
33
|
+
return `Mermaid diagram error: ${detail}`;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* A markdown render extension that renders fenced ` ```mermaid ` code blocks to
|
|
37
|
+
* inline SVG in the preview.
|
|
38
|
+
*
|
|
39
|
+
* Ships as a separate entrypoint (`@mdzip/editor/mermaid`) so the ~1MB mermaid
|
|
40
|
+
* library stays out of the core bundle: it is dynamically imported the first
|
|
41
|
+
* time a document actually contains a mermaid block. Pass the returned
|
|
42
|
+
* extension via the view's `markdownExtensions` option.
|
|
43
|
+
*
|
|
44
|
+
* Diagrams render with mermaid's `strict` security level, each SVG is
|
|
45
|
+
* re-sanitized before injection, and invalid diagrams render as an inline
|
|
46
|
+
* error block instead of breaking the whole preview. The theme follows the
|
|
47
|
+
* preview color scheme by default ({@link MdzipMermaidOptions.theme}).
|
|
48
|
+
*
|
|
49
|
+
* Note: enabling this widens the preview's sanitize policy to allow SVG and
|
|
50
|
+
* inline styles for the whole render (not just the diagram), since the markdown
|
|
51
|
+
* HTML and diagram SVG are sanitized together.
|
|
52
|
+
*/
|
|
53
|
+
export function mdzipMermaidExtension(options = {}) {
|
|
54
|
+
const load = options.loadMermaid ?? loadDefaultMermaid;
|
|
55
|
+
let counter = 0;
|
|
56
|
+
return {
|
|
57
|
+
name: 'mermaid',
|
|
58
|
+
sanitize: MERMAID_SANITIZE,
|
|
59
|
+
async transformHtml(html, context) {
|
|
60
|
+
const doc = requireDocument();
|
|
61
|
+
const template = doc.createElement('template');
|
|
62
|
+
template.innerHTML = html;
|
|
63
|
+
const blocks = Array.from(template.content.querySelectorAll('pre > code.language-mermaid'));
|
|
64
|
+
if (blocks.length === 0) {
|
|
65
|
+
return html;
|
|
66
|
+
}
|
|
67
|
+
const mermaid = await load();
|
|
68
|
+
if (context.signal.aborted) {
|
|
69
|
+
return html;
|
|
70
|
+
}
|
|
71
|
+
mermaid.initialize({
|
|
72
|
+
startOnLoad: false,
|
|
73
|
+
securityLevel: 'strict',
|
|
74
|
+
// Render labels as SVG <text> rather than HTML inside <foreignObject>.
|
|
75
|
+
// The bundled sanitizer keeps the SVG but strips foreignObject HTML, so
|
|
76
|
+
// html labels would otherwise vanish — this keeps the emitted SVG
|
|
77
|
+
// self-consistent with the policy without re-allowing HTML in labels.
|
|
78
|
+
htmlLabels: false,
|
|
79
|
+
flowchart: { htmlLabels: false },
|
|
80
|
+
theme: resolveTheme(options.theme ?? 'auto', context.colorScheme)
|
|
81
|
+
});
|
|
82
|
+
for (const code of blocks) {
|
|
83
|
+
const pre = code.parentElement;
|
|
84
|
+
if (!pre) {
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
const source = code.textContent ?? '';
|
|
88
|
+
const container = doc.createElement('div');
|
|
89
|
+
try {
|
|
90
|
+
const { svg } = await mermaid.render(`mdzip-mermaid-${(counter += 1)}`, source);
|
|
91
|
+
container.className = 'mdzip-mermaid';
|
|
92
|
+
container.innerHTML = sanitizeMdzipHtml(svg, [MERMAID_SANITIZE]);
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
container.className = 'mdzip-mermaid-error';
|
|
96
|
+
container.textContent = mermaidErrorMessage(error);
|
|
97
|
+
}
|
|
98
|
+
pre.replaceWith(container);
|
|
99
|
+
if (context.signal.aborted) {
|
|
100
|
+
return html;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return template.innerHTML;
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=mermaid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mermaid.js","sourceRoot":"","sources":["../src/mermaid.ts"],"names":[],"mappings":"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"}
|
package/dist/rendering.d.ts
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
import type { MdzManifest } from '@mdzip/core-js';
|
|
2
2
|
import type { MdzipPathType, MdzipSourceFormat, MdzipWorkspaceMode, MdzipWorkspaceSnapshot } from './workspace.js';
|
|
3
|
+
/**
|
|
4
|
+
* Narrow, opt-in relaxations a render extension contributes to the single
|
|
5
|
+
* DOMPurify pass so its `transformHtml` output survives sanitization.
|
|
6
|
+
*
|
|
7
|
+
* The default policy is HTML-only and strips SVG, inline styles, `<style>`,
|
|
8
|
+
* and data attributes. An extension that injects richer markup — inline SVG
|
|
9
|
+
* for a diagram, say — declares exactly what it needs here. Keep contributions
|
|
10
|
+
* as narrow as possible: they widen the policy for the **whole** render pass
|
|
11
|
+
* (the extension output and the surrounding markdown HTML are sanitized
|
|
12
|
+
* together), so anything allowed here is allowed everywhere in that preview.
|
|
13
|
+
*/
|
|
14
|
+
export interface MdzipSanitizeContribution {
|
|
15
|
+
/**
|
|
16
|
+
* Enable DOMPurify's `svg` + `svgFilters` profiles so inline SVG survives.
|
|
17
|
+
* Even with this on, DOMPurify still strips scripts and event handlers from
|
|
18
|
+
* the SVG — extensions should additionally sanitize and lock down their own
|
|
19
|
+
* SVG before injecting it.
|
|
20
|
+
*/
|
|
21
|
+
allowSvg?: boolean;
|
|
22
|
+
/** Extra element names to allow beyond the default policy. */
|
|
23
|
+
addTags?: readonly string[];
|
|
24
|
+
/** Extra attribute names to allow beyond the default policy. */
|
|
25
|
+
addAttr?: readonly string[];
|
|
26
|
+
/** Tags to drop from the default forbid-list (e.g. re-allow `style`). */
|
|
27
|
+
unforbidTags?: readonly string[];
|
|
28
|
+
/** Attributes to drop from the default forbid-list (e.g. re-allow inline `style`). */
|
|
29
|
+
unforbidAttr?: readonly string[];
|
|
30
|
+
}
|
|
3
31
|
/**
|
|
4
32
|
* Sanitizes rendered HTML with the editor's default DOMPurify policy.
|
|
5
33
|
*
|
|
@@ -7,8 +35,11 @@ import type { MdzipPathType, MdzipSourceFormat, MdzipWorkspaceMode, MdzipWorkspa
|
|
|
7
35
|
* extensions that need to find placeholders again in `mount()` should use
|
|
8
36
|
* class or id markers and carry payloads out-of-band (e.g. a side map keyed
|
|
9
37
|
* by marker id), not element attributes.
|
|
38
|
+
*
|
|
39
|
+
* Pass `contributions` (an extension's {@link MdzipSanitizeContribution}s) to
|
|
40
|
+
* widen the policy just enough for richer output such as inline SVG.
|
|
10
41
|
*/
|
|
11
|
-
export declare function sanitizeMdzipHtml(html: string): string;
|
|
42
|
+
export declare function sanitizeMdzipHtml(html: string, contributions?: readonly MdzipSanitizeContribution[]): string;
|
|
12
43
|
/**
|
|
13
44
|
* Context handed to markdown renderers and render extensions for one render
|
|
14
45
|
* generation. `signal` aborts when the selection or content moves on before
|
|
@@ -68,6 +99,12 @@ export interface MdzipRenderHandle {
|
|
|
68
99
|
*/
|
|
69
100
|
export interface MdzipMarkdownRenderExtension {
|
|
70
101
|
name: string;
|
|
102
|
+
/**
|
|
103
|
+
* Narrow sanitizer relaxations this extension needs for its `transformHtml`
|
|
104
|
+
* output to survive the pipeline's DOMPurify pass (e.g. inline SVG). Merged
|
|
105
|
+
* across all registered extensions. See {@link MdzipSanitizeContribution}.
|
|
106
|
+
*/
|
|
107
|
+
sanitize?: MdzipSanitizeContribution;
|
|
71
108
|
transformMarkdown?(markdown: string, context: MdzipMarkdownRenderContext): string | Promise<string>;
|
|
72
109
|
transformHtml?(html: string, context: MdzipMarkdownRenderContext): string | Promise<string>;
|
|
73
110
|
mount?(container: HTMLElement, context: MdzipMarkdownRenderContext): void | MdzipRenderHandle | Promise<void | MdzipRenderHandle>;
|
package/dist/rendering.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rendering.d.ts","sourceRoot":"","sources":["../src/rendering.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"rendering.d.ts","sourceRoot":"","sources":["../src/rendering.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AA4BxB;;;;;;;;;;GAUG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,gEAAgE;IAChE,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,yEAAyE;IACzE,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,sFAAsF;IACtF,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAsBD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,aAAa,GAAE,SAAS,yBAAyB,EAAO,GACvD,MAAM,CAER;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,iBAAiB,CAAC;IAChC,WAAW,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B;;;;OAIG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,0BAA0B,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzF;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;CACpC;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IAErC,iBAAiB,CAAC,CAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,0BAA0B,GAClC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5B,aAAa,CAAC,CACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,0BAA0B,GAClC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5B,KAAK,CAAC,CACJ,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,0BAA0B,GAClC,IAAI,GAAG,iBAAiB,GAAG,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAC,CAAC;CACjE;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,kBAAkB,CAAC;IACzB,YAAY,EAAE,iBAAiB,CAAC;IAChC,WAAW,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,sBAAsB,CAAC;IACjC,MAAM,EAAE,WAAW,CAAC;IAEpB,iDAAiD;IACjD,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC;;;;OAIG;IACH,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,4EAA4E;IAC5E,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC;IAEnD,KAAK,CACH,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,uBAAuB,GAC/B,IAAI,GAAG,sBAAsB,GAAG,OAAO,CAAC,IAAI,GAAG,sBAAsB,CAAC,CAAC;CAC3E;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAG3F;AAED,2EAA2E;AAC3E,wBAAgB,qBAAqB,CAAC,GAAG,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAMrG;AAED,MAAM,WAAW,qBAAqB;IACpC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC7E;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,qBAAqB,CAAC;CACvC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AA8CD,eAAO,MAAM,2BAA2B,EAAE,qBAKzC,CAAC;AA+BF,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBADV,QAAQ,GAAE,qBAAmD,EAC7D,UAAU,GAAE,SAAS,4BAA4B,EAAO;IAG3E;;;;OAIG;IACI,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,iBAAiB;IAa7D;;;;;;;;;;;OAWG;IACI,cAAc,CACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,0BAA0B,GAClC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAgC5B"}
|