@riebeckite/plugin-mermaid 0.0.30 → 0.0.31

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
@@ -6,6 +6,8 @@ Mermaid diagram rendering for ` ```mermaid ` code blocks.
6
6
 
7
7
  [日本語](./README_ja.md)
8
8
 
9
+ For static SVG rendering without a headless browser, see [Mermaid (Pele)](../mermaid-pele/README.md).
10
+
9
11
  ## Overview
10
12
 
11
13
  `mermaid()` replaces mermaid code blocks with a `<figure class="rr-mermaid">`
package/README_ja.md CHANGED
@@ -6,6 +6,8 @@
6
6
 
7
7
  [English](./README.md)
8
8
 
9
+ ヘッドレスブラウザを使わずに静的 SVG を生成したい場合は [Mermaid (Pele)](../mermaid-pele/README_ja.md) を使ってください。
10
+
9
11
  ## 設定する
10
12
 
11
13
  ```ts
package/dist/index.js CHANGED
@@ -73,6 +73,7 @@ function rehypeMermaid(options = {}, session) {
73
73
  const renderMode = options.render ?? "build";
74
74
  const theme = options.theme ?? DEFAULT_THEME;
75
75
  return async (tree, file) => {
76
+ assertNoPeleRenderer(tree);
76
77
  const replacements = [];
77
78
  visitElements(tree, (node, parent, index) => {
78
79
  if (!parent || index === void 0 || !isMermaidCodeBlock(node)) return;
@@ -144,12 +145,26 @@ function buildFigure(input) {
144
145
  "figure",
145
146
  {
146
147
  className: "rr-mermaid",
148
+ dataRiebeckiteMermaidRenderer: "mermaid",
147
149
  dataMermaid: input.clientFallback && !input.staticSvg ? "pending" : void 0,
148
150
  dataMermaidSource: input.clientFallback && !input.staticSvg ? input.source : void 0
149
151
  },
150
152
  children
151
153
  );
152
154
  }
155
+ function assertNoPeleRenderer(tree) {
156
+ let hasPeleRenderer = false;
157
+ visitElements(tree, (node) => {
158
+ if (node.properties?.dataRiebeckiteMermaidRenderer === "pele") {
159
+ hasPeleRenderer = true;
160
+ }
161
+ });
162
+ if (hasPeleRenderer) {
163
+ throw new Error(
164
+ "@riebeckite/plugin-mermaid and @riebeckite/plugin-mermaid-pele cannot be enabled together. Enable exactly one Mermaid renderer."
165
+ );
166
+ }
167
+ }
153
168
  async function renderStaticSvg(id, source, theme, file, session) {
154
169
  try {
155
170
  const result = await session.render(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riebeckite/plugin-mermaid",
3
- "version": "0.0.30",
3
+ "version": "0.0.31",
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.30"
26
+ "@riebeckite/core": "0.0.31"
27
27
  },
28
28
  "publishConfig": {
29
29
  "access": "public"