@breadstone-tools/markdowner-core 0.0.32 → 0.0.34

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 (80) hide show
  1. package/Index.d.ts +11 -7
  2. package/Index.d.ts.map +1 -1
  3. package/Index.js +8 -15
  4. package/Index.js.map +1 -1
  5. package/Process/MarkdownProcessor.d.ts.map +1 -1
  6. package/Process/MarkdownProcessor.js +20 -17
  7. package/Process/MarkdownProcessor.js.map +1 -1
  8. package/Process/Processors/Abstracts/BaseProcessor.d.ts +11 -6
  9. package/Process/Processors/Abstracts/BaseProcessor.d.ts.map +1 -1
  10. package/Process/Processors/Abstracts/BaseProcessor.js +6 -13
  11. package/Process/Processors/Abstracts/BaseProcessor.js.map +1 -1
  12. package/Process/Processors/BlockquoteProcessor.Test.js +19 -21
  13. package/Process/Processors/BlockquoteProcessor.Test.js.map +1 -1
  14. package/Process/Processors/BlockquoteProcessor.d.ts +13 -7
  15. package/Process/Processors/BlockquoteProcessor.d.ts.map +1 -1
  16. package/Process/Processors/BlockquoteProcessor.js +48 -42
  17. package/Process/Processors/BlockquoteProcessor.js.map +1 -1
  18. package/Process/Processors/CalloutProcessor.d.ts +23 -4
  19. package/Process/Processors/CalloutProcessor.d.ts.map +1 -1
  20. package/Process/Processors/CalloutProcessor.js +60 -36
  21. package/Process/Processors/CalloutProcessor.js.map +1 -1
  22. package/Process/Processors/CodeBlockProcessor.d.ts +17 -3
  23. package/Process/Processors/CodeBlockProcessor.d.ts.map +1 -1
  24. package/Process/Processors/CodeBlockProcessor.js +54 -35
  25. package/Process/Processors/CodeBlockProcessor.js.map +1 -1
  26. package/Process/Processors/Interfaces/IProcessor.d.ts +2 -2
  27. package/Process/Processors/Interfaces/IProcessor.d.ts.map +1 -1
  28. package/Process/Processors/Interfaces/IProcessor.js +1 -2
  29. package/Process/Processors/Interfaces/IProcessor.js.map +1 -1
  30. package/Process/Processors/SplitProcessor.d.ts +49 -0
  31. package/Process/Processors/SplitProcessor.d.ts.map +1 -0
  32. package/Process/Processors/SplitProcessor.js +123 -0
  33. package/Process/Processors/SplitProcessor.js.map +1 -0
  34. package/Process/Processors/TabProcessor.d.ts +36 -4
  35. package/Process/Processors/TabProcessor.d.ts.map +1 -1
  36. package/Process/Processors/TabProcessor.js +84 -49
  37. package/Process/Processors/TabProcessor.js.map +1 -1
  38. package/Process/Processors/Utils.js +2 -5
  39. package/Process/Processors/Utils.js.map +1 -1
  40. package/Processing/MarkdownProcessor.d.ts +46 -0
  41. package/Processing/MarkdownProcessor.d.ts.map +1 -0
  42. package/Processing/MarkdownProcessor.js +92 -0
  43. package/Processing/MarkdownProcessor.js.map +1 -0
  44. package/Processing/Processors/Abstracts/BaseProcessor.d.ts +60 -0
  45. package/Processing/Processors/Abstracts/BaseProcessor.d.ts.map +1 -0
  46. package/Processing/Processors/Abstracts/BaseProcessor.js +71 -0
  47. package/Processing/Processors/Abstracts/BaseProcessor.js.map +1 -0
  48. package/Processing/Processors/BlockquoteProcessor.Test.d.ts +2 -0
  49. package/Processing/Processors/BlockquoteProcessor.Test.d.ts.map +1 -0
  50. package/Processing/Processors/BlockquoteProcessor.Test.js +36 -0
  51. package/Processing/Processors/BlockquoteProcessor.Test.js.map +1 -0
  52. package/Processing/Processors/BlockquoteProcessor.d.ts +25 -0
  53. package/Processing/Processors/BlockquoteProcessor.d.ts.map +1 -0
  54. package/Processing/Processors/BlockquoteProcessor.js +67 -0
  55. package/Processing/Processors/BlockquoteProcessor.js.map +1 -0
  56. package/Processing/Processors/CalloutProcessor.d.ts +29 -0
  57. package/Processing/Processors/CalloutProcessor.d.ts.map +1 -0
  58. package/Processing/Processors/CalloutProcessor.js +68 -0
  59. package/Processing/Processors/CalloutProcessor.js.map +1 -0
  60. package/Processing/Processors/CodeBlockProcessor.d.ts +24 -0
  61. package/Processing/Processors/CodeBlockProcessor.d.ts.map +1 -0
  62. package/Processing/Processors/CodeBlockProcessor.js +65 -0
  63. package/Processing/Processors/CodeBlockProcessor.js.map +1 -0
  64. package/Processing/Processors/Interfaces/IProcessor.d.ts +9 -0
  65. package/Processing/Processors/Interfaces/IProcessor.d.ts.map +1 -0
  66. package/Processing/Processors/Interfaces/IProcessor.js +3 -0
  67. package/Processing/Processors/Interfaces/IProcessor.js.map +1 -0
  68. package/Processing/Processors/SplitProcessor.d.ts +47 -0
  69. package/Processing/Processors/SplitProcessor.d.ts.map +1 -0
  70. package/Processing/Processors/SplitProcessor.js +113 -0
  71. package/Processing/Processors/SplitProcessor.js.map +1 -0
  72. package/Processing/Processors/TabProcessor.d.ts +43 -0
  73. package/Processing/Processors/TabProcessor.d.ts.map +1 -0
  74. package/Processing/Processors/TabProcessor.js +110 -0
  75. package/Processing/Processors/TabProcessor.js.map +1 -0
  76. package/Templating/Html.d.ts +2 -0
  77. package/Templating/Html.d.ts.map +1 -0
  78. package/Templating/Html.js +11 -0
  79. package/Templating/Html.js.map +1 -0
  80. package/package.json +4 -4
@@ -0,0 +1,29 @@
1
+ import { BaseProcessor } from './Abstracts/BaseProcessor.js';
2
+ import type { TokenizerAndRendererExtension, Tokens } from 'marked';
3
+ type CalloutVariant = 'primary' | 'secondary' | 'tertiary' | 'info' | 'warning' | 'danger' | 'success' | 'highlight' | 'neutral';
4
+ export interface ICalloutToken extends Tokens.Generic {
5
+ type: 'callout';
6
+ raw: string;
7
+ variant: CalloutVariant;
8
+ title?: string;
9
+ tokens: Array<Tokens.Generic>;
10
+ }
11
+ /**
12
+ * A processor that transforms :::callout-style blocks into styled callout boxes.
13
+ *
14
+ * Supported types: info, warning, tip, success, danger, note
15
+ *
16
+ * @example
17
+ * ```markdown
18
+ * ::: warning Be cautious!
19
+ * This is a warning box.
20
+ * :::
21
+ * ```
22
+ *
23
+ * @public
24
+ */
25
+ export declare class CalloutProcessor extends BaseProcessor {
26
+ get extension(): TokenizerAndRendererExtension;
27
+ }
28
+ export {};
29
+ //# sourceMappingURL=CalloutProcessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CalloutProcessor.d.ts","sourceRoot":"","sources":["../../../src/Processing/Processors/CalloutProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,EAAsC,MAAM,QAAQ,CAAC;AAExG,KAAK,cAAc,GAAK,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;AAMnI,MAAM,WAAW,aAAc,SAAQ,MAAM,CAAC,OAAO;IACjD,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;CACjC;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,gBAAiB,SAAQ,aAAa;IAE/C,IAAoB,SAAS,IAAI,6BAA6B,CAc7D;CAEJ"}
@@ -0,0 +1,68 @@
1
+ import { BaseProcessor } from './Abstracts/BaseProcessor.js';
2
+ const KNOWN_VARIANTS = new Set([
3
+ 'primary', 'secondary', 'tertiary', 'info', 'warning', 'danger', 'success', 'highlight', 'neutral'
4
+ ]);
5
+ /**
6
+ * A processor that transforms :::callout-style blocks into styled callout boxes.
7
+ *
8
+ * Supported types: info, warning, tip, success, danger, note
9
+ *
10
+ * @example
11
+ * ```markdown
12
+ * ::: warning Be cautious!
13
+ * This is a warning box.
14
+ * :::
15
+ * ```
16
+ *
17
+ * @public
18
+ */
19
+ export class CalloutProcessor extends BaseProcessor {
20
+ get extension() {
21
+ return {
22
+ name: 'callout',
23
+ level: 'block',
24
+ start(src) {
25
+ return (/^::: (primary|secondary|tertiary|info|warning|danger|success|highlight|neutral)/i).exec(src)?.index;
26
+ },
27
+ tokenizer(src) {
28
+ return CalloutTokenizer.tokenize(src, this.lexer);
29
+ },
30
+ renderer(token) {
31
+ return CalloutRenderer.render(token, this);
32
+ }
33
+ };
34
+ }
35
+ }
36
+ class CalloutTokenizer {
37
+ static tokenize(src, lexer) {
38
+ const match = (/^::: (\w+)(?:\s+([^\n]+))?\n([\s\S]+?)\n:::/m).exec(src);
39
+ if (!match) {
40
+ return undefined;
41
+ }
42
+ const variant = match[1].toLowerCase();
43
+ if (!KNOWN_VARIANTS.has(variant)) {
44
+ return undefined;
45
+ }
46
+ const title = match[2].trim();
47
+ const content = match[3].trim();
48
+ const contentTokens = lexer.inlineTokens(content);
49
+ return {
50
+ type: 'callout',
51
+ raw: match[0],
52
+ variant,
53
+ title,
54
+ tokens: contentTokens
55
+ };
56
+ }
57
+ }
58
+ class CalloutRenderer {
59
+ static render(token, renderer) {
60
+ const classes = ['callout', token.variant];
61
+ const title = token.title
62
+ ? `<div class="callout-title">${token.title}</div>`
63
+ : '';
64
+ const body = renderer.parser.parse(token.tokens);
65
+ return `<div class="${classes.join(' ')}">${title}${body}</div>`;
66
+ }
67
+ }
68
+ //# sourceMappingURL=CalloutProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CalloutProcessor.js","sourceRoot":"","sources":["../../../src/Processing/Processors/CalloutProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAK7D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAiB;IAC3C,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS;CACrG,CAAC,CAAC;AAUH;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,gBAAiB,SAAQ,aAAa;IAE/C,IAAoB,SAAS;QACzB,OAAO;YACH,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,OAAO;YACd,KAAK,CAAC,GAAW;gBACb,OAAO,CAAC,kFAAkF,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;YACjH,CAAC;YACD,SAAS,CAAsB,GAAW;gBACtC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACtD,CAAC;YACD,QAAQ,CAAqB,KAAqB;gBAC9C,OAAO,eAAe,CAAC,MAAM,CAAC,KAAsB,EAAE,IAAI,CAAC,CAAC;YAChE,CAAC;SACJ,CAAC;IACN,CAAC;CAEJ;AAED,MAAM,gBAAgB;IAEX,MAAM,CAAC,QAAQ,CAAC,GAAW,EAAE,KAAY;QAC5C,MAAM,KAAK,GAAG,CAAC,8CAA8C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzE,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAoB,CAAC;QACzD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEhC,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAElD,OAAO;YACH,IAAI,EAAE,SAAS;YACf,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;YACb,OAAO;YACP,KAAK;YACL,MAAM,EAAE,aAAa;SACxB,CAAC;IACN,CAAC;CAEJ;AAED,MAAM,eAAe;IAEV,MAAM,CAAC,MAAM,CAAC,KAAoB,EAAE,QAAsB;QAC7D,MAAM,OAAO,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK;YACrB,CAAC,CAAC,8BAA8B,KAAK,CAAC,KAAK,QAAQ;YACnD,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEjD,OAAO,eAAe,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,IAAI,QAAQ,CAAC;IACrE,CAAC;CAEJ"}
@@ -0,0 +1,24 @@
1
+ import { BaseProcessor } from './Abstracts/BaseProcessor.js';
2
+ import type { TokenizerAndRendererExtension, Tokens } from 'marked';
3
+ /**
4
+ * A processor that transforms fenced code blocks with extended metadata
5
+ * (language, filename, highlighted lines).
6
+ *
7
+ * Example:
8
+ * ```ts name="example.ts" {1,3-4}
9
+ * const foo = 42;
10
+ * const bar = 7;
11
+ * ```
12
+ *
13
+ * This will extract:
14
+ * - language: "ts"
15
+ * - filename: "example.ts"
16
+ * - highlights: "1,3-4"
17
+ *
18
+ * @public
19
+ */
20
+ export declare class CodeBlockProcessor extends BaseProcessor {
21
+ get extension(): TokenizerAndRendererExtension;
22
+ walkTokens(token: Tokens.Generic): void;
23
+ }
24
+ //# sourceMappingURL=CodeBlockProcessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeBlockProcessor.d.ts","sourceRoot":"","sources":["../../../src/Processing/Processors/CodeBlockProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,EAAgB,MAAM,QAAQ,CAAC;AAclF;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,kBAAmB,SAAQ,aAAa;IAEjD,IAAoB,SAAS,IAAI,6BAA6B,CAQ7D;IAEe,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI;CAK1D"}
@@ -0,0 +1,65 @@
1
+ import { BaseProcessor } from './Abstracts/BaseProcessor.js';
2
+ /**
3
+ * A processor that transforms fenced code blocks with extended metadata
4
+ * (language, filename, highlighted lines).
5
+ *
6
+ * Example:
7
+ * ```ts name="example.ts" {1,3-4}
8
+ * const foo = 42;
9
+ * const bar = 7;
10
+ * ```
11
+ *
12
+ * This will extract:
13
+ * - language: "ts"
14
+ * - filename: "example.ts"
15
+ * - highlights: "1,3-4"
16
+ *
17
+ * @public
18
+ */
19
+ export class CodeBlockProcessor extends BaseProcessor {
20
+ get extension() {
21
+ return {
22
+ name: 'code',
23
+ level: 'block',
24
+ renderer(token) {
25
+ return CodeBlockRenderer.render(token);
26
+ }
27
+ };
28
+ }
29
+ walkTokens(token) {
30
+ if (token.type !== 'code') {
31
+ return;
32
+ }
33
+ CodeBlockTokenizer.enrich(token);
34
+ }
35
+ }
36
+ class CodeBlockTokenizer {
37
+ static enrich(token) {
38
+ const match = (/^(\w+)(?:\s+name="(.+?)")?(?:\s+\{([\d,-]+)\})?/i).exec(token.lang ?? '');
39
+ if (!match) {
40
+ return;
41
+ }
42
+ const [, lang, fileName, highlights] = match;
43
+ token.meta = {
44
+ lang,
45
+ fileName,
46
+ highlights
47
+ };
48
+ token.lang = lang; // override lang so PrismJS still works
49
+ }
50
+ }
51
+ class CodeBlockRenderer {
52
+ static render(token) {
53
+ const lang = token.meta?.lang ?? 'plaintext';
54
+ const file = token.meta?.fileName;
55
+ const lines = token.meta?.highlights;
56
+ const filenameBlock = file
57
+ ? `<div class="code-filename">${file}</div>\n`
58
+ : '';
59
+ const highlightAttr = lines
60
+ ? ` data-lines="${lines}"`
61
+ : '';
62
+ return `${filenameBlock}<pre><code class="language-${lang}"${highlightAttr}>${token.text}</code></pre>`;
63
+ }
64
+ }
65
+ //# sourceMappingURL=CodeBlockProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeBlockProcessor.js","sourceRoot":"","sources":["../../../src/Processing/Processors/CodeBlockProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAe7D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,kBAAmB,SAAQ,aAAa;IAEjD,IAAoB,SAAS;QACzB,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,OAAO;YACd,QAAQ,CAAqB,KAAqB;gBAC9C,OAAO,iBAAiB,CAAC,MAAM,CAAC,KAAwB,CAAC,CAAC;YAC9D,CAAC;SACJ,CAAC;IACN,CAAC;IAEe,UAAU,CAAC,KAAqB;QAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QACtC,kBAAkB,CAAC,MAAM,CAAC,KAAwB,CAAC,CAAC;IACxD,CAAC;CAEJ;AAED,MAAM,kBAAkB;IAEb,MAAM,CAAC,MAAM,CAAC,KAAsB;QACvC,MAAM,KAAK,GAAG,CAAC,kDAAkD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC1F,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAEvB,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC;QAE7C,KAAK,CAAC,IAAI,GAAG;YACT,IAAI;YACJ,QAAQ;YACR,UAAU;SACb,CAAC;QAEF,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,uCAAuC;IAC9D,CAAC;CAEJ;AAED,MAAM,iBAAiB;IAEZ,MAAM,CAAC,MAAM,CAAC,KAAsB;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,WAAW,CAAC;QAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC;QAErC,MAAM,aAAa,GAAG,IAAI;YACtB,CAAC,CAAC,8BAA8B,IAAI,UAAU;YAC9C,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,aAAa,GAAG,KAAK;YACvB,CAAC,CAAC,gBAAgB,KAAK,GAAG;YAC1B,CAAC,CAAC,EAAE,CAAC;QAET,OAAO,GAAG,aAAa,8BAA8B,IAAI,IAAI,aAAa,IAAI,KAAK,CAAC,IAAI,eAAe,CAAC;IAC5G,CAAC;CAEJ"}
@@ -0,0 +1,9 @@
1
+ import type { MarkedExtension, TokenizerAndRendererExtension, Tokens } from 'marked';
2
+ /**
3
+ * Represents a processor that can handle a specific type of Markdown token.
4
+ */
5
+ export interface IProcessor extends Pick<MarkedExtension, 'extensions' | 'walkTokens'> {
6
+ get extension(): TokenizerAndRendererExtension;
7
+ walkTokens?(token: Tokens.Generic): void;
8
+ }
9
+ //# sourceMappingURL=IProcessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IProcessor.d.ts","sourceRoot":"","sources":["../../../../src/Processing/Processors/Interfaces/IProcessor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrF;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,eAAe,EAAE,YAAY,GAAG,YAAY,CAAC;IAIlF,IAAI,SAAS,IAAI,6BAA6B,CAAC;IAM/C,UAAU,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;CAI5C"}
@@ -0,0 +1,3 @@
1
+ // #region Imports
2
+ export {};
3
+ //# sourceMappingURL=IProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IProcessor.js","sourceRoot":"","sources":["../../../../src/Processing/Processors/Interfaces/IProcessor.ts"],"names":[],"mappings":"AAAA,kBAAkB"}
@@ -0,0 +1,47 @@
1
+ import { BaseProcessor } from './Abstracts/BaseProcessor.js';
2
+ import type { TokenizerAndRendererExtension, Tokens } from 'marked';
3
+ type SplitVariant = 'primary' | 'secondary' | 'tertiary' | 'info' | 'warning' | 'danger' | 'error' | 'success' | 'highlight' | 'neutral';
4
+ export interface ISplitsToken extends Tokens.Generic {
5
+ type: 'splits';
6
+ raw: string;
7
+ splits: Array<ISplitToken>;
8
+ }
9
+ export interface ISplitToken extends Tokens.Generic {
10
+ type: 'split';
11
+ id: string;
12
+ title: Array<Tokens.Generic>;
13
+ tokens: Array<Tokens.Generic>;
14
+ variant?: SplitVariant;
15
+ }
16
+ /**
17
+ * A processor that transforms `:::split` blocks into a two-column layout.
18
+ * Each column may include a heading, a list, and an optional variant like `[!INFO]`.
19
+ *
20
+ * Supported variants: `primary`, `secondary`, `tertiary`, `info`, `warning`, `danger`, `error`, `success`, `highlight`, `neutral`.
21
+ *
22
+ * @example
23
+ * ```markdown
24
+ * ::: splits
25
+ * ::: split Split 1
26
+ * [!INFO]
27
+ * - Split 1 point a
28
+ * - Split 1 point b
29
+ * - Split 1 point c
30
+ * ::: end-split
31
+ *
32
+ * ::: split Split 2
33
+ * [!ERROR]
34
+ * - Split 2 point a
35
+ * - Split 2 point b
36
+ * - Split 2 point c
37
+ * ::: end-split
38
+ * ::: end-splits
39
+ * ```
40
+ *
41
+ * @public
42
+ */
43
+ export declare class SplitProcessor extends BaseProcessor {
44
+ get extension(): TokenizerAndRendererExtension;
45
+ }
46
+ export {};
47
+ //# sourceMappingURL=SplitProcessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SplitProcessor.d.ts","sourceRoot":"","sources":["../../../src/Processing/Processors/SplitProcessor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAA+B,6BAA6B,EAAiB,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhH,KAAK,YAAY,GAAK,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;AAQ3I,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,OAAO;IAChD,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,WAAY,SAAQ,MAAM,CAAC,OAAO;IAC/C,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,YAAY,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,cAAe,SAAQ,aAAa;IAE7C,IAAoB,SAAS,IAAI,6BAA6B,CAc7D;CAEJ"}
@@ -0,0 +1,113 @@
1
+ // #region Imports
2
+ import { BaseProcessor } from './Abstracts/BaseProcessor.js';
3
+ const KNOWN_VARIANTS = new Set([
4
+ 'primary', 'secondary', 'tertiary',
5
+ 'info', 'warning', 'danger', 'error',
6
+ 'success', 'highlight', 'neutral'
7
+ ]);
8
+ /**
9
+ * A processor that transforms `:::split` blocks into a two-column layout.
10
+ * Each column may include a heading, a list, and an optional variant like `[!INFO]`.
11
+ *
12
+ * Supported variants: `primary`, `secondary`, `tertiary`, `info`, `warning`, `danger`, `error`, `success`, `highlight`, `neutral`.
13
+ *
14
+ * @example
15
+ * ```markdown
16
+ * ::: splits
17
+ * ::: split Split 1
18
+ * [!INFO]
19
+ * - Split 1 point a
20
+ * - Split 1 point b
21
+ * - Split 1 point c
22
+ * ::: end-split
23
+ *
24
+ * ::: split Split 2
25
+ * [!ERROR]
26
+ * - Split 2 point a
27
+ * - Split 2 point b
28
+ * - Split 2 point c
29
+ * ::: end-split
30
+ * ::: end-splits
31
+ * ```
32
+ *
33
+ * @public
34
+ */
35
+ export class SplitProcessor extends BaseProcessor {
36
+ get extension() {
37
+ return {
38
+ name: 'splits',
39
+ level: 'block',
40
+ start(src) {
41
+ return (/^::: splits/).exec(src)?.index;
42
+ },
43
+ tokenizer(src) {
44
+ return SplitTokenizer.tokenize(this.lexer, src);
45
+ },
46
+ renderer(token) {
47
+ return SplitRenderer.render(this.parser, token);
48
+ }
49
+ };
50
+ }
51
+ }
52
+ /**
53
+ * @private
54
+ */
55
+ class SplitTokenizer {
56
+ static tokenize(lexer, src) {
57
+ const match = (/^::: splits\n([\s\S]+?)\n::: end-splits/m).exec(src);
58
+ if (!match) {
59
+ return undefined;
60
+ }
61
+ const splitRegex = /^::: split (.+?)\n([\s\S]+?)\n::: end-split/gm;
62
+ const splits = [];
63
+ let splitMatch = null;
64
+ let index = 0;
65
+ while ((splitMatch = splitRegex.exec(match[1])) !== null) {
66
+ const rawLines = splitMatch[2].trim().split('\n');
67
+ let variant = undefined;
68
+ const variantMatch = (/^\[\!(\w+)\]/).exec(rawLines[0]);
69
+ if (variantMatch) {
70
+ const v = variantMatch[1].toLowerCase();
71
+ if (KNOWN_VARIANTS.has(v)) {
72
+ variant = v;
73
+ rawLines.shift(); // Remove variant line
74
+ }
75
+ }
76
+ const content = rawLines.join('\n').trim();
77
+ splits.push({
78
+ type: 'split',
79
+ raw: splitMatch[0],
80
+ tokens: lexer.inline(content),
81
+ id: `split-${index++}`,
82
+ title: lexer.inlineTokens(splitMatch[1].trim()),
83
+ content: content,
84
+ variant: variant
85
+ });
86
+ }
87
+ return {
88
+ type: 'splits',
89
+ raw: match[0],
90
+ splits: splits
91
+ };
92
+ }
93
+ }
94
+ /**
95
+ * @private
96
+ */
97
+ class SplitRenderer {
98
+ static render(parser, token) {
99
+ return `
100
+ <div class="splits">
101
+ ${token.splits.map((split) => `
102
+ <div class="split ${split.variant}">
103
+ <h6>${parser.parse(split.title)}</h6>
104
+ <div class="split-content">
105
+ ${parser.parse(split.tokens)}
106
+ </div>
107
+ </div>
108
+ `).join('')}
109
+ </div>
110
+ `.trim();
111
+ }
112
+ }
113
+ //# sourceMappingURL=SplitProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SplitProcessor.js","sourceRoot":"","sources":["../../../src/Processing/Processors/SplitProcessor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { BaseProcessor } from './Abstracts/BaseProcessor.js';
2
+ import type { Tokens, TokenizerAndRendererExtension } from 'marked';
3
+ type TabVariant = 'primary' | 'secondary' | 'tertiary' | 'info' | 'warning' | 'danger' | 'error' | 'success' | 'highlight' | 'neutral';
4
+ export interface ITabsToken extends Tokens.Generic {
5
+ type: 'tabs';
6
+ raw: string;
7
+ tabs: Array<ITabToken>;
8
+ }
9
+ export interface ITabToken extends Tokens.Generic {
10
+ type: 'tab';
11
+ id: string;
12
+ title: string;
13
+ content: string;
14
+ variant?: TabVariant;
15
+ }
16
+ /**
17
+ * A processor that transforms `:::tabs` blocks into tabbed layout structures.
18
+ * Each tab may include a title, content, and an optional variant using `[!TYPE]`.
19
+ *
20
+ * Supported variants: `primary`, `secondary`, `tertiary`, `info`, `warning`, `danger`, `error`, `success`, `highlight`, `neutral`.
21
+ *
22
+ * @example
23
+ * ```markdown
24
+ * ::: tabs
25
+ * ::: tab Tab 1
26
+ * [!INFO]
27
+ * Content for the first tab.
28
+ * ::: end-tab
29
+ *
30
+ * ::: tab Tab 2
31
+ * [!WARNING]
32
+ * Content for the second tab.
33
+ * ::: end-tab
34
+ * ::: end-tabs
35
+ * ```
36
+ *
37
+ * @public
38
+ */
39
+ export declare class TabProcessor extends BaseProcessor {
40
+ get extension(): TokenizerAndRendererExtension;
41
+ }
42
+ export {};
43
+ //# sourceMappingURL=TabProcessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabProcessor.d.ts","sourceRoot":"","sources":["../../../src/Processing/Processors/TabProcessor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAgB,MAAM,EAAE,6BAA6B,EAAgC,MAAM,QAAQ,CAAC;AAIhH,KAAK,UAAU,GAAK,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;AAQzI,MAAM,WAAW,UAAW,SAAQ,MAAM,CAAC,OAAO;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,SAAU,SAAQ,MAAM,CAAC,OAAO;IAC7C,IAAI,EAAE,KAAK,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,UAAU,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,YAAa,SAAQ,aAAa;IAE3C,IAAoB,SAAS,IAAI,6BAA6B,CAc7D;CAEJ"}
@@ -0,0 +1,110 @@
1
+ // #region Imports
2
+ import { html } from '../../Templating/Html.js';
3
+ import { BaseProcessor } from './Abstracts/BaseProcessor.js';
4
+ const KNOWN_VARIANTS = new Set([
5
+ 'primary', 'secondary', 'tertiary',
6
+ 'info', 'warning', 'danger', 'error',
7
+ 'success', 'highlight', 'neutral'
8
+ ]);
9
+ /**
10
+ * A processor that transforms `:::tabs` blocks into tabbed layout structures.
11
+ * Each tab may include a title, content, and an optional variant using `[!TYPE]`.
12
+ *
13
+ * Supported variants: `primary`, `secondary`, `tertiary`, `info`, `warning`, `danger`, `error`, `success`, `highlight`, `neutral`.
14
+ *
15
+ * @example
16
+ * ```markdown
17
+ * ::: tabs
18
+ * ::: tab Tab 1
19
+ * [!INFO]
20
+ * Content for the first tab.
21
+ * ::: end-tab
22
+ *
23
+ * ::: tab Tab 2
24
+ * [!WARNING]
25
+ * Content for the second tab.
26
+ * ::: end-tab
27
+ * ::: end-tabs
28
+ * ```
29
+ *
30
+ * @public
31
+ */
32
+ export class TabProcessor extends BaseProcessor {
33
+ get extension() {
34
+ return {
35
+ name: 'tabs',
36
+ level: 'block',
37
+ start(src) {
38
+ return (/^::: tabs/).exec(src)?.index;
39
+ },
40
+ tokenizer(src) {
41
+ return TabTokenizer.tokenize(this.lexer, src);
42
+ },
43
+ renderer(token) {
44
+ return TabRenderer.render(this.parser, token);
45
+ }
46
+ };
47
+ }
48
+ }
49
+ /**
50
+ * @private
51
+ */
52
+ class TabTokenizer {
53
+ static tokenize(lexer, src) {
54
+ const match = (/^::: tabs\n([\s\S]+?)\n::: end-tabs/m).exec(src);
55
+ if (!match) {
56
+ return undefined;
57
+ }
58
+ const tabRegex = /^::: tab (.+?)\n([\s\S]+?)\n::: end-tab/gm;
59
+ const tabs = [];
60
+ let tabMatch = null;
61
+ let index = 0;
62
+ while ((tabMatch = tabRegex.exec(match[1])) !== null) {
63
+ const rawLines = tabMatch[2].trim().split('\n');
64
+ let variant = undefined;
65
+ const variantMatch = (/^\[\!(\w+)\]/).exec(rawLines[0]);
66
+ if (variantMatch) {
67
+ const v = variantMatch[1].toLowerCase();
68
+ if (KNOWN_VARIANTS.has(v)) {
69
+ variant = v;
70
+ rawLines.shift(); // Remove variant line
71
+ }
72
+ }
73
+ const content = rawLines.join('\n').trim();
74
+ tabs.push({
75
+ type: 'tab',
76
+ raw: tabMatch[0],
77
+ tokens: [], // Inline tokens can be added if needed
78
+ id: `tab-${index++}`,
79
+ title: tabMatch[1].trim(),
80
+ content,
81
+ variant
82
+ });
83
+ }
84
+ return {
85
+ type: 'tabs',
86
+ raw: match[0],
87
+ tabs: tabs
88
+ };
89
+ }
90
+ }
91
+ /**
92
+ * @private
93
+ */
94
+ class TabRenderer {
95
+ static render(parser, token) {
96
+ return html `
97
+ <div class="tabs">
98
+ <ul class="tab-list">
99
+ ${token.tabs.map((tab) => `
100
+ <li class="tab-item${tab.variant ? ` ${tab.variant}` : ''}" data-tab="${tab.id}">${tab.title}
101
+ </li>`).join('')}
102
+ </ul>
103
+ ${token.tabs.map((tab) => `
104
+ <div class="tab-content${tab.variant ? ` ${tab.variant}` : ''}" id="${tab.id}">${tab.content}
105
+ </div>`).join('')}
106
+ </div>
107
+ `.trim();
108
+ }
109
+ }
110
+ //# sourceMappingURL=TabProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabProcessor.js","sourceRoot":"","sources":["../../../src/Processing/Processors/TabProcessor.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAElB,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAO7D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAa;IACvC,SAAS,EAAE,WAAW,EAAE,UAAU;IAClC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO;IACpC,SAAS,EAAE,WAAW,EAAE,SAAS;CACpC,CAAC,CAAC;AAgBH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,YAAa,SAAQ,aAAa;IAE3C,IAAoB,SAAS;QACzB,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,OAAO;YACd,KAAK,CAAC,GAAW;gBACb,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;YAC1C,CAAC;YACD,SAAS,CAAsB,GAAW;gBACtC,OAAO,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAClD,CAAC;YACD,QAAQ,CAAqB,KAAqB;gBAC9C,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAmB,CAAC,CAAC;YAChE,CAAC;SACJ,CAAC;IACN,CAAC;CAEJ;AAED;;GAEG;AACH,MAAM,YAAY;IAEP,MAAM,CAAC,QAAQ,CAAC,KAAY,EAAE,GAAW;QAC5C,MAAM,KAAK,GAAG,CAAC,sCAAsC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,QAAQ,GAAG,2CAA2C,CAAC;QAC7D,MAAM,IAAI,GAAqB,EAAE,CAAC;QAClC,IAAI,QAAQ,GAA2B,IAAI,CAAC;QAC5C,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,OAAO,GAA2B,SAAS,CAAC;YAEhD,MAAM,YAAY,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,YAAY,EAAE,CAAC;gBACf,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,EAAgB,CAAC;gBACtD,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxB,OAAO,GAAG,CAAC,CAAC;oBACZ,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,sBAAsB;gBAC5C,CAAC;YACL,CAAC;YAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YAE3C,IAAI,CAAC,IAAI,CAAC;gBACN,IAAI,EAAE,KAAK;gBACX,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAChB,MAAM,EAAE,EAAE,EAAE,uCAAuC;gBACnD,EAAE,EAAE,OAAO,KAAK,EAAE,EAAE;gBACpB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACzB,OAAO;gBACP,OAAO;aACV,CAAC,CAAC;QACP,CAAC;QAED,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;YACb,IAAI,EAAE,IAAI;SACb,CAAC;IACN,CAAC;CAEJ;AAED;;GAEG;AACH,MAAM,WAAW;IAEN,MAAM,CAAC,MAAM,CAAC,MAAc,EAAE,KAAiB;QAClD,OAAO,IAAI,CAAA;;;sBAGG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;yCACL,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,KAAK;0BACtF,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;cAEtB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;yCACG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,OAAO;uBACrF,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;SAExB,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;CAEJ"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Html.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Html.d.ts","sourceRoot":"","sources":["../../src/Templating/Html.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @internal
3
+ */
4
+ export function html(strings, ...values) {
5
+ return strings.reduce((result, str, i) => {
6
+ const value = values[i];
7
+ // eslint-disable-next-line @typescript-eslint/restrict-plus-operands, @typescript-eslint/no-base-to-string
8
+ return (result + str + (value !== null ? value : '')).trim();
9
+ }, '').trim();
10
+ }
11
+ //# sourceMappingURL=Html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Html.js","sourceRoot":"","sources":["../../src/Templating/Html.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,IAAI,CAAC,OAA6B,EAAE,GAAG,MAAsB;IACzE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,2GAA2G;QAC3G,OAAO,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "@breadstone-tools/markdowner-core",
3
3
  "description": "Markdowner core library",
4
- "version": "0.0.32",
4
+ "version": "0.0.34",
5
5
  "license": "MIT",
6
6
  "author": "andre.wehlert <awehlert@breadstone.de> (https://www.breadstone.de)",
7
7
  "repository": {
8
8
  "url": "git+ssh://git@github.com/RueDeRennes/mosaik.git"
9
9
  },
10
- "type": "commonjs",
11
10
  "main": "./Index.js",
12
- "commonjs": "./Index.js",
13
11
  "module": "./Index.js",
12
+ "commonjs": "./Index.js",
13
+ "typings": "./Index.d.ts",
14
14
  "types": "./Index.d.ts",
15
15
  "dependencies": {
16
- "@breadstone-infrastructure/utilities": "^0.0.32",
16
+ "@breadstone-infrastructure/utilities": "^0.0.34",
17
17
  "marked": "^15.0.12"
18
18
  }
19
19
  }