@riebeckite/plugin-mermaid 0.0.18 → 0.0.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/README.md +4 -7
- package/README_ja.md +4 -5
- package/dist/index.js +3 -3
- package/dist/src/types.d.ts +1 -1
- package/package.json +2 -2
- package/style.css +8 -2
package/README.md
CHANGED
|
@@ -37,8 +37,8 @@ export default defineConfig({
|
|
|
37
37
|
- `div.rr-mermaid__canvas` — the diagram (`role="img"`, labelled by the
|
|
38
38
|
caption when present)
|
|
39
39
|
- `details.rr-mermaid__fallback` — collapsible diagram source
|
|
40
|
-
- Static SVG is rendered at build time when `render` is `"build"`
|
|
41
|
-
|
|
40
|
+
- Static SVG is rendered at build time when `render` is `"build"` by running the
|
|
41
|
+
Mermaid browser API in Puppeteer's headless Chromium.
|
|
42
42
|
Rendering uses Chromium's layout engine, not JSDOM polyfills or custom
|
|
43
43
|
`getBBox` / text-width estimation
|
|
44
44
|
- Mermaid runs with `securityLevel: "strict"`, the selected theme, transparent
|
|
@@ -60,7 +60,7 @@ export default defineConfig({
|
|
|
60
60
|
|
|
61
61
|
| Option | Type | Default | Description |
|
|
62
62
|
| ------ | ---- | ------- | ----------- |
|
|
63
|
-
| `render` | `"build" \| "client"
|
|
63
|
+
| `render` | `"build" \| "client"` | `"build"` | When diagrams are rendered |
|
|
64
64
|
| `theme` | `string \| { light: string; dark: string }` | `{ light: "default", dark: "dark" }` | Mermaid theme |
|
|
65
65
|
| `caption` | `boolean` | `true` | Show title / `%% caption:` as `figcaption` |
|
|
66
66
|
| `fallback` | `boolean` | `true` | Show the diagram source in `<details>` |
|
|
@@ -70,8 +70,6 @@ export default defineConfig({
|
|
|
70
70
|
- `"build"` — render SVG at build time; diagrams that fail fall back to client
|
|
71
71
|
rendering
|
|
72
72
|
- `"client"` — skip build-time rendering, render in the browser only
|
|
73
|
-
- `"both"` — compatibility alias. It currently behaves like `"build"`: build
|
|
74
|
-
first, then client fallback only when build rendering fails
|
|
75
73
|
|
|
76
74
|
## Exports
|
|
77
75
|
|
|
@@ -81,5 +79,4 @@ export default defineConfig({
|
|
|
81
79
|
|
|
82
80
|
## See also
|
|
83
81
|
|
|
84
|
-
- [Plugin guide](../../../docs/docs/reference/plugin-api.
|
|
85
|
-
|
|
82
|
+
- [Plugin guide](../../../docs/docs/reference/plugin-api.md)
|
package/README_ja.md
CHANGED
|
@@ -27,7 +27,7 @@ export default defineConfig({
|
|
|
27
27
|
|
|
28
28
|
` ```mermaid ` のコードブロックは `figure.rr-mermaid` に置き換わります。図のタイトルはコードブロックの title、またはソース内の `%% caption: ...` 行から取得します。図には代替テキスト相当の `role="img"` を付け、必要に応じて元の記法を折りたたみ表示します。
|
|
29
29
|
|
|
30
|
-
`render: "build"`
|
|
30
|
+
`render: "build"` では、Puppeteer が起動するヘッドレス Chromium 上で Mermaid を実行し、静的な SVG を生成します。簡易な DOM 実装や寸法の推測には頼らないため、ブラウザと同じレイアウトエンジンで図を作れます。Mermaid は `securityLevel: "strict"` で実行されます。
|
|
31
31
|
|
|
32
32
|
構文エラーは `invalid-diagram`、描画環境の問題は `renderer-error` として区別して診断します。ビルドで SVG を作れなかった図には `data-mermaid="pending"` が付き、クライアント側が描画を引き継ぎます。
|
|
33
33
|
|
|
@@ -41,12 +41,12 @@ export default defineConfig({
|
|
|
41
41
|
|
|
42
42
|
| 項目 | 既定値 | 説明 |
|
|
43
43
|
| --- | --- | --- |
|
|
44
|
-
| `render` | `"build"` | `"build"
|
|
44
|
+
| `render` | `"build"` | `"build"` または `"client"` のいずれで描画するか |
|
|
45
45
|
| `theme` | `{ light: "default", dark: "dark" }` | Mermaid のテーマ名、または明暗別のテーマ |
|
|
46
46
|
| `caption` | `true` | タイトルまたは `%% caption:` をキャプションとして表示する |
|
|
47
47
|
| `fallback` | `true` | 元の Mermaid 記法を `<details>` に残す |
|
|
48
48
|
|
|
49
|
-
`"client"`
|
|
49
|
+
`"client"` はビルド時の描画を行いません。
|
|
50
50
|
|
|
51
51
|
## 主なエクスポート
|
|
52
52
|
|
|
@@ -56,5 +56,4 @@ export default defineConfig({
|
|
|
56
56
|
|
|
57
57
|
## 関連資料
|
|
58
58
|
|
|
59
|
-
- [プラグインシステム](../../../docs/docs/reference/plugin-api.md)
|
|
60
|
-
|
|
59
|
+
- [プラグインシステム](../../../docs/docs/reference/plugin-api.ja.md)
|
package/dist/index.js
CHANGED
|
@@ -195,7 +195,7 @@ function extractCaption(source, pre, code) {
|
|
|
195
195
|
return caption?.trim() || null;
|
|
196
196
|
}
|
|
197
197
|
function shouldRenderAtBuild(render) {
|
|
198
|
-
return render === "build" || render ===
|
|
198
|
+
return render === "build" || render === void 0;
|
|
199
199
|
}
|
|
200
200
|
function shouldRenderAtClient(render) {
|
|
201
201
|
return render === "client";
|
|
@@ -472,10 +472,10 @@ function mermaid(options = {}) {
|
|
|
472
472
|
function validateMermaidOptions(options) {
|
|
473
473
|
if (!options) return [];
|
|
474
474
|
const issues = [];
|
|
475
|
-
if (options.render !== void 0 && options.render !== "build" && options.render !== "client"
|
|
475
|
+
if (options.render !== void 0 && options.render !== "build" && options.render !== "client") {
|
|
476
476
|
issues.push({
|
|
477
477
|
path: "render",
|
|
478
|
-
message: 'Expected "build"
|
|
478
|
+
message: 'Expected "build" or "client".'
|
|
479
479
|
});
|
|
480
480
|
}
|
|
481
481
|
if (!isMermaidTheme(options.theme)) {
|
package/dist/src/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@riebeckite/plugin-mermaid",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.20",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"mermaid": "^11.12.2",
|
|
25
25
|
"puppeteer": "^25.11.0",
|
|
26
|
-
"@riebeckite/core": "0.0.
|
|
26
|
+
"@riebeckite/core": "0.0.20"
|
|
27
27
|
},
|
|
28
28
|
"publishConfig": {
|
|
29
29
|
"access": "public"
|
package/style.css
CHANGED
|
@@ -62,8 +62,14 @@
|
|
|
62
62
|
color: var(--rr-mermaid-muted);
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
|
|
66
|
-
html.dark .rr-mermaid {
|
|
65
|
+
:is(:root, .rb-theme-root)[data-theme="dark"] .rr-mermaid {
|
|
67
66
|
--rr-mermaid-paper: var(--rb-color-ink, #000000);
|
|
68
67
|
--rr-mermaid-ink: var(--rb-color-paper, #ffffff);
|
|
69
68
|
}
|
|
69
|
+
|
|
70
|
+
@media (prefers-color-scheme: dark) {
|
|
71
|
+
:is(:root, .rb-theme-root):not([data-theme]) .rr-mermaid {
|
|
72
|
+
--rr-mermaid-paper: var(--rb-color-ink, #000000);
|
|
73
|
+
--rr-mermaid-ink: var(--rb-color-paper, #ffffff);
|
|
74
|
+
}
|
|
75
|
+
}
|