@brett_lamy/docstream 1.3.0 → 1.5.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.
Files changed (228) hide show
  1. package/README.md +79 -5
  2. package/dist/assets.d.ts +3 -0
  3. package/dist/assets.d.ts.map +1 -0
  4. package/dist/assets.js +20 -0
  5. package/dist/assets.js.map +1 -0
  6. package/dist/demo/DemoViewer.d.ts +78 -0
  7. package/dist/demo/DemoViewer.d.ts.map +1 -0
  8. package/dist/demo/DemoViewer.js +467 -0
  9. package/dist/demo/DemoViewer.js.map +1 -0
  10. package/dist/demo/clipboard.d.ts +70 -0
  11. package/dist/demo/clipboard.d.ts.map +1 -0
  12. package/dist/demo/clipboard.js +187 -0
  13. package/dist/demo/clipboard.js.map +1 -0
  14. package/dist/demo/context.d.ts +20 -0
  15. package/dist/demo/context.d.ts.map +1 -0
  16. package/dist/demo/context.js +31 -0
  17. package/dist/demo/context.js.map +1 -0
  18. package/dist/demo/copy-demo.d.ts +23 -0
  19. package/dist/demo/copy-demo.d.ts.map +1 -0
  20. package/dist/demo/copy-demo.js +81 -0
  21. package/dist/demo/copy-demo.js.map +1 -0
  22. package/dist/demo/glob.d.ts +60 -0
  23. package/dist/demo/glob.d.ts.map +1 -0
  24. package/dist/demo/glob.js +158 -0
  25. package/dist/demo/glob.js.map +1 -0
  26. package/dist/demo/index.d.ts +16 -0
  27. package/dist/demo/index.d.ts.map +1 -0
  28. package/dist/demo/index.js +9 -0
  29. package/dist/demo/index.js.map +1 -0
  30. package/dist/demo/markdown.d.ts +60 -0
  31. package/dist/demo/markdown.d.ts.map +1 -0
  32. package/dist/demo/markdown.js +181 -0
  33. package/dist/demo/markdown.js.map +1 -0
  34. package/dist/demo/surface.d.ts +11 -0
  35. package/dist/demo/surface.d.ts.map +1 -0
  36. package/dist/demo/surface.js +69 -0
  37. package/dist/demo/surface.js.map +1 -0
  38. package/dist/demo/types.d.ts +91 -0
  39. package/dist/demo/types.d.ts.map +1 -0
  40. package/dist/demo/types.js +2 -0
  41. package/dist/demo/types.js.map +1 -0
  42. package/dist/demo/vfs.d.ts +51 -0
  43. package/dist/demo/vfs.d.ts.map +1 -0
  44. package/dist/demo/vfs.js +156 -0
  45. package/dist/demo/vfs.js.map +1 -0
  46. package/dist/docs/CollapsibleCode.d.ts +14 -0
  47. package/dist/docs/CollapsibleCode.d.ts.map +1 -0
  48. package/dist/docs/CollapsibleCode.js +19 -0
  49. package/dist/docs/CollapsibleCode.js.map +1 -0
  50. package/dist/docs/DocsRenderer.d.ts +55 -0
  51. package/dist/docs/DocsRenderer.d.ts.map +1 -0
  52. package/dist/docs/DocsRenderer.js +279 -0
  53. package/dist/docs/DocsRenderer.js.map +1 -0
  54. package/dist/docs/HighlightedCode.d.ts +6 -0
  55. package/dist/docs/HighlightedCode.d.ts.map +1 -0
  56. package/dist/docs/HighlightedCode.js +40 -0
  57. package/dist/docs/HighlightedCode.js.map +1 -0
  58. package/dist/docs/Mermaid.d.ts +7 -0
  59. package/dist/docs/Mermaid.d.ts.map +1 -0
  60. package/dist/docs/Mermaid.js +39 -0
  61. package/dist/docs/Mermaid.js.map +1 -0
  62. package/dist/docs/PageActions.d.ts +33 -0
  63. package/dist/docs/PageActions.d.ts.map +1 -0
  64. package/dist/docs/PageActions.js +115 -0
  65. package/dist/docs/PageActions.js.map +1 -0
  66. package/dist/docs/controls.d.ts +29 -0
  67. package/dist/docs/controls.d.ts.map +1 -0
  68. package/dist/docs/controls.js +46 -0
  69. package/dist/docs/controls.js.map +1 -0
  70. package/dist/docs/copy.d.ts +24 -0
  71. package/dist/docs/copy.d.ts.map +1 -0
  72. package/dist/docs/copy.js +62 -0
  73. package/dist/docs/copy.js.map +1 -0
  74. package/dist/docs/math.d.ts +3 -0
  75. package/dist/docs/math.d.ts.map +1 -0
  76. package/dist/docs/math.js +12 -0
  77. package/dist/docs/math.js.map +1 -0
  78. package/dist/docs/reference.d.ts +27 -0
  79. package/dist/docs/reference.d.ts.map +1 -0
  80. package/dist/docs/reference.js +73 -0
  81. package/dist/docs/reference.js.map +1 -0
  82. package/dist/docs/tabs-sync.d.ts +5 -0
  83. package/dist/docs/tabs-sync.d.ts.map +1 -0
  84. package/dist/docs/tabs-sync.js +58 -0
  85. package/dist/docs/tabs-sync.js.map +1 -0
  86. package/dist/gitbook/ast.d.ts +506 -0
  87. package/dist/gitbook/ast.d.ts.map +1 -0
  88. package/dist/gitbook/ast.js +8 -0
  89. package/dist/gitbook/ast.js.map +1 -0
  90. package/dist/gitbook/attrs.d.ts +14 -0
  91. package/dist/gitbook/attrs.d.ts.map +1 -0
  92. package/dist/gitbook/attrs.js +36 -0
  93. package/dist/gitbook/attrs.js.map +1 -0
  94. package/dist/gitbook/flatten.d.ts +14 -0
  95. package/dist/gitbook/flatten.d.ts.map +1 -0
  96. package/dist/gitbook/flatten.js +45 -0
  97. package/dist/gitbook/flatten.js.map +1 -0
  98. package/dist/gitbook/index.d.ts +10 -0
  99. package/dist/gitbook/index.d.ts.map +1 -0
  100. package/dist/gitbook/index.js +8 -0
  101. package/dist/gitbook/index.js.map +1 -0
  102. package/dist/gitbook/inline.d.ts +28 -0
  103. package/dist/gitbook/inline.d.ts.map +1 -0
  104. package/dist/gitbook/inline.js +956 -0
  105. package/dist/gitbook/inline.js.map +1 -0
  106. package/dist/gitbook/outline.d.ts +16 -0
  107. package/dist/gitbook/outline.d.ts.map +1 -0
  108. package/dist/gitbook/outline.js +44 -0
  109. package/dist/gitbook/outline.js.map +1 -0
  110. package/dist/gitbook/package-managers.d.ts +12 -0
  111. package/dist/gitbook/package-managers.d.ts.map +1 -0
  112. package/dist/gitbook/package-managers.js +93 -0
  113. package/dist/gitbook/package-managers.js.map +1 -0
  114. package/dist/gitbook/parse.d.ts +44 -0
  115. package/dist/gitbook/parse.d.ts.map +1 -0
  116. package/dist/gitbook/parse.js +1113 -0
  117. package/dist/gitbook/parse.js.map +1 -0
  118. package/dist/gitbook/serialize.d.ts +23 -0
  119. package/dist/gitbook/serialize.d.ts.map +1 -0
  120. package/dist/gitbook/serialize.js +498 -0
  121. package/dist/gitbook/serialize.js.map +1 -0
  122. package/dist/index.d.ts +34 -0
  123. package/dist/index.d.ts.map +1 -0
  124. package/dist/index.js +24 -0
  125. package/dist/index.js.map +1 -0
  126. package/dist/openapi/OpenApiOperation.d.ts +6 -0
  127. package/dist/openapi/OpenApiOperation.d.ts.map +1 -0
  128. package/dist/openapi/OpenApiOperation.js +112 -0
  129. package/dist/openapi/OpenApiOperation.js.map +1 -0
  130. package/dist/playground/InlineDemoPreview.d.ts +24 -0
  131. package/dist/playground/InlineDemoPreview.d.ts.map +1 -0
  132. package/dist/playground/InlineDemoPreview.js +48 -0
  133. package/dist/playground/InlineDemoPreview.js.map +1 -0
  134. package/dist/playground/PlaygroundStreamdown.d.ts +16 -0
  135. package/dist/playground/PlaygroundStreamdown.d.ts.map +1 -0
  136. package/dist/playground/PlaygroundStreamdown.js +22 -0
  137. package/dist/playground/PlaygroundStreamdown.js.map +1 -0
  138. package/dist/playground/ReactCodePreview.d.ts +64 -0
  139. package/dist/playground/ReactCodePreview.d.ts.map +1 -0
  140. package/dist/playground/ReactCodePreview.js +108 -0
  141. package/dist/playground/ReactCodePreview.js.map +1 -0
  142. package/dist/playground/filesystem.d.ts +27 -0
  143. package/dist/playground/filesystem.d.ts.map +1 -0
  144. package/dist/playground/filesystem.js +65 -0
  145. package/dist/playground/filesystem.js.map +1 -0
  146. package/dist/playground/index.d.ts +9 -0
  147. package/dist/playground/index.d.ts.map +1 -0
  148. package/dist/playground/index.js +7 -0
  149. package/dist/playground/index.js.map +1 -0
  150. package/dist/playground/project.d.ts +57 -0
  151. package/dist/playground/project.d.ts.map +1 -0
  152. package/dist/playground/project.js +137 -0
  153. package/dist/playground/project.js.map +1 -0
  154. package/dist/replay/NativeReplay.d.ts +9 -0
  155. package/dist/replay/NativeReplay.d.ts.map +1 -0
  156. package/dist/replay/NativeReplay.js +173 -0
  157. package/dist/replay/NativeReplay.js.map +1 -0
  158. package/dist/replay/ReplayPreview.d.ts +33 -0
  159. package/dist/replay/ReplayPreview.d.ts.map +1 -0
  160. package/dist/replay/ReplayPreview.js +91 -0
  161. package/dist/replay/ReplayPreview.js.map +1 -0
  162. package/dist/replay/index.d.ts +5 -0
  163. package/dist/replay/index.d.ts.map +1 -0
  164. package/dist/replay/index.js +4 -0
  165. package/dist/replay/index.js.map +1 -0
  166. package/dist/replay/sanitize.d.ts +4 -0
  167. package/dist/replay/sanitize.d.ts.map +1 -0
  168. package/dist/replay/sanitize.js +86 -0
  169. package/dist/replay/sanitize.js.map +1 -0
  170. package/dist/replay/url.d.ts +8 -0
  171. package/dist/replay/url.d.ts.map +1 -0
  172. package/dist/replay/url.js +41 -0
  173. package/dist/replay/url.js.map +1 -0
  174. package/dist/source/SourcePreview.d.ts +13 -0
  175. package/dist/source/SourcePreview.d.ts.map +1 -0
  176. package/dist/source/SourcePreview.js +47 -0
  177. package/dist/source/SourcePreview.js.map +1 -0
  178. package/dist/source/client.d.ts +7 -0
  179. package/dist/source/client.d.ts.map +1 -0
  180. package/dist/source/client.js +52 -0
  181. package/dist/source/client.js.map +1 -0
  182. package/dist/source/index.d.ts +6 -0
  183. package/dist/source/index.d.ts.map +1 -0
  184. package/dist/source/index.js +3 -0
  185. package/dist/source/index.js.map +1 -0
  186. package/dist/source/types.d.ts +33 -0
  187. package/dist/source/types.d.ts.map +1 -0
  188. package/dist/source/types.js +2 -0
  189. package/dist/source/types.js.map +1 -0
  190. package/dist/streamdown.d.ts +19 -0
  191. package/dist/streamdown.d.ts.map +1 -0
  192. package/dist/streamdown.js +15 -0
  193. package/dist/streamdown.js.map +1 -0
  194. package/dist/styles.css +2441 -0
  195. package/dist/video/VideoEmbed.d.ts +17 -0
  196. package/dist/video/VideoEmbed.d.ts.map +1 -0
  197. package/dist/video/VideoEmbed.js +12 -0
  198. package/dist/video/VideoEmbed.js.map +1 -0
  199. package/dist/video/index.d.ts +3 -0
  200. package/dist/video/index.d.ts.map +1 -0
  201. package/dist/video/index.js +2 -0
  202. package/dist/video/index.js.map +1 -0
  203. package/dist/vite/index.d.ts +21 -0
  204. package/dist/vite/index.d.ts.map +1 -0
  205. package/dist/vite/index.js +137 -0
  206. package/dist/vite/index.js.map +1 -0
  207. package/dist/viz/VizEmbed.d.ts +18 -0
  208. package/dist/viz/VizEmbed.d.ts.map +1 -0
  209. package/dist/viz/VizEmbed.js +12 -0
  210. package/dist/viz/VizEmbed.js.map +1 -0
  211. package/dist/viz/index.d.ts +4 -0
  212. package/dist/viz/index.d.ts.map +1 -0
  213. package/dist/viz/index.js +3 -0
  214. package/dist/viz/index.js.map +1 -0
  215. package/package.json +65 -32
  216. package/src/demo/DemoViewer.tsx +56 -11
  217. package/src/demo/clipboard.ts +228 -0
  218. package/src/demo/context.ts +7 -0
  219. package/src/demo/copy-demo.tsx +102 -0
  220. package/src/demo/index.ts +29 -2
  221. package/src/demo/vfs.ts +197 -0
  222. package/src/docs/DocsRenderer.tsx +13 -4
  223. package/src/docs/Mermaid.tsx +5 -3
  224. package/src/index.ts +19 -0
  225. package/src/replay/ReplayPreview.tsx +0 -1
  226. package/src/streamdown.tsx +2 -0
  227. package/src/styles.css +91 -0
  228. package/src/replay/styles.css +0 -87
@@ -0,0 +1,36 @@
1
+ /*
2
+ * Tag and fence attribute values (`{% demo title="…" %}`, ```` ```ts title="…" ````).
3
+ *
4
+ * Values are double-quoted. On serialize a backslash becomes `\\`, a double quote `\"`,
5
+ * and the tag terminator `%}` becomes `%\}` — so a value can never end its tag early or
6
+ * truncate at a quote. On parse `\\`, `\"` and `\}` are unescaped; any other backslash is
7
+ * kept literally (so `C:\temp` written by hand still reads as written).
8
+ */
9
+ /** Escape one attribute value for a double-quoted `name="…"` pair. */
10
+ export function escapeAttr(value) {
11
+ return value.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/%\}/g, "%\\}");
12
+ }
13
+ /** Undo `escapeAttr`. */
14
+ export function unescapeAttr(raw) {
15
+ return raw.replace(/\\(["\\}])/g, "$1");
16
+ }
17
+ /** ` name="value"` with the value escaped (leading space included). */
18
+ export function attr(name, value) {
19
+ return ` ${name}="${escapeAttr(String(value))}"`;
20
+ }
21
+ /** Every `name="value"` pair in `raw` (escapes honoured, values unescaped). */
22
+ export function parseAttrs(raw) {
23
+ const attrs = {};
24
+ if (!raw)
25
+ return attrs;
26
+ for (const m of raw.matchAll(/([\w-]+)="((?:[^"\\]|\\.)*)"/g)) {
27
+ attrs[m[1]] = unescapeAttr(m[2]);
28
+ }
29
+ return attrs;
30
+ }
31
+ /**
32
+ * The attribute part of a `{% name … %}` tag, as a regex source: anything up to the
33
+ * closing `%}` (a lone `%` is fine; `%}` inside a value is always escaped as `%\}`).
34
+ */
35
+ export const TAG_ATTRS = String.raw `(?:[^%\n]|%(?!\}))*?`;
36
+ //# sourceMappingURL=attrs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attrs.js","sourceRoot":"","sources":["../../src/gitbook/attrs.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,sEAAsE;AACtE,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAClF,CAAC;AAED,yBAAyB;AACzB,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;AACzC,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,IAAI,CAAC,IAAY,EAAE,KAAgC;IACjE,OAAO,IAAI,IAAI,KAAK,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAA;AAClD,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,UAAU,CAAC,GAAuB;IAChD,MAAM,KAAK,GAA2B,EAAE,CAAA;IACxC,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAA;IACtB,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,+BAA+B,CAAC,EAAE,CAAC;QAC9D,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAClC,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAA,sBAAsB,CAAA"}
@@ -0,0 +1,14 @@
1
+ import type { Block, DocumentNode } from "./ast.js";
2
+ /**
3
+ * docstream-only presentation blocks as plain Markdown, for LLM prompts and tools that don't
4
+ * know docstream (`resolveDemosToMarkdown(…, { format: "plain" })`):
5
+ *
6
+ * - `{% command %}` → a ```` ```sh ```` fence with the npm command;
7
+ * - titled `{% tabs title="Installation" %}` → a `## Installation` heading, then each tab as a
8
+ * bold label followed by its blocks.
9
+ *
10
+ * Everything else is kept (GitBook tags included — they're GitBook, not docstream).
11
+ */
12
+ export declare function flattenForPlainMarkdown(doc: DocumentNode): DocumentNode;
13
+ export declare function flattenBlocks(blocks: Block[]): Block[];
14
+ //# sourceMappingURL=flatten.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flatten.d.ts","sourceRoot":"","sources":["../../src/gitbook/flatten.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAGhD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,YAAY,GAAG,YAAY,CAEvE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CA6BtD"}
@@ -0,0 +1,45 @@
1
+ import { text } from "./ast.js";
2
+ /**
3
+ * docstream-only presentation blocks as plain Markdown, for LLM prompts and tools that don't
4
+ * know docstream (`resolveDemosToMarkdown(…, { format: "plain" })`):
5
+ *
6
+ * - `{% command %}` → a ```` ```sh ```` fence with the npm command;
7
+ * - titled `{% tabs title="Installation" %}` → a `## Installation` heading, then each tab as a
8
+ * bold label followed by its blocks.
9
+ *
10
+ * Everything else is kept (GitBook tags included — they're GitBook, not docstream).
11
+ */
12
+ export function flattenForPlainMarkdown(doc) {
13
+ return { ...doc, children: flattenBlocks(doc.children) };
14
+ }
15
+ export function flattenBlocks(blocks) {
16
+ return blocks.flatMap((b) => {
17
+ switch (b.type) {
18
+ case "command":
19
+ return [{ type: "code", language: "sh", title: null, lineNumbers: false, code: b.command }];
20
+ case "tabs":
21
+ if (b.title) {
22
+ return [
23
+ { type: "heading", level: b.level ?? 2, children: [text(b.title)] },
24
+ ...b.tabs.flatMap((t) => [{ type: "paragraph", children: [text(t.title, { bold: true })] }, ...flattenBlocks(t.children)]),
25
+ ];
26
+ }
27
+ return [{ ...b, tabs: b.tabs.map((t) => ({ ...t, children: flattenBlocks(t.children) })) }];
28
+ case "hint":
29
+ case "expandable":
30
+ case "blockquote":
31
+ return [{ ...b, children: flattenBlocks(b.children) }];
32
+ case "stepper":
33
+ return [{ ...b, steps: b.steps.map((s) => ({ ...s, children: flattenBlocks(s.children) })) }];
34
+ case "columns":
35
+ return [{ ...b, columns: b.columns.map((c) => ({ ...c, children: flattenBlocks(c.children) })) }];
36
+ case "list":
37
+ return [{ ...b, items: b.items.map((item) => ({ ...item, children: flattenBlocks(item.children) })) }];
38
+ case "updates":
39
+ return [{ ...b, updates: b.updates.map((u) => ({ ...u, children: flattenBlocks(u.children) })) }];
40
+ default:
41
+ return [b];
42
+ }
43
+ });
44
+ }
45
+ //# sourceMappingURL=flatten.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flatten.js","sourceRoot":"","sources":["../../src/gitbook/flatten.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export type * from "./ast.js";
2
+ export { escapeAttr, unescapeAttr } from "./attrs.js";
3
+ export { closesFence, demoBody, fenceOpener, fenceTracker, parseDemoVariants, parseMarkdown, parseBlocks, trimPartialInlineToken } from "./parse.js";
4
+ export { fenceFor, serializeBlocks, serializeDemoFile, serializeMarkdown } from "./serialize.js";
5
+ export { defaultInlineDelims, footnoteDefinitions, inlineDelims, parseInline, plainText, refDefinitions, serializeInline, serializeReference } from "./inline.js";
6
+ export { PACKAGE_MANAGERS, packageManagerCommands } from "./package-managers.js";
7
+ export { flattenBlocks, flattenForPlainMarkdown } from "./flatten.js";
8
+ export { documentOutline, slugify } from "./outline.js";
9
+ export type { OutlineEntry } from "./outline.js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gitbook/index.ts"],"names":[],"mappings":"AAEA,mBAAmB,OAAO,CAAA;AAC1B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AACjJ,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC7F,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC9J,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC7E,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACpD,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA"}
@@ -0,0 +1,8 @@
1
+ export { escapeAttr, unescapeAttr } from "./attrs.js";
2
+ export { closesFence, demoBody, fenceOpener, fenceTracker, parseDemoVariants, parseMarkdown, parseBlocks, trimPartialInlineToken } from "./parse.js";
3
+ export { fenceFor, serializeBlocks, serializeDemoFile, serializeMarkdown } from "./serialize.js";
4
+ export { defaultInlineDelims, footnoteDefinitions, inlineDelims, parseInline, plainText, refDefinitions, serializeInline, serializeReference } from "./inline.js";
5
+ export { PACKAGE_MANAGERS, packageManagerCommands } from "./package-managers.js";
6
+ export { flattenBlocks, flattenForPlainMarkdown } from "./flatten.js";
7
+ export { documentOutline, slugify } from "./outline.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gitbook/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AACjJ,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC7F,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC9J,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC7E,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA"}
@@ -0,0 +1,28 @@
1
+ import type { Inline, InlineDelimiter, ReferenceNode, TextNode } from "./ast.js";
2
+ type Marks = Partial<Omit<TextNode, "type" | "text">>;
3
+ export declare const refDefinitions: Map<string, string>;
4
+ export declare const footnoteDefinitions: Map<string, {
5
+ url: string;
6
+ label?: string;
7
+ }>;
8
+ /** A reference label as matched against definitions: case-insensitive, inner whitespace collapsed. */
9
+ export declare function normalizeLabel(label: string): string;
10
+ export declare function parseInline(src: string, marks?: Marks): Inline[];
11
+ /** Run `fn` with the document's reference definitions in scope for `serializeInline`. */
12
+ export declare function withDocumentDefinitions<T>(defs: ReadonlyMap<string, string>, fn: () => T): T;
13
+ export declare function serializeReference(n: ReferenceNode): string;
14
+ /**
15
+ * The spelling `serializeInline` gives an inline, outermost → innermost: its `delims` hint reconciled with
16
+ * its marks. Editors can store it per mark and hand it back as `delims`.
17
+ */
18
+ export declare function inlineDelims(n: Inline): InlineDelimiter[];
19
+ /** The spelling an inline gets without a `delims` hint; a hint equal to it can be dropped. */
20
+ export declare function defaultInlineDelims(n: Inline): InlineDelimiter[];
21
+ export interface SerializeInlineOptions {
22
+ /** Inside a GFM table cell: pipes are written `\|` (except those a code span recorded as bare). */
23
+ tableCell?: boolean;
24
+ }
25
+ export declare function serializeInline(nodes: Inline[], options?: SerializeInlineOptions): string;
26
+ export declare function plainText(nodes: Inline[]): string;
27
+ export {};
28
+ //# sourceMappingURL=inline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline.d.ts","sourceRoot":"","sources":["../../src/gitbook/inline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAA6B,aAAa,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAExG,KAAK,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAA;AAIrD,eAAO,MAAM,cAAc,qBAA4B,CAAA;AAIvD,eAAO,MAAM,mBAAmB;SAA0B,MAAM;YAAU,MAAM;EAAK,CAAA;AAErF,sGAAsG;AACtG,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpD;AAyhBD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,KAAU,GAAG,MAAM,EAAE,CAEpE;AAUD,yFAAyF;AACzF,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAQ5F;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAG3D;AA+GD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,eAAe,EAAE,CAEzD;AAED,8FAA8F;AAC9F,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,GAAG,eAAe,EAAE,CAEhE;AAsPD,MAAM,WAAW,sBAAsB;IACrC,mGAAmG;IACnG,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAOD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,sBAA2B,GAAG,MAAM,CAuD7F;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAWjD"}