@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 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"` or
41
- `"both"` by running the Mermaid browser API in Puppeteer's headless Chromium.
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" \| "both"` | `"build"` | When diagrams are rendered |
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.en.md)
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"` または `"both"` では、Puppeteer が起動するヘッドレス Chromium 上で Mermaid を実行し、静的な SVG を生成します。簡易な DOM 実装や寸法の推測には頼らないため、ブラウザと同じレイアウトエンジンで図を作れます。Mermaid は `securityLevel: "strict"` で実行されます。
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"`、`"client"`、`"both"` のいずれで描画するか |
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"` はビルド時の描画を行いません。`"both"` は後方互換の値で、現在は `"build"` と同じくビルドを優先し、失敗時だけクライアント側へ切り替えます。
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 === "both" || render === void 0;
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" && options.render !== "both") {
475
+ if (options.render !== void 0 && options.render !== "build" && options.render !== "client") {
476
476
  issues.push({
477
477
  path: "render",
478
- message: 'Expected "build", "client", or "both".'
478
+ message: 'Expected "build" or "client".'
479
479
  });
480
480
  }
481
481
  if (!isMermaidTheme(options.theme)) {
@@ -1,4 +1,4 @@
1
- export type MermaidRenderMode = "build" | "client" | "both";
1
+ export type MermaidRenderMode = "build" | "client";
2
2
  export type MermaidTheme = string | {
3
3
  light: string;
4
4
  dark: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riebeckite/plugin-mermaid",
3
- "version": "0.0.18",
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.18"
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
- html[data-theme="dark"] .rr-mermaid,
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
+ }