@stream-mdx/plugins 0.1.0 → 0.2.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/CHANGELOG.md +8 -0
- package/README.md +4 -0
- package/dist/index.cjs +20 -3
- package/dist/index.mjs +20 -3
- package/dist/plugins/mdx/index.cjs +20 -3
- package/dist/plugins/mdx/index.mjs +20 -3
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @stream-mdx/plugins
|
|
2
2
|
|
|
3
|
+
## 0.1.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Refine streaming scheduling and list layout, add worker append batching/debug state support, and refresh docs/README examples.
|
|
8
|
+
- Updated dependencies
|
|
9
|
+
- @stream-mdx/core@0.1.1
|
|
10
|
+
|
|
3
11
|
## 0.1.0
|
|
4
12
|
|
|
5
13
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -42,6 +42,10 @@ The primary way to enable/disable capabilities in StreamMDX is the `features` pr
|
|
|
42
42
|
|
|
43
43
|
If you need **custom syntax**, you generally need a **custom worker bundle** rather than “passing plugins as a prop”.
|
|
44
44
|
|
|
45
|
+
## Addons
|
|
46
|
+
|
|
47
|
+
- `@stream-mdx/mermaid` is an opt-in diagram renderer that plugs in at the component layer.
|
|
48
|
+
|
|
45
49
|
## Docs
|
|
46
50
|
|
|
47
51
|
- Plugins & worker cookbook: `docs/STREAMING_MARKDOWN_PLUGINS_COOKBOOK.md`
|
package/dist/index.cjs
CHANGED
|
@@ -672,9 +672,26 @@ var MDXDetectionPlugin = {
|
|
|
672
672
|
if (block.type !== "paragraph" && block.type !== "html") continue;
|
|
673
673
|
const raw = block.payload.raw;
|
|
674
674
|
const blockRange = block.payload.range;
|
|
675
|
-
const baseOffset = typeof blockRange?.from === "number" ? blockRange.from :
|
|
676
|
-
|
|
677
|
-
|
|
675
|
+
const baseOffset = typeof blockRange?.from === "number" ? blockRange.from : null;
|
|
676
|
+
let protectedBase = baseOffset ?? 0;
|
|
677
|
+
let relevantProtected = filterProtectedRanges(ctx.protectedRanges, protectedBase, protectedBase + raw.length);
|
|
678
|
+
if (relevantProtected.length === 0) {
|
|
679
|
+
const metaProtected = Array.isArray(block.payload.meta?.protectedRanges) ? block.payload.meta.protectedRanges ?? [] : [];
|
|
680
|
+
if (metaProtected.length > 0) {
|
|
681
|
+
if (baseOffset === null) {
|
|
682
|
+
protectedBase = 0;
|
|
683
|
+
relevantProtected = metaProtected;
|
|
684
|
+
} else {
|
|
685
|
+
protectedBase = baseOffset;
|
|
686
|
+
relevantProtected = metaProtected.map((range) => ({
|
|
687
|
+
...range,
|
|
688
|
+
from: baseOffset + range.from,
|
|
689
|
+
to: baseOffset + range.to
|
|
690
|
+
}));
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
}
|
|
694
|
+
if ((0, import_core3.detectMDX)(raw, { protectedRanges: relevantProtected, baseOffset: protectedBase })) {
|
|
678
695
|
block.payload.meta = { ...block.payload.meta || {}, originalType: block.type };
|
|
679
696
|
block.type = "mdx";
|
|
680
697
|
if ("sanitizedHtml" in block.payload) {
|
package/dist/index.mjs
CHANGED
|
@@ -633,9 +633,26 @@ var MDXDetectionPlugin = {
|
|
|
633
633
|
if (block.type !== "paragraph" && block.type !== "html") continue;
|
|
634
634
|
const raw = block.payload.raw;
|
|
635
635
|
const blockRange = block.payload.range;
|
|
636
|
-
const baseOffset = typeof blockRange?.from === "number" ? blockRange.from :
|
|
637
|
-
|
|
638
|
-
|
|
636
|
+
const baseOffset = typeof blockRange?.from === "number" ? blockRange.from : null;
|
|
637
|
+
let protectedBase = baseOffset ?? 0;
|
|
638
|
+
let relevantProtected = filterProtectedRanges(ctx.protectedRanges, protectedBase, protectedBase + raw.length);
|
|
639
|
+
if (relevantProtected.length === 0) {
|
|
640
|
+
const metaProtected = Array.isArray(block.payload.meta?.protectedRanges) ? block.payload.meta.protectedRanges ?? [] : [];
|
|
641
|
+
if (metaProtected.length > 0) {
|
|
642
|
+
if (baseOffset === null) {
|
|
643
|
+
protectedBase = 0;
|
|
644
|
+
relevantProtected = metaProtected;
|
|
645
|
+
} else {
|
|
646
|
+
protectedBase = baseOffset;
|
|
647
|
+
relevantProtected = metaProtected.map((range) => ({
|
|
648
|
+
...range,
|
|
649
|
+
from: baseOffset + range.from,
|
|
650
|
+
to: baseOffset + range.to
|
|
651
|
+
}));
|
|
652
|
+
}
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
if (detectMDX(raw, { protectedRanges: relevantProtected, baseOffset: protectedBase })) {
|
|
639
656
|
block.payload.meta = { ...block.payload.meta || {}, originalType: block.type };
|
|
640
657
|
block.type = "mdx";
|
|
641
658
|
if ("sanitizedHtml" in block.payload) {
|
|
@@ -31,9 +31,26 @@ var MDXDetectionPlugin = {
|
|
|
31
31
|
if (block.type !== "paragraph" && block.type !== "html") continue;
|
|
32
32
|
const raw = block.payload.raw;
|
|
33
33
|
const blockRange = block.payload.range;
|
|
34
|
-
const baseOffset = typeof blockRange?.from === "number" ? blockRange.from :
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
const baseOffset = typeof blockRange?.from === "number" ? blockRange.from : null;
|
|
35
|
+
let protectedBase = baseOffset ?? 0;
|
|
36
|
+
let relevantProtected = filterProtectedRanges(ctx.protectedRanges, protectedBase, protectedBase + raw.length);
|
|
37
|
+
if (relevantProtected.length === 0) {
|
|
38
|
+
const metaProtected = Array.isArray(block.payload.meta?.protectedRanges) ? block.payload.meta.protectedRanges ?? [] : [];
|
|
39
|
+
if (metaProtected.length > 0) {
|
|
40
|
+
if (baseOffset === null) {
|
|
41
|
+
protectedBase = 0;
|
|
42
|
+
relevantProtected = metaProtected;
|
|
43
|
+
} else {
|
|
44
|
+
protectedBase = baseOffset;
|
|
45
|
+
relevantProtected = metaProtected.map((range) => ({
|
|
46
|
+
...range,
|
|
47
|
+
from: baseOffset + range.from,
|
|
48
|
+
to: baseOffset + range.to
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
if ((0, import_core.detectMDX)(raw, { protectedRanges: relevantProtected, baseOffset: protectedBase })) {
|
|
37
54
|
block.payload.meta = { ...block.payload.meta || {}, originalType: block.type };
|
|
38
55
|
block.type = "mdx";
|
|
39
56
|
if ("sanitizedHtml" in block.payload) {
|
|
@@ -7,9 +7,26 @@ var MDXDetectionPlugin = {
|
|
|
7
7
|
if (block.type !== "paragraph" && block.type !== "html") continue;
|
|
8
8
|
const raw = block.payload.raw;
|
|
9
9
|
const blockRange = block.payload.range;
|
|
10
|
-
const baseOffset = typeof blockRange?.from === "number" ? blockRange.from :
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
const baseOffset = typeof blockRange?.from === "number" ? blockRange.from : null;
|
|
11
|
+
let protectedBase = baseOffset ?? 0;
|
|
12
|
+
let relevantProtected = filterProtectedRanges(ctx.protectedRanges, protectedBase, protectedBase + raw.length);
|
|
13
|
+
if (relevantProtected.length === 0) {
|
|
14
|
+
const metaProtected = Array.isArray(block.payload.meta?.protectedRanges) ? block.payload.meta.protectedRanges ?? [] : [];
|
|
15
|
+
if (metaProtected.length > 0) {
|
|
16
|
+
if (baseOffset === null) {
|
|
17
|
+
protectedBase = 0;
|
|
18
|
+
relevantProtected = metaProtected;
|
|
19
|
+
} else {
|
|
20
|
+
protectedBase = baseOffset;
|
|
21
|
+
relevantProtected = metaProtected.map((range) => ({
|
|
22
|
+
...range,
|
|
23
|
+
from: baseOffset + range.from,
|
|
24
|
+
to: baseOffset + range.to
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (detectMDX(raw, { protectedRanges: relevantProtected, baseOffset: protectedBase })) {
|
|
13
30
|
block.payload.meta = { ...block.payload.meta || {}, originalType: block.type };
|
|
14
31
|
block.type = "mdx";
|
|
15
32
|
if ("sanitizedHtml" in block.payload) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stream-mdx/plugins",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Streaming Markdown V2 plugin suite (math, MDX, tables, callouts, footnotes, HTML helpers)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"prepack": "npm run build"
|
|
85
85
|
},
|
|
86
86
|
"dependencies": {
|
|
87
|
-
"@stream-mdx/core": "0.
|
|
87
|
+
"@stream-mdx/core": "0.2.0"
|
|
88
88
|
},
|
|
89
89
|
"peerDependencies": {
|
|
90
90
|
"react": ">=18.2.0"
|