@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
@@ -1,44 +1,68 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CalloutProcessor = void 0;
4
- const BaseProcessor_js_1 = require("./Abstracts/BaseProcessor.js");
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
5
  /**
6
- * Processor for custom callouts with types (info, warning, tip).
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
7
18
  */
8
- class CalloutProcessor extends BaseProcessor_js_1.BaseProcessor {
9
- walkTokens(token) {
10
- if (token.type !== 'blockquote') {
11
- return;
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;
12
41
  }
13
- const match = (/^::: (info|warning|tip)(\s+(.+))?/i).exec(token.text);
14
- if (match) {
15
- const type = match[1].toLowerCase();
16
- const content = match[3].trim() || '';
17
- Object.assign(token, {
18
- type: 'callout',
19
- meta: {
20
- className: `callout-${type}`,
21
- type,
22
- content
23
- }
24
- });
25
- token.tokens?.shift(); // Remove the ::: line
42
+ const variant = match[1].toLowerCase();
43
+ if (!KNOWN_VARIANTS.has(variant)) {
44
+ return undefined;
26
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
+ };
27
56
  }
28
- get extensions() {
29
- return [
30
- {
31
- name: 'callout',
32
- level: 'block',
33
- renderer(meta) {
34
- return `<div class="${meta.className}">
35
- <strong>${meta.type.charAt(0).toUpperCase() + meta.type.slice(1)}:</strong>
36
- ${this.parser.parse(meta.tokens ?? [])}
37
- </div>`;
38
- }
39
- }
40
- ];
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>`;
41
66
  }
42
67
  }
43
- exports.CalloutProcessor = CalloutProcessor;
44
68
  //# sourceMappingURL=CalloutProcessor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CalloutProcessor.js","sourceRoot":"","sources":["../../../src/Process/Processors/CalloutProcessor.ts"],"names":[],"mappings":";;;AAAA,mEAA6D;AAG7D;;GAEG;AACH,MAAa,gBAAiB,SAAQ,gCAAa;IAE/B,UAAU,CAAC,KAAqB;QAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC9B,OAAO;QACX,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,oCAAoC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtE,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;YAEtC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;gBACjB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE;oBACF,SAAS,EAAE,WAAW,IAAI,EAAE;oBAC5B,IAAI;oBACJ,OAAO;iBACV;aACJ,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,sBAAsB;QACjD,CAAC;IACL,CAAC;IAED,IAAoB,UAAU;QAC1B,OAAO;YACH;gBACI,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,OAAO;gBACd,QAAQ,CAAqB,IAAoB;oBAC7C,OAAO,eAAe,IAAI,CAAC,SAAS;gCACxB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC9D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;2BACjC,CAAC;gBACZ,CAAC;aACJ;SACJ,CAAC;IACN,CAAC;CAEJ;AAxCD,4CAwCC"}
1
+ {"version":3,"file":"CalloutProcessor.js","sourceRoot":"","sources":["../../../src/Process/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"}
@@ -1,10 +1,24 @@
1
1
  import { BaseProcessor } from './Abstracts/BaseProcessor.js';
2
- import type { MarkedExtension, Tokens } from 'marked';
2
+ import type { TokenizerAndRendererExtension, Tokens } from 'marked';
3
3
  /**
4
- * Processor for custom code blocks with metadata (language, filename, highlights).
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
5
19
  */
6
20
  export declare class CodeBlockProcessor extends BaseProcessor {
21
+ get extension(): TokenizerAndRendererExtension;
7
22
  walkTokens(token: Tokens.Generic): void;
8
- get extensions(): MarkedExtension['extensions'];
9
23
  }
10
24
  //# sourceMappingURL=CodeBlockProcessor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CodeBlockProcessor.d.ts","sourceRoot":"","sources":["../../../src/Process/Processors/CodeBlockProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEpE;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,aAAa;IAEjC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI;IAqBvD,IAAoB,UAAU,IAAI,eAAe,CAAC,YAAY,CAAC,CAgB9D;CAEJ"}
1
+ {"version":3,"file":"CodeBlockProcessor.d.ts","sourceRoot":"","sources":["../../../src/Process/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"}
@@ -1,46 +1,65 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CodeBlockProcessor = void 0;
4
- const BaseProcessor_js_1 = require("./Abstracts/BaseProcessor.js");
1
+ import { BaseProcessor } from './Abstracts/BaseProcessor.js';
5
2
  /**
6
- * Processor for custom code blocks with metadata (language, filename, highlights).
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
7
18
  */
8
- class CodeBlockProcessor extends BaseProcessor_js_1.BaseProcessor {
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
+ }
9
29
  walkTokens(token) {
10
30
  if (token.type !== 'code') {
11
31
  return;
12
32
  }
13
- const match = (/(\w+)(?:\s+name="(.+?)")?(?:\s+\{([\d,-]+)\})?/i).exec(token.lang || '');
14
- if (match) {
15
- const lang = match[1];
16
- const fileName = match[2];
17
- const highlights = match[3];
18
- Object.assign(token, {
19
- meta: {
20
- lang,
21
- fileName,
22
- highlights
23
- }
24
- });
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;
25
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
26
49
  }
27
- get extensions() {
28
- return [
29
- {
30
- name: 'code',
31
- level: 'block',
32
- renderer(meta) {
33
- const fileLabel = meta.fileName
34
- ? `<div class="code-filename">${meta.fileName}</div>\n`
35
- : '';
36
- const highlightAttr = meta.highlights
37
- ? `data-lines="${meta.highlights}"`
38
- : '';
39
- return `${fileLabel}<pre><code class="language-${meta.lang}" ${highlightAttr}>${meta.text}</code></pre>`;
40
- }
41
- }
42
- ];
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>`;
43
63
  }
44
64
  }
45
- exports.CodeBlockProcessor = CodeBlockProcessor;
46
65
  //# sourceMappingURL=CodeBlockProcessor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CodeBlockProcessor.js","sourceRoot":"","sources":["../../../src/Process/Processors/CodeBlockProcessor.ts"],"names":[],"mappings":";;;AAAA,mEAA6D;AAG7D;;GAEG;AACH,MAAa,kBAAmB,SAAQ,gCAAa;IAEjC,UAAU,CAAC,KAAqB;QAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,iDAAiD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACzF,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAE5B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;gBACjB,IAAI,EAAE;oBACF,IAAI;oBACJ,QAAQ;oBACR,UAAU;iBACb;aACJ,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,IAAoB,UAAU;QAC1B,OAAO;YACH;gBACI,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,OAAO;gBACd,QAAQ,CAAqB,IAAoB;oBAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ;wBAC3B,CAAC,CAAC,8BAA8B,IAAI,CAAC,QAAQ,UAAU;wBACvD,CAAC,CAAC,EAAE,CAAC;oBACT,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU;wBACjC,CAAC,CAAC,eAAe,IAAI,CAAC,UAAU,GAAG;wBACnC,CAAC,CAAC,EAAE,CAAC;oBACT,OAAO,GAAG,SAAS,8BAA8B,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,eAAe,CAAC;gBAC7G,CAAC;aACJ;SACJ,CAAC;IACN,CAAC;CAEJ;AAzCD,gDAyCC"}
1
+ {"version":3,"file":"CodeBlockProcessor.js","sourceRoot":"","sources":["../../../src/Process/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"}
@@ -1,9 +1,9 @@
1
- import type { MarkedExtension, Tokens } from 'marked';
1
+ import type { MarkedExtension, TokenizerAndRendererExtension, Tokens } from 'marked';
2
2
  /**
3
3
  * Represents a processor that can handle a specific type of Markdown token.
4
4
  */
5
5
  export interface IProcessor extends Pick<MarkedExtension, 'extensions' | 'walkTokens'> {
6
- get extensions(): MarkedExtension['extensions'];
6
+ get extension(): TokenizerAndRendererExtension;
7
7
  walkTokens?(token: Tokens.Generic): void;
8
8
  }
9
9
  //# sourceMappingURL=IProcessor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IProcessor.d.ts","sourceRoot":"","sources":["../../../../src/Process/Processors/Interfaces/IProcessor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAItD;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,eAAe,EAAE,YAAY,GAAG,YAAY,CAAC;IAIlF,IAAI,UAAU,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC;IAMhD,UAAU,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;CAI5C"}
1
+ {"version":3,"file":"IProcessor.d.ts","sourceRoot":"","sources":["../../../../src/Process/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"}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  // #region Imports
3
- Object.defineProperty(exports, "__esModule", { value: true });
2
+ export {};
4
3
  //# sourceMappingURL=IProcessor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IProcessor.js","sourceRoot":"","sources":["../../../../src/Process/Processors/Interfaces/IProcessor.ts"],"names":[],"mappings":";AAAA,kBAAkB"}
1
+ {"version":3,"file":"IProcessor.js","sourceRoot":"","sources":["../../../../src/Process/Processors/Interfaces/IProcessor.ts"],"names":[],"mappings":"AAAA,kBAAkB"}
@@ -0,0 +1,49 @@
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 ISplitToken extends Tokens.Generic {
5
+ type: 'split';
6
+ raw: string;
7
+ left?: ISplitColumnToken;
8
+ right?: ISplitColumnToken;
9
+ tokens?: Array<Tokens.Generic>;
10
+ }
11
+ export interface ISplitColumnToken extends Tokens.Generic {
12
+ type: 'splitColumn';
13
+ raw: string;
14
+ title: string;
15
+ tokens: Array<Tokens.Generic>;
16
+ variant?: SplitVariant;
17
+ }
18
+ /**
19
+ * A processor that transforms `:::split` blocks into a two-column layout.
20
+ * Each column may include a heading, a list, and an optional variant like `[!INFO]`.
21
+ *
22
+ * Supported variants: `primary`, `secondary`, `tertiary`, `info`, `warning`, `danger`, `error`, `success`, `highlight`, `neutral`.
23
+ *
24
+ * @example
25
+ * ```markdown
26
+ * ::: split
27
+ * ::: left
28
+ * [!INFO]
29
+ * ### Advantages
30
+ * - Easy integration
31
+ * - Markdown based
32
+ * ::: end-left
33
+ *
34
+ * ::: right
35
+ * [!ERROR]
36
+ * ### Disadvantages
37
+ * - Requires a custom parser
38
+ * - Not standardized
39
+ * ::: end-right
40
+ * ::: end-split
41
+ * ```
42
+ *
43
+ * @public
44
+ */
45
+ export declare class SplitProcessor extends BaseProcessor {
46
+ get extension(): TokenizerAndRendererExtension;
47
+ }
48
+ export {};
49
+ //# sourceMappingURL=SplitProcessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SplitProcessor.d.ts","sourceRoot":"","sources":["../../../src/Process/Processors/SplitProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAA+B,6BAA6B,EAAiB,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhH,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,WAAY,SAAQ,MAAM,CAAC,OAAO;IAC/C,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,iBAAkB,SAAQ,MAAM,CAAC,OAAO;IACrD,IAAI,EAAE,aAAa,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,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,123 @@
1
+ import { BaseProcessor } from './Abstracts/BaseProcessor.js';
2
+ const KNOWN_VARIANTS = new Set([
3
+ 'primary', 'secondary', 'tertiary',
4
+ 'info', 'warning', 'danger', 'error',
5
+ 'success', 'highlight', 'neutral'
6
+ ]);
7
+ /**
8
+ * A processor that transforms `:::split` blocks into a two-column layout.
9
+ * Each column may include a heading, a list, and an optional variant like `[!INFO]`.
10
+ *
11
+ * Supported variants: `primary`, `secondary`, `tertiary`, `info`, `warning`, `danger`, `error`, `success`, `highlight`, `neutral`.
12
+ *
13
+ * @example
14
+ * ```markdown
15
+ * ::: split
16
+ * ::: left
17
+ * [!INFO]
18
+ * ### Advantages
19
+ * - Easy integration
20
+ * - Markdown based
21
+ * ::: end-left
22
+ *
23
+ * ::: right
24
+ * [!ERROR]
25
+ * ### Disadvantages
26
+ * - Requires a custom parser
27
+ * - Not standardized
28
+ * ::: end-right
29
+ * ::: end-split
30
+ * ```
31
+ *
32
+ * @public
33
+ */
34
+ export class SplitProcessor extends BaseProcessor {
35
+ get extension() {
36
+ return {
37
+ name: 'split',
38
+ level: 'block',
39
+ start(src) {
40
+ return (/^::: split/).exec(src)?.index;
41
+ },
42
+ tokenizer(src) {
43
+ return SplitTokenizer.tokenize(src, this.lexer);
44
+ },
45
+ renderer(token) {
46
+ return SplitRenderer.render(token, this.parser);
47
+ }
48
+ };
49
+ }
50
+ }
51
+ /**
52
+ * Tokenizer for the `:::split` block syntax.
53
+ */
54
+ class SplitTokenizer {
55
+ static tokenize(src, lexer) {
56
+ const match = (/^::: split\n([\s\S]+?)\n::: end-split/m).exec(src);
57
+ if (!match) {
58
+ return undefined;
59
+ }
60
+ return {
61
+ type: 'split',
62
+ raw: match[0],
63
+ left: this.parseSection(match[1], 'left', lexer),
64
+ right: this.parseSection(match[1], 'right', lexer)
65
+ };
66
+ }
67
+ static parseSection(content, side, lexer) {
68
+ const regex = new RegExp(`::: ${side}\\n([\\s\\S]+?)\\n::: end-${side}`, 'm');
69
+ const sectionMatch = regex.exec(content);
70
+ if (!sectionMatch) {
71
+ return undefined;
72
+ }
73
+ const lines = sectionMatch[1].trim().split('\n');
74
+ let variant = undefined;
75
+ const variantMatch = (/^\[\!(\w+)\]/).exec(lines[0]);
76
+ if (variantMatch) {
77
+ const v = variantMatch[1].toLowerCase();
78
+ if (KNOWN_VARIANTS.has(v)) {
79
+ variant = v;
80
+ }
81
+ lines[0] = ''; // remove variant line
82
+ }
83
+ const contentLines = lines.filter(Boolean);
84
+ const hasHeading = (/^#+\s/).test(contentLines[0]);
85
+ const title = hasHeading ? contentLines[0].replace(/^#+\s*/, '') : '';
86
+ const listStart = hasHeading ? 1 : 0;
87
+ const xxx = contentLines
88
+ .slice(listStart)
89
+ .join('\n')
90
+ .trim();
91
+ const tokens = lexer.inlineTokens(xxx);
92
+ return {
93
+ type: 'splitColumn',
94
+ raw: sectionMatch[0],
95
+ title: title,
96
+ tokens: tokens,
97
+ variant: variant
98
+ };
99
+ }
100
+ }
101
+ /**
102
+ * Renders the `split` token into two-column HTML layout.
103
+ */
104
+ class SplitRenderer {
105
+ static render(token, parser) {
106
+ const left = SplitRenderer.renderColumn(token.left, 'left', parser);
107
+ const right = SplitRenderer.renderColumn(token.right, 'right', parser);
108
+ return `<div class="split">${left}${right}</div>`;
109
+ }
110
+ static renderColumn(token, baseClass, parser) {
111
+ if (!token) {
112
+ return '';
113
+ }
114
+ const classes = [baseClass];
115
+ if (token.variant) {
116
+ classes.push(token.variant);
117
+ }
118
+ const heading = token.title ? `<h3>${token.title}</h3>` : '';
119
+ const body = parser.parseInline(token.tokens);
120
+ return `<div class="column ${classes.join(' ')}">${heading}${body}</div>`;
121
+ }
122
+ }
123
+ //# sourceMappingURL=SplitProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SplitProcessor.js","sourceRoot":"","sources":["../../../src/Process/Processors/SplitProcessor.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,42 @@
1
1
  import { BaseProcessor } from './Abstracts/BaseProcessor.js';
2
- import type { MarkedExtension, Tokens } from 'marked';
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 {
10
+ id: string;
11
+ title: string;
12
+ content: string;
13
+ variant?: TabVariant;
14
+ }
3
15
  /**
4
- * Processor for custom tabs with content.
16
+ * A processor that transforms `:::tabs` blocks into tabbed layout structures.
17
+ * Each tab may include a title, content, and an optional variant using `[!TYPE]`.
18
+ *
19
+ * Supported variants: `primary`, `secondary`, `tertiary`, `info`, `warning`, `danger`, `error`, `success`, `highlight`, `neutral`.
20
+ *
21
+ * @example
22
+ * ```markdown
23
+ * ::: tabs
24
+ * ::: tab Tab 1
25
+ * [!INFO]
26
+ * Content for the first tab.
27
+ * ::: end-tab
28
+ *
29
+ * ::: tab Tab 2
30
+ * [!WARNING]
31
+ * Content for the second tab.
32
+ * ::: end-tab
33
+ * ::: end-tabs
34
+ * ```
35
+ *
36
+ * @public
5
37
  */
6
38
  export declare class TabProcessor extends BaseProcessor {
7
- walkTokens(token: Tokens.Generic): void;
8
- get extensions(): MarkedExtension['extensions'];
39
+ get extension(): TokenizerAndRendererExtension;
9
40
  }
41
+ export {};
10
42
  //# sourceMappingURL=TabProcessor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabProcessor.d.ts","sourceRoot":"","sources":["../../../src/Process/Processors/TabProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,EAAE,MAAM,QAAQ,CAAC;AAQpE;;GAEG;AACH,qBAAa,YAAa,SAAQ,aAAa;IAE3B,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI;IAkCvD,IAAoB,UAAU,IAAI,eAAe,CAAC,YAAY,CAAC,CAwB9D;CAEJ"}
1
+ {"version":3,"file":"TabProcessor.d.ts","sourceRoot":"","sources":["../../../src/Process/Processors/TabProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAgB,MAAM,EAAE,6BAA6B,EAAE,MAAM,QAAQ,CAAC;AAElF,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,SAAS;IACtB,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"}