@breadstone-tools/markdowner-core 0.0.32 → 0.0.33

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
package/Index.d.ts CHANGED
@@ -1,8 +1,12 @@
1
- export { MarkdownProcessor } from './Process/MarkdownProcessor.js';
2
- export { BaseProcessor } from './Process/Processors/Abstracts/BaseProcessor.js';
3
- export type { IProcessor } from './Process/Processors/Interfaces/IProcessor.js';
4
- export { BlockquoteProcessor } from './Process/Processors/BlockquoteProcessor.js';
5
- export { CodeBlockProcessor } from './Process/Processors/CodeBlockProcessor.js';
6
- export { TabProcessor } from './Process/Processors/TabProcessor.js';
7
- export { CalloutProcessor } from './Process/Processors/CalloutProcessor.js';
1
+ export { MarkdownProcessor } from './Processing/MarkdownProcessor.js';
2
+ export type { IProcessor } from './Processing/Processors/Interfaces/IProcessor.js';
3
+ export { BaseProcessor } from './Processing/Processors/Abstracts/BaseProcessor.js';
4
+ export { BlockquoteProcessor } from './Processing/Processors/BlockquoteProcessor.js';
5
+ export { CodeBlockProcessor } from './Processing/Processors/CodeBlockProcessor.js';
6
+ export type { ITabToken, ITabsToken } from './Processing/Processors/TabProcessor.js';
7
+ export { TabProcessor } from './Processing/Processors/TabProcessor.js';
8
+ export type { ICalloutToken } from './Processing/Processors/CalloutProcessor.js';
9
+ export { CalloutProcessor } from './Processing/Processors/CalloutProcessor.js';
10
+ export type { ISplitToken, ISplitsToken } from './Processing/Processors/SplitProcessor.js';
11
+ export { SplitProcessor } from './Processing/Processors/SplitProcessor.js';
8
12
  //# sourceMappingURL=Index.d.ts.map
package/Index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Index.d.ts","sourceRoot":"","sources":["../src/Index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,YAAY,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC"}
1
+ {"version":3,"file":"Index.d.ts","sourceRoot":"","sources":["../src/Index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,YAAY,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,oDAAoD,CAAC;AAGnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,YAAY,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC"}
package/Index.js CHANGED
@@ -1,16 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CalloutProcessor = exports.TabProcessor = exports.CodeBlockProcessor = exports.BlockquoteProcessor = exports.BaseProcessor = exports.MarkdownProcessor = void 0;
4
- var MarkdownProcessor_js_1 = require("./Process/MarkdownProcessor.js");
5
- Object.defineProperty(exports, "MarkdownProcessor", { enumerable: true, get: function () { return MarkdownProcessor_js_1.MarkdownProcessor; } });
6
- var BaseProcessor_js_1 = require("./Process/Processors/Abstracts/BaseProcessor.js");
7
- Object.defineProperty(exports, "BaseProcessor", { enumerable: true, get: function () { return BaseProcessor_js_1.BaseProcessor; } });
8
- var BlockquoteProcessor_js_1 = require("./Process/Processors/BlockquoteProcessor.js");
9
- Object.defineProperty(exports, "BlockquoteProcessor", { enumerable: true, get: function () { return BlockquoteProcessor_js_1.BlockquoteProcessor; } });
10
- var CodeBlockProcessor_js_1 = require("./Process/Processors/CodeBlockProcessor.js");
11
- Object.defineProperty(exports, "CodeBlockProcessor", { enumerable: true, get: function () { return CodeBlockProcessor_js_1.CodeBlockProcessor; } });
12
- var TabProcessor_js_1 = require("./Process/Processors/TabProcessor.js");
13
- Object.defineProperty(exports, "TabProcessor", { enumerable: true, get: function () { return TabProcessor_js_1.TabProcessor; } });
14
- var CalloutProcessor_js_1 = require("./Process/Processors/CalloutProcessor.js");
15
- Object.defineProperty(exports, "CalloutProcessor", { enumerable: true, get: function () { return CalloutProcessor_js_1.CalloutProcessor; } });
1
+ export { MarkdownProcessor } from './Processing/MarkdownProcessor.js';
2
+ export { BaseProcessor } from './Processing/Processors/Abstracts/BaseProcessor.js';
3
+ // Processors
4
+ export { BlockquoteProcessor } from './Processing/Processors/BlockquoteProcessor.js';
5
+ export { CodeBlockProcessor } from './Processing/Processors/CodeBlockProcessor.js';
6
+ export { TabProcessor } from './Processing/Processors/TabProcessor.js';
7
+ export { CalloutProcessor } from './Processing/Processors/CalloutProcessor.js';
8
+ export { SplitProcessor } from './Processing/Processors/SplitProcessor.js';
16
9
  //# sourceMappingURL=Index.js.map
package/Index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Index.js","sourceRoot":"","sources":["../src/Index.ts"],"names":[],"mappings":";;;AAAA,uEAAmE;AAA1D,yHAAA,iBAAiB,OAAA;AAC1B,oFAAgF;AAAvE,iHAAA,aAAa,OAAA;AAEtB,sFAAkF;AAAzE,6HAAA,mBAAmB,OAAA;AAC5B,oFAAgF;AAAvE,2HAAA,kBAAkB,OAAA;AAC3B,wEAAoE;AAA3D,+GAAA,YAAY,OAAA;AACrB,gFAA4E;AAAnE,uHAAA,gBAAgB,OAAA"}
1
+ {"version":3,"file":"Index.js","sourceRoot":"","sources":["../src/Index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,MAAM,oDAAoD,CAAC;AAEnF,aAAa;AACb,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AAEnF,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownProcessor.d.ts","sourceRoot":"","sources":["../../src/Process/MarkdownProcessor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAKpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAIxE;;;;;GAKG;AACH,qBAAa,iBAAiB;IAI1B,OAAO,CAAC,WAAW,CAAyB;IAM5C;;OAEG;gBACgB,UAAU,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;IAiBjD;;;;;OAKG;IACI,YAAY,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAIhD;;;;;OAKG;IACI,eAAe,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAInD;;;;;;OAMG;IACI,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,MAAM;IAWhF;;;;;;OAMG;IACI,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAajG"}
1
+ {"version":3,"file":"MarkdownProcessor.d.ts","sourceRoot":"","sources":["../../src/Process/MarkdownProcessor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgC,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAK1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAKxE;;;;;GAKG;AACH,qBAAa,iBAAiB;IAI1B,OAAO,CAAC,WAAW,CAAyB;IAM5C;;OAEG;gBACgB,UAAU,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;IAkBjD;;;;;OAKG;IACI,YAAY,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAIhD;;;;;OAKG;IACI,eAAe,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAInD;;;;;;OAMG;IACI,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,MAAM;IAiBhF;;;;;;OAMG;IACI,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAajG"}
@@ -1,12 +1,10 @@
1
- "use strict";
2
1
  // #region Imports
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.MarkdownProcessor = void 0;
5
- const marked_1 = require("marked");
6
- const BlockquoteProcessor_js_1 = require("./Processors/BlockquoteProcessor.js");
7
- const CodeBlockProcessor_js_1 = require("./Processors/CodeBlockProcessor.js");
8
- const TabProcessor_js_1 = require("./Processors/TabProcessor.js");
9
- const CalloutProcessor_js_1 = require("./Processors/CalloutProcessor.js");
2
+ import { Marked } from 'marked';
3
+ import { BlockquoteProcessor } from './Processors/BlockquoteProcessor.js';
4
+ import { CodeBlockProcessor } from './Processors/CodeBlockProcessor.js';
5
+ import { TabProcessor } from './Processors/TabProcessor.js';
6
+ import { CalloutProcessor } from './Processors/CalloutProcessor.js';
7
+ import { SplitProcessor } from './Processors/SplitProcessor.js';
10
8
  // #endregion
11
9
  /**
12
10
  * Main processor for Markdown content.
@@ -14,7 +12,7 @@ const CalloutProcessor_js_1 = require("./Processors/CalloutProcessor.js");
14
12
  *
15
13
  * @public
16
14
  */
17
- class MarkdownProcessor {
15
+ export class MarkdownProcessor {
18
16
  // #region Fields
19
17
  _processors = [];
20
18
  // #endregion
@@ -25,10 +23,11 @@ class MarkdownProcessor {
25
23
  constructor(processors) {
26
24
  this._processors = [];
27
25
  if (!processors?.length) {
28
- this._processors.push(new BlockquoteProcessor_js_1.BlockquoteProcessor());
29
- this._processors.push(new CalloutProcessor_js_1.CalloutProcessor());
30
- this._processors.push(new CodeBlockProcessor_js_1.CodeBlockProcessor());
31
- this._processors.push(new TabProcessor_js_1.TabProcessor());
26
+ this._processors.push(new BlockquoteProcessor());
27
+ this._processors.push(new CalloutProcessor());
28
+ this._processors.push(new CodeBlockProcessor());
29
+ this._processors.push(new TabProcessor());
30
+ this._processors.push(new SplitProcessor());
32
31
  }
33
32
  this._processors.push(...processors ?? []);
34
33
  }
@@ -60,8 +59,13 @@ class MarkdownProcessor {
60
59
  * @returns The resulting HTML string.
61
60
  */
62
61
  process(markdown, options) {
63
- const html = new marked_1.Marked()
64
- .use(...this._processors)
62
+ const extensions = this._processors.map((p) => ({
63
+ // eslint-disable-next-line @typescript-eslint/unbound-method
64
+ walkTokens: p.walkTokens,
65
+ extensions: [p.extension]
66
+ }));
67
+ const html = new Marked()
68
+ .use(...extensions)
65
69
  .parse(markdown, {
66
70
  async: false,
67
71
  ...options
@@ -76,7 +80,7 @@ class MarkdownProcessor {
76
80
  * @returns A promise that resolves to the resulting HTML string.
77
81
  */
78
82
  processAsync(markdown, options) {
79
- const html = new marked_1.Marked()
83
+ const html = new Marked()
80
84
  .use(...this._processors)
81
85
  .parse(markdown, {
82
86
  async: true,
@@ -85,5 +89,4 @@ class MarkdownProcessor {
85
89
  return html;
86
90
  }
87
91
  }
88
- exports.MarkdownProcessor = MarkdownProcessor;
89
92
  //# sourceMappingURL=MarkdownProcessor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownProcessor.js","sourceRoot":"","sources":["../../src/Process/MarkdownProcessor.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAElB,mCAAoD;AACpD,gFAA0E;AAC1E,8EAAwE;AACxE,kEAA4D;AAC5D,0EAAoE;AAGpE,aAAa;AAEb;;;;;GAKG;AACH,MAAa,iBAAiB;IAE1B,iBAAiB;IAET,WAAW,GAAsB,EAAE,CAAC;IAE5C,aAAa;IAEb,eAAe;IAEf;;OAEG;IACH,YAAmB,UAA8B;QAC7C,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,4CAAmB,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,sCAAgB,EAAE,CAAC,CAAC;YAC9C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,0CAAkB,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,8BAAY,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,aAAa;IAEb,kBAAkB;IAElB;;;;;OAKG;IACI,YAAY,CAAC,SAAqB;QACrC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACI,eAAe,CAAC,SAAqB;QACxC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;OAMG;IACI,OAAO,CAAC,QAAgB,EAAE,OAAsC;QACnE,MAAM,IAAI,GAAG,IAAI,eAAM,EAAE;aACpB,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aACxB,KAAK,CAAC,QAAQ,EAAE;YACb,KAAK,EAAE,KAAK;YACZ,GAAG,OAAO;SACb,CAAC,CAAC;QAEP,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACI,YAAY,CAAC,QAAgB,EAAE,OAAsC;QACxE,MAAM,IAAI,GAAG,IAAI,eAAM,EAAE;aACpB,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aACxB,KAAK,CAAC,QAAQ,EAAE;YACb,KAAK,EAAE,IAAI;YACX,GAAG,OAAO;SACb,CAAC,CAAC;QAEP,OAAO,IAAI,CAAC;IAChB,CAAC;CAIJ;AAxFD,8CAwFC"}
1
+ {"version":3,"file":"MarkdownProcessor.js","sourceRoot":"","sources":["../../src/Process/MarkdownProcessor.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAElB,OAAO,EAAE,MAAM,EAA4C,MAAM,QAAQ,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,aAAa;AAEb;;;;;GAKG;AACH,MAAM,OAAO,iBAAiB;IAE1B,iBAAiB;IAET,WAAW,GAAsB,EAAE,CAAC;IAE5C,aAAa;IAEb,eAAe;IAEf;;OAEG;IACH,YAAmB,UAA8B;QAC7C,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;YAC9C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;YAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,aAAa;IAEb,kBAAkB;IAElB;;;;;OAKG;IACI,YAAY,CAAC,SAAqB;QACrC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACI,eAAe,CAAC,SAAqB;QACxC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;OAMG;IACI,OAAO,CAAC,QAAgB,EAAE,OAAsC;QACnE,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAkB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7D,6DAA6D;YAC7D,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SAC5B,CAAC,CAAC,CAAC;QAEJ,MAAM,IAAI,GAAG,IAAI,MAAM,EAAE;aACpB,GAAG,CAAC,GAAG,UAAU,CAAC;aAClB,KAAK,CAAC,QAAQ,EAAE;YACb,KAAK,EAAE,KAAK;YACZ,GAAG,OAAO;SACb,CAAC,CAAC;QAEP,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACI,YAAY,CAAC,QAAgB,EAAE,OAAsC;QACxE,MAAM,IAAI,GAAG,IAAI,MAAM,EAAE;aACpB,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aACxB,KAAK,CAAC,QAAQ,EAAE;YACb,KAAK,EAAE,IAAI;YACX,GAAG,OAAO;SACb,CAAC,CAAC;QAEP,OAAO,IAAI,CAAC;IAChB,CAAC;CAIJ"}
@@ -1,17 +1,22 @@
1
1
  import type { IProcessor } from '../Interfaces/IProcessor.js';
2
- import type { MarkedExtension, Tokens } from 'marked';
2
+ import type { MarkedExtension, TokenizerAndRendererExtension, Tokens } from 'marked';
3
3
  /**
4
4
  * Abstract base class for custom Markdown processors.
5
5
  */
6
6
  export declare abstract class BaseProcessor implements MarkedExtension, IProcessor {
7
7
  /**
8
- * Override this method to provide custom rendering logic.
8
+ * @public
9
+ * @abstract
10
+ * @readonly
11
+ */
12
+ abstract get extension(): TokenizerAndRendererExtension;
13
+ /**
14
+ * Override this method to provide custom hooks for processing tokens.
9
15
  *
10
16
  * @public
11
17
  * @readonly
12
- * @returns An array of rendering extensions.
18
+ * @returns An object containing hooks for processing tokens.
13
19
  */
14
- get extensions(): MarkedExtension['extensions'];
15
20
  get hooks(): MarkedExtension['hooks'];
16
21
  /**
17
22
  * Preprocesses the Markdown content before rendering.
@@ -22,7 +27,7 @@ export declare abstract class BaseProcessor implements MarkedExtension, IProcess
22
27
  */
23
28
  preprocess(markdown: string): string;
24
29
  /**
25
- * Postprocesses the HTML content after rendering.
30
+ * Postprocessing the HTML content after rendering.
26
31
  *
27
32
  * @public
28
33
  * @param html - The HTML content to postprocess.
@@ -43,7 +48,7 @@ export declare abstract class BaseProcessor implements MarkedExtension, IProcess
43
48
  * @public
44
49
  * @param token - The token to process.
45
50
  */
46
- walkTokens?(token: Tokens.Generic): void;
51
+ walkTokens?(_token: Tokens.Generic): void;
47
52
  /**
48
53
  * Minifies HTML by removing all newlines and unnecessary whitespaces.
49
54
  *
@@ -1 +1 @@
1
- {"version":3,"file":"BaseProcessor.d.ts","sourceRoot":"","sources":["../../../../src/Process/Processors/Abstracts/BaseProcessor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAItD;;GAEG;AACH,8BAAsB,aAAc,YAAW,eAAe,EAAE,UAAU;IAItE;;;;;;OAMG;IACH,IAAW,UAAU,IAAI,eAAe,CAAC,YAAY,CAAC,CAErD;IAED,IAAW,KAAK,IAAI,eAAe,CAAC,OAAO,CAAC,CAM3C;IAID;;;;;;OAMG;IACI,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI3C;;;;;;OAMG;IACI,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIxC;;;;;;OAMG;IACI,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;IAI7E;;;;;OAKG;IACI,UAAU,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI;IAI/C;;;;;OAKG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAI7C"}
1
+ {"version":3,"file":"BaseProcessor.d.ts","sourceRoot":"","sources":["../../../../src/Process/Processors/Abstracts/BaseProcessor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrF;;GAEG;AACH,8BAAsB,aAAc,YAAW,eAAe,EAAE,UAAU;IAItE;;;;OAIG;IACH,aAAoB,SAAS,IAAI,6BAA6B,CAAC;IAE/D;;;;;;OAMG;IACH,IAAW,KAAK,IAAI,eAAe,CAAC,OAAO,CAAC,CAM3C;IAMD;;;;;;OAMG;IACI,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI3C;;;;;;OAMG;IACI,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIxC;;;;;;OAMG;IACI,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;IAI7E;;;;;OAKG;IACI,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI;IAIhD;;;;;OAKG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAM7C"}
@@ -1,23 +1,16 @@
1
- "use strict";
2
1
  // #region Imports
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.BaseProcessor = void 0;
5
2
  // #endregion
6
3
  /**
7
4
  * Abstract base class for custom Markdown processors.
8
5
  */
9
- class BaseProcessor {
10
- // #region Properties
6
+ export class BaseProcessor {
11
7
  /**
12
- * Override this method to provide custom rendering logic.
8
+ * Override this method to provide custom hooks for processing tokens.
13
9
  *
14
10
  * @public
15
11
  * @readonly
16
- * @returns An array of rendering extensions.
12
+ * @returns An object containing hooks for processing tokens.
17
13
  */
18
- get extensions() {
19
- return [];
20
- }
21
14
  get hooks() {
22
15
  return {
23
16
  processAllTokens: (tokens) => this.processAllTokens(tokens),
@@ -26,6 +19,7 @@ class BaseProcessor {
26
19
  };
27
20
  }
28
21
  // #endregion
22
+ // #region Methods
29
23
  /**
30
24
  * Preprocesses the Markdown content before rendering.
31
25
  *
@@ -37,7 +31,7 @@ class BaseProcessor {
37
31
  return markdown;
38
32
  }
39
33
  /**
40
- * Postprocesses the HTML content after rendering.
34
+ * Postprocessing the HTML content after rendering.
41
35
  *
42
36
  * @public
43
37
  * @param html - The HTML content to postprocess.
@@ -62,7 +56,7 @@ class BaseProcessor {
62
56
  * @public
63
57
  * @param token - The token to process.
64
58
  */
65
- walkTokens(token) {
59
+ walkTokens(_token) {
66
60
  }
67
61
  /**
68
62
  * Minifies HTML by removing all newlines and unnecessary whitespaces.
@@ -74,5 +68,4 @@ class BaseProcessor {
74
68
  return html.replace(/\s+/g, ' ').trim();
75
69
  }
76
70
  }
77
- exports.BaseProcessor = BaseProcessor;
78
71
  //# sourceMappingURL=BaseProcessor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseProcessor.js","sourceRoot":"","sources":["../../../../src/Process/Processors/Abstracts/BaseProcessor.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAKlB,aAAa;AAEb;;GAEG;AACH,MAAsB,aAAa;IAE/B,qBAAqB;IAErB;;;;;;OAMG;IACH,IAAW,UAAU;QACjB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAW,KAAK;QACZ,OAAO;YACH,gBAAgB,EAAE,CAAC,MAA6B,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;YAClF,UAAU,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC3D,WAAW,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;SACxD,CAAC;IACN,CAAC;IAED,aAAa;IAEb;;;;;;OAMG;IACI,UAAU,CAAC,QAAgB;QAC9B,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACI,WAAW,CAAC,IAAY;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACI,gBAAgB,CAAC,MAA6B;QACjD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACI,UAAU,CAAE,KAAqB;IAExC,CAAC;IAED;;;;;OAKG;IACO,UAAU,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;CAEJ;AA9ED,sCA8EC"}
1
+ {"version":3,"file":"BaseProcessor.js","sourceRoot":"","sources":["../../../../src/Process/Processors/Abstracts/BaseProcessor.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAKlB,aAAa;AAEb;;GAEG;AACH,MAAM,OAAgB,aAAa;IAW/B;;;;;;OAMG;IACH,IAAW,KAAK;QACZ,OAAO;YACH,gBAAgB,EAAE,CAAC,MAA6B,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;YAClF,UAAU,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC3D,WAAW,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;SACxD,CAAC;IACN,CAAC;IAED,aAAa;IAEb,kBAAkB;IAElB;;;;;;OAMG;IACI,UAAU,CAAC,QAAgB;QAC9B,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACI,WAAW,CAAC,IAAY;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACI,gBAAgB,CAAC,MAA6B;QACjD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACI,UAAU,CAAE,MAAsB;IAEzC,CAAC;IAED;;;;;OAKG;IACO,UAAU,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;CAIJ"}
@@ -1,37 +1,35 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const BlockquoteProcessor_1 = require("./BlockquoteProcessor");
5
- const MarkdownProcessor_1 = require("../MarkdownProcessor");
6
- (0, vitest_1.describe)('BlockquoteProcessor', () => {
7
- (0, vitest_1.it)('should render a blockquote with [!INFO] syntax', () => {
1
+ import { describe, it, expect } from 'vitest';
2
+ import { BlockquoteProcessor } from './BlockquoteProcessor';
3
+ import { MarkdownProcessor } from '../MarkdownProcessor';
4
+ describe('BlockquoteProcessor', () => {
5
+ it('should render a blockquote with [!INFO] syntax', () => {
8
6
  const markdown = '> [!INFO]\n> Highlights information that users should take into account.';
9
- const html = new MarkdownProcessor_1.MarkdownProcessor([new BlockquoteProcessor_1.BlockquoteProcessor()]).process(markdown);
10
- (0, vitest_1.expect)(html)
7
+ const html = new MarkdownProcessor([new BlockquoteProcessor()]).process(markdown);
8
+ expect(html)
11
9
  .toBe('<blockquote class="blockquote-info"><strong>Info:</strong>Highlights information that users should take into account.</blockquote>');
12
10
  });
13
- (0, vitest_1.it)('should render a blockquote with [!WARNING] syntax', () => {
11
+ it('should render a blockquote with [!WARNING] syntax', () => {
14
12
  const markdown = '> [!WARNING]\n> Critical content demanding immediate user attention.';
15
- const html = new MarkdownProcessor_1.MarkdownProcessor([new BlockquoteProcessor_1.BlockquoteProcessor()]).process(markdown);
16
- (0, vitest_1.expect)(html)
13
+ const html = new MarkdownProcessor([new BlockquoteProcessor()]).process(markdown);
14
+ expect(html)
17
15
  .toBe('<blockquote class="blockquote-warning"><strong>Warning:</strong>Critical content demanding immediate user attention.</blockquote>');
18
16
  });
19
- (0, vitest_1.it)('should render a blockquote with [!DANGER] syntax', () => {
17
+ it('should render a blockquote with [!DANGER] syntax', () => {
20
18
  const markdown = '> [!DANGER]\n> Severe warnings for users.';
21
- const html = new MarkdownProcessor_1.MarkdownProcessor([new BlockquoteProcessor_1.BlockquoteProcessor()]).process(markdown);
22
- (0, vitest_1.expect)(html)
19
+ const html = new MarkdownProcessor([new BlockquoteProcessor()]).process(markdown);
20
+ expect(html)
23
21
  .toBe('<blockquote class="blockquote-danger"><strong>Danger:</strong>Severe warnings for users.</blockquote>');
24
22
  });
25
- (0, vitest_1.it)('should render a blockquote with [!SUCCESS] syntax', () => {
23
+ it('should render a blockquote with [!SUCCESS] syntax', () => {
26
24
  const markdown = '> [!SUCCESS]\n> Optional information for successful actions.';
27
- const html = new MarkdownProcessor_1.MarkdownProcessor([new BlockquoteProcessor_1.BlockquoteProcessor()]).process(markdown);
28
- (0, vitest_1.expect)(html)
25
+ const html = new MarkdownProcessor([new BlockquoteProcessor()]).process(markdown);
26
+ expect(html)
29
27
  .toBe('<blockquote class="blockquote-success"><strong>Success:</strong>Optional information for successful actions.</blockquote>');
30
28
  });
31
- (0, vitest_1.it)('should render a default blockquote when no type is specified', () => {
29
+ it('should render a default blockquote when no type is specified', () => {
32
30
  const markdown = '> This is a default blockquote with no headline.';
33
- const html = new MarkdownProcessor_1.MarkdownProcessor([new BlockquoteProcessor_1.BlockquoteProcessor()]).process(markdown);
34
- (0, vitest_1.expect)(html)
31
+ const html = new MarkdownProcessor([new BlockquoteProcessor()]).process(markdown);
32
+ expect(html)
35
33
  .toBe('<blockquote>This is a default blockquote with no headline.</blockquote>');
36
34
  });
37
35
  });
@@ -1 +1 @@
1
- {"version":3,"file":"BlockquoteProcessor.Test.js","sourceRoot":"","sources":["../../../src/Process/Processors/BlockquoteProcessor.Test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,+DAA4D;AAC5D,4DAAyD;AAEzD,IAAA,iBAAQ,EAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,IAAA,WAAE,EAAC,gDAAgD,EAAE,GAAG,EAAE;QACtD,MAAM,QAAQ,GAAG,0EAA0E,CAAC;QAC5F,MAAM,IAAI,GAAG,IAAI,qCAAiB,CAAC,CAAC,IAAI,yCAAmB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAElF,IAAA,eAAM,EAAC,IAAI,CAAC;aACP,IAAI,CAAC,oIAAoI,CAAC,CAAC;IACpJ,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,mDAAmD,EAAE,GAAG,EAAE;QACzD,MAAM,QAAQ,GAAG,sEAAsE,CAAC;QACxF,MAAM,IAAI,GAAG,IAAI,qCAAiB,CAAC,CAAC,IAAI,yCAAmB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAElF,IAAA,eAAM,EAAC,IAAI,CAAC;aACP,IAAI,CAAC,mIAAmI,CAAC,CAAC;IACnJ,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,kDAAkD,EAAE,GAAG,EAAE;QACxD,MAAM,QAAQ,GAAG,2CAA2C,CAAC;QAC7D,MAAM,IAAI,GAAG,IAAI,qCAAiB,CAAC,CAAC,IAAI,yCAAmB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAElF,IAAA,eAAM,EAAC,IAAI,CAAC;aACP,IAAI,CAAC,uGAAuG,CAAC,CAAC;IACvH,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,mDAAmD,EAAE,GAAG,EAAE;QACzD,MAAM,QAAQ,GAAG,8DAA8D,CAAC;QAChF,MAAM,IAAI,GAAG,IAAI,qCAAiB,CAAC,CAAC,IAAI,yCAAmB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAElF,IAAA,eAAM,EAAC,IAAI,CAAC;aACP,IAAI,CAAC,2HAA2H,CAAC,CAAC;IAC3I,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,8DAA8D,EAAE,GAAG,EAAE;QACpE,MAAM,QAAQ,GAAG,kDAAkD,CAAC;QACpE,MAAM,IAAI,GAAG,IAAI,qCAAiB,CAAC,CAAC,IAAI,yCAAmB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAElF,IAAA,eAAM,EAAC,IAAI,CAAC;aACP,IAAI,CAAC,yEAAyE,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"BlockquoteProcessor.Test.js","sourceRoot":"","sources":["../../../src/Process/Processors/BlockquoteProcessor.Test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACtD,MAAM,QAAQ,GAAG,0EAA0E,CAAC;QAC5F,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAElF,MAAM,CAAC,IAAI,CAAC;aACP,IAAI,CAAC,oIAAoI,CAAC,CAAC;IACpJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QACzD,MAAM,QAAQ,GAAG,sEAAsE,CAAC;QACxF,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAElF,MAAM,CAAC,IAAI,CAAC;aACP,IAAI,CAAC,mIAAmI,CAAC,CAAC;IACnJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QACxD,MAAM,QAAQ,GAAG,2CAA2C,CAAC;QAC7D,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAElF,MAAM,CAAC,IAAI,CAAC;aACP,IAAI,CAAC,uGAAuG,CAAC,CAAC;IACvH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QACzD,MAAM,QAAQ,GAAG,8DAA8D,CAAC;QAChF,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAElF,MAAM,CAAC,IAAI,CAAC;aACP,IAAI,CAAC,2HAA2H,CAAC,CAAC;IAC3I,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACpE,MAAM,QAAQ,GAAG,kDAAkD,CAAC;QACpE,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAElF,MAAM,CAAC,IAAI,CAAC;aACP,IAAI,CAAC,yEAAyE,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,19 +1,25 @@
1
1
  import { BaseProcessor } from './Abstracts/BaseProcessor.js';
2
- import type { MarkedExtension, Tokens } from 'marked';
2
+ import type { Tokens, TokenizerAndRendererExtension } from 'marked';
3
3
  /**
4
- * Processor for custom blockquotes supporting `[!TYPE]` syntax.
4
+ * A processor that transforms blockquotes using the `[!TYPE]` syntax into styled callouts.
5
5
  *
6
- * Supported types: `info`, `warning`, `danger`, `success`
6
+ * Supported types: `info`, `warning`, `danger`, `success`. Fallback: `default`.
7
7
  *
8
8
  * @example
9
+ * ```markdown
9
10
  * > [!INFO]
10
- * > Highlights information that users should take into account.
11
+ * > This is an informational message.
11
12
  *
12
- * > [!WARNING]
13
- * > Critical content demanding immediate user attention.
13
+ * > [!WARNING] Pay attention!
14
+ * > Critical instructions follow.
15
+ *
16
+ * > Just a normal blockquote.
17
+ * ```
18
+ *
19
+ * @public
14
20
  */
15
21
  export declare class BlockquoteProcessor extends BaseProcessor {
22
+ get extension(): TokenizerAndRendererExtension;
16
23
  walkTokens(token: Tokens.Generic): void;
17
- get extensions(): MarkedExtension['extensions'];
18
24
  }
19
25
  //# sourceMappingURL=BlockquoteProcessor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockquoteProcessor.d.ts","sourceRoot":"","sources":["../../../src/Process/Processors/BlockquoteProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,EAAE,MAAM,QAAQ,CAAC;AASpE;;;;;;;;;;;GAWG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IAElC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI;IAgCvD,IAAoB,UAAU,IAAI,eAAe,CAAC,YAAY,CAAC,CAc9D;CAEJ"}
1
+ {"version":3,"file":"BlockquoteProcessor.d.ts","sourceRoot":"","sources":["../../../src/Process/Processors/BlockquoteProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAgB,6BAA6B,EAAE,MAAM,QAAQ,CAAC;AAgBlF;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IAElD,IAAoB,SAAS,IAAI,6BAA6B,CAQ7D;IAEe,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI;CAQ1D"}
@@ -1,61 +1,67 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BlockquoteProcessor = void 0;
4
- const BaseProcessor_js_1 = require("./Abstracts/BaseProcessor.js");
5
- const Utils_js_1 = require("./Utils.js");
1
+ import { BaseProcessor } from './Abstracts/BaseProcessor.js';
2
+ const KNOWN_VARIANTS = new Set([
3
+ 'primary', 'secondary', 'tertiary', 'info', 'warning', 'danger', 'error', 'success', 'highlight', 'neutral'
4
+ ]);
6
5
  /**
7
- * Processor for custom blockquotes supporting `[!TYPE]` syntax.
6
+ * A processor that transforms blockquotes using the `[!TYPE]` syntax into styled callouts.
8
7
  *
9
- * Supported types: `info`, `warning`, `danger`, `success`
8
+ * Supported types: `info`, `warning`, `danger`, `success`. Fallback: `default`.
10
9
  *
11
10
  * @example
11
+ * ```markdown
12
12
  * > [!INFO]
13
- * > Highlights information that users should take into account.
13
+ * > This is an informational message.
14
14
  *
15
- * > [!WARNING]
16
- * > Critical content demanding immediate user attention.
15
+ * > [!WARNING] Pay attention!
16
+ * > Critical instructions follow.
17
+ *
18
+ * > Just a normal blockquote.
19
+ * ```
20
+ *
21
+ * @public
17
22
  */
18
- class BlockquoteProcessor extends BaseProcessor_js_1.BaseProcessor {
23
+ export class BlockquoteProcessor extends BaseProcessor {
24
+ get extension() {
25
+ return {
26
+ name: 'blockquote',
27
+ level: 'block',
28
+ renderer(token) {
29
+ return BlockquoteRenderer.render(token);
30
+ }
31
+ };
32
+ }
19
33
  walkTokens(token) {
20
34
  if (token.type !== 'blockquote') {
21
35
  return;
22
36
  }
37
+ BlockquoteTokenizer.enrich(token);
38
+ }
39
+ }
40
+ class BlockquoteTokenizer {
41
+ static enrich(token) {
23
42
  const text = token.text.trim();
24
- // Match the new `[!TYPE]` syntax
25
- const match = (/^\[!(INFO|WARNING|DANGER|SUCCESS)\]\s*(.*)$/i).exec(text);
43
+ const match = (/^\[!(PRIMARY|SECONDARY|TERTIARY|INFO|WARNING|DANGER|ERROR|SUCCESS|HIGHLIGHT|NEUTRAL)\]\s*(.*)$/i).exec(text);
26
44
  if (match) {
27
- const type = match[1].toLowerCase();
45
+ const variant = match[1].toLowerCase();
28
46
  const content = match[2].trim();
29
- Utils_js_1.TokenUtils.setTokenMeta(token, {
30
- className: `blockquote-${type}`,
31
- type: type,
32
- content: content
33
- });
34
- return;
47
+ token.variant = KNOWN_VARIANTS.has(variant)
48
+ ? variant
49
+ : 'neutral';
50
+ token.content = content;
51
+ }
52
+ else {
53
+ token.variant = 'neutral';
54
+ token.content = text;
35
55
  }
36
- // If no valid `[!TYPE]` is detected, treat as default blockquote
37
- Object.assign(token, {
38
- meta: {
39
- className: 'blockquote-default',
40
- type: 'default',
41
- content: text
42
- }
43
- });
44
56
  }
45
- get extensions() {
46
- return [
47
- {
48
- name: 'blockquote',
49
- level: 'block',
50
- renderer(token) {
51
- const meta = Utils_js_1.TokenUtils.getTokenMeta(token);
52
- return ['info', 'warning', 'danger', 'success'].includes(meta.type)
53
- ? `<blockquote class="${meta.className}"><strong>${meta.type.charAt(0).toUpperCase() + meta.type.slice(1)}:</strong>${meta.content}</blockquote>`
54
- : `<blockquote>${meta.content}</blockquote>`;
55
- }
56
- }
57
- ];
57
+ }
58
+ class BlockquoteRenderer {
59
+ static render(token) {
60
+ const variantClass = `class="blockquote ${token.variant}"`;
61
+ const label = token.variant !== 'neutral'
62
+ ? `<strong>${token.variant.charAt(0).toUpperCase() + token.variant.slice(1)}:</strong> `
63
+ : '';
64
+ return `<blockquote${variantClass}>${label}${token.content}</blockquote>`;
58
65
  }
59
66
  }
60
- exports.BlockquoteProcessor = BlockquoteProcessor;
61
67
  //# sourceMappingURL=BlockquoteProcessor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockquoteProcessor.js","sourceRoot":"","sources":["../../../src/Process/Processors/BlockquoteProcessor.ts"],"names":[],"mappings":";;;AAAA,mEAA6D;AAE7D,yCAAwC;AAQxC;;;;;;;;;;;GAWG;AACH,MAAa,mBAAoB,SAAQ,gCAAa;IAElC,UAAU,CAAC,KAAqB;QAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC9B,OAAO;QACX,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAE/B,iCAAiC;QACjC,MAAM,KAAK,GAAG,CAAC,8CAA8C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1E,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAA+C,CAAC;YACjF,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAEhC,qBAAU,CAAC,YAAY,CAAkB,KAAK,EAAE;gBAC5C,SAAS,EAAE,cAAc,IAAI,EAAE;gBAC/B,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,OAAO;aACnB,CAAC,CAAC;YAEH,OAAO;QACX,CAAC;QAED,iEAAiE;QACjE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;YACjB,IAAI,EAAE;gBACF,SAAS,EAAE,oBAAoB;gBAC/B,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;aAChB;SACJ,CAAC,CAAC;IACP,CAAC;IAED,IAAoB,UAAU;QAC1B,OAAO;YACH;gBACI,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,OAAO;gBACd,QAAQ,CAAqB,KAAqB;oBAC9C,MAAM,IAAI,GAAG,qBAAU,CAAC,YAAY,CAAkB,KAAK,CAAC,CAAC;oBAE7D,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAW,CAAC;wBACtE,CAAC,CAAC,sBAAsB,IAAI,CAAC,SAAS,aAAa,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,OAAO,eAAe;wBACjJ,CAAC,CAAC,eAAe,IAAI,CAAC,OAAO,eAAe,CAAC;gBACrD,CAAC;aACJ;SACJ,CAAC;IACN,CAAC;CAEJ;AAlDD,kDAkDC"}
1
+ {"version":3,"file":"BlockquoteProcessor.js","sourceRoot":"","sources":["../../../src/Process/Processors/BlockquoteProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAK7D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAoB;IAC9C,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS;CAC9G,CAAC,CAAC;AAUH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IAElD,IAAoB,SAAS;QACzB,OAAO;YACH,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,OAAO;YACd,QAAQ,CAAqB,KAAqB;gBAC9C,OAAO,kBAAkB,CAAC,MAAM,CAAC,KAAyB,CAAC,CAAC;YAChE,CAAC;SACJ,CAAC;IACN,CAAC;IAEe,UAAU,CAAC,KAAqB;QAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC9B,OAAO;QACX,CAAC;QAED,mBAAmB,CAAC,MAAM,CAAC,KAAyB,CAAC,CAAC;IAC1D,CAAC;CAEJ;AAED,MAAM,mBAAmB;IAEd,MAAM,CAAC,MAAM,CAAC,KAAuB;QACxC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,CAAC,iGAAiG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7H,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAuB,CAAC;YAC5D,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAEhC,KAAK,CAAC,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;gBACvC,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,SAAS,CAAC;YAChB,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC5B,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;YAC1B,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,CAAC;IACL,CAAC;CAEJ;AAED,MAAM,kBAAkB;IAEb,MAAM,CAAC,MAAM,CAAC,KAAuB;QACxC,MAAM,YAAY,GAAG,qBAAqB,KAAK,CAAC,OAAO,GAAG,CAAC;QAC3D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,KAAK,SAAS;YACrC,CAAC,CAAC,WAAW,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa;YACxF,CAAC,CAAC,EAAE,CAAC;QAET,OAAO,cAAc,YAAY,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,eAAe,CAAC;IAC9E,CAAC;CAEJ"}
@@ -1,10 +1,29 @@
1
1
  import { BaseProcessor } from './Abstracts/BaseProcessor.js';
2
- import type { MarkedExtension, Tokens } from 'marked';
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
+ }
3
11
  /**
4
- * Processor for custom callouts with types (info, warning, tip).
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
5
24
  */
6
25
  export declare class CalloutProcessor extends BaseProcessor {
7
- walkTokens(token: Tokens.Generic): void;
8
- get extensions(): MarkedExtension['extensions'];
26
+ get extension(): TokenizerAndRendererExtension;
9
27
  }
28
+ export {};
10
29
  //# sourceMappingURL=CalloutProcessor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CalloutProcessor.d.ts","sourceRoot":"","sources":["../../../src/Process/Processors/CalloutProcessor.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,gBAAiB,SAAQ,aAAa;IAE/B,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI;IAuBvD,IAAoB,UAAU,IAAI,eAAe,CAAC,YAAY,CAAC,CAa9D;CAEJ"}
1
+ {"version":3,"file":"CalloutProcessor.d.ts","sourceRoot":"","sources":["../../../src/Process/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"}