@the_dissidents/libemmm 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -3
- package/dist/index.d.mts +23 -2
- package/dist/index.d.ts +23 -2
- package/dist/index.js +157 -33
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +157 -33
- package/dist/index.mjs.map +1 -1
- package/dist/src/builtin/builtin.d.ts +2 -0
- package/dist/src/builtin/builtin.js +18 -0
- package/dist/src/builtin/builtin.js.map +1 -0
- package/dist/src/builtin/define-modifier.d.ts +12 -0
- package/dist/src/builtin/define-modifier.js +129 -0
- package/dist/src/builtin/define-modifier.js.map +1 -0
- package/dist/src/builtin/define-shorthand.d.ts +14 -0
- package/dist/src/builtin/define-shorthand.js +178 -0
- package/dist/src/builtin/define-shorthand.js.map +1 -0
- package/dist/src/builtin/internal.d.ts +41 -0
- package/dist/src/builtin/internal.js +106 -0
- package/dist/src/builtin/internal.js.map +1 -0
- package/dist/src/builtin/module.d.ts +16 -0
- package/dist/src/builtin/module.js +156 -0
- package/dist/src/builtin/module.js.map +1 -0
- package/dist/src/builtin/slot.d.ts +7 -0
- package/dist/src/builtin/slot.js +136 -0
- package/dist/src/builtin/slot.js.map +1 -0
- package/dist/src/builtin/var.d.ts +12 -0
- package/dist/src/builtin/var.js +103 -0
- package/dist/src/builtin/var.js.map +1 -0
- package/dist/src/debug-print.d.ts +14 -0
- package/dist/src/debug-print.js +113 -0
- package/dist/src/debug-print.js.map +1 -0
- package/dist/src/debug.d.ts +15 -0
- package/dist/src/debug.js +47 -0
- package/dist/src/debug.js.map +1 -0
- package/dist/src/default/bullets.d.ts +4 -0
- package/dist/src/default/bullets.js +39 -0
- package/dist/src/default/bullets.js.map +1 -0
- package/dist/src/default/code.d.ts +6 -0
- package/dist/src/default/code.js +13 -0
- package/dist/src/default/code.js.map +1 -0
- package/dist/src/default/default.d.ts +2 -0
- package/dist/src/default/default.js +20 -0
- package/dist/src/default/default.js.map +1 -0
- package/dist/src/default/headings.d.ts +20 -0
- package/dist/src/default/headings.js +125 -0
- package/dist/src/default/headings.js.map +1 -0
- package/dist/src/default/html-renderer.d.ts +26 -0
- package/dist/src/default/html-renderer.js +108 -0
- package/dist/src/default/html-renderer.js.map +1 -0
- package/dist/src/default/inline-styles.d.ts +4 -0
- package/dist/src/default/inline-styles.js +24 -0
- package/dist/src/default/inline-styles.js.map +1 -0
- package/dist/src/default/misc.d.ts +6 -0
- package/dist/src/default/misc.js +112 -0
- package/dist/src/default/misc.js.map +1 -0
- package/dist/src/default/notes.d.ts +28 -0
- package/dist/src/default/notes.js +109 -0
- package/dist/src/default/notes.js.map +1 -0
- package/dist/src/default/quotes.d.ts +4 -0
- package/dist/src/default/quotes.js +36 -0
- package/dist/src/default/quotes.js.map +1 -0
- package/dist/src/default/vars.d.ts +2 -0
- package/dist/src/default/vars.js +39 -0
- package/dist/src/default/vars.js.map +1 -0
- package/dist/src/index.d.ts +13 -0
- package/dist/src/index.js +58 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/interface.d.ts +174 -0
- package/dist/src/interface.js +93 -0
- package/dist/src/interface.js.map +1 -0
- package/dist/src/messages.d.ts +165 -0
- package/dist/src/messages.js +279 -0
- package/dist/src/messages.js.map +1 -0
- package/dist/src/modifier-helper.d.ts +6 -0
- package/dist/src/modifier-helper.js +113 -0
- package/dist/src/modifier-helper.js.map +1 -0
- package/dist/src/parser-config.d.ts +44 -0
- package/dist/src/parser-config.js +67 -0
- package/dist/src/parser-config.js.map +1 -0
- package/dist/src/parser.d.ts +3 -0
- package/dist/src/parser.js +652 -0
- package/dist/src/parser.js.map +1 -0
- package/dist/src/renderer.d.ts +49 -0
- package/dist/src/renderer.js +81 -0
- package/dist/src/renderer.js.map +1 -0
- package/dist/src/scanner.d.ts +22 -0
- package/dist/src/scanner.js +50 -0
- package/dist/src/scanner.js.map +1 -0
- package/dist/src/temp.d.ts +1 -0
- package/dist/src/temp.js +108 -0
- package/dist/src/temp.js.map +1 -0
- package/dist/src/typing-helper.d.ts +7 -0
- package/dist/src/typing-helper.js +3 -0
- package/dist/src/typing-helper.js.map +1 -0
- package/dist/src/util.d.ts +29 -0
- package/dist/src/util.js +177 -0
- package/dist/src/util.js.map +1 -0
- package/dist/tests/advanced_syntax.test.d.ts +1 -0
- package/dist/tests/advanced_syntax.test.js +180 -0
- package/dist/tests/advanced_syntax.test.js.map +1 -0
- package/dist/tests/basic_syntax.test.d.ts +1 -0
- package/dist/tests/basic_syntax.test.js +431 -0
- package/dist/tests/basic_syntax.test.js.map +1 -0
- package/dist/tests/default/headings.test.d.ts +1 -0
- package/dist/tests/default/headings.test.js +90 -0
- package/dist/tests/default/headings.test.js.map +1 -0
- package/dist/tests/define_block.test.d.ts +1 -0
- package/dist/tests/define_block.test.js +209 -0
- package/dist/tests/define_block.test.js.map +1 -0
- package/dist/tests/define_inline.test.d.ts +1 -0
- package/dist/tests/define_inline.test.js +289 -0
- package/dist/tests/define_inline.test.js.map +1 -0
- package/dist/tests/modules.test.d.ts +1 -0
- package/dist/tests/modules.test.js +137 -0
- package/dist/tests/modules.test.js.map +1 -0
- package/dist/tests/shorthands.test.d.ts +1 -0
- package/dist/tests/shorthands.test.js +79 -0
- package/dist/tests/shorthands.test.js.map +1 -0
- package/dist/tsup.config.d.ts +2 -0
- package/dist/tsup.config.js +12 -0
- package/dist/tsup.config.js.map +1 -0
- package/dist/vitest.config.d.ts +2 -0
- package/dist/vitest.config.js +17 -0
- package/dist/vitest.config.js.map +1 -0
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -36,11 +36,21 @@ var ModifierBase = class {
|
|
|
36
36
|
if (args) Object.assign(this, args);
|
|
37
37
|
}
|
|
38
38
|
roleHint;
|
|
39
|
+
/**
|
|
40
|
+
* If true, any modifier encountered in the content of it will *not* be expanded, *unless* that modifier is `alwaysTryExpand`.
|
|
41
|
+
*/
|
|
39
42
|
delayContentExpansion = false;
|
|
43
|
+
/**
|
|
44
|
+
* If true, such a modifier will always be expanded whenever it is encountered, *even if* contained in a modifier with `delayContentExpansion`.
|
|
45
|
+
*/
|
|
40
46
|
alwaysTryExpand = false;
|
|
47
|
+
/** Called before the modifier's content is parsed. */
|
|
41
48
|
beforeParseContent;
|
|
49
|
+
/** Called after the modifier's content is parsed. */
|
|
42
50
|
afterParseContent;
|
|
51
|
+
/** Called before reparsing of the expansion. */
|
|
43
52
|
beforeProcessExpansion;
|
|
53
|
+
/** Called before reparsing of the expansion. */
|
|
44
54
|
afterProcessExpansion;
|
|
45
55
|
prepareExpand;
|
|
46
56
|
expand;
|
|
@@ -425,6 +435,7 @@ __export(messages_exports, {
|
|
|
425
435
|
NoNestedModuleMessage: () => NoNestedModuleMessage,
|
|
426
436
|
OnlySimpleParagraphsPermittedMessage: () => OnlySimpleParagraphsPermittedMessage,
|
|
427
437
|
OverwriteDefinitionsMessage: () => OverwriteDefinitionsMessage,
|
|
438
|
+
OverwriteSpecialVariableMessage: () => OverwriteSpecialVariableMessage,
|
|
428
439
|
ReachedRecursionLimitMessage: () => ReachedRecursionLimitMessage,
|
|
429
440
|
SlotUsedOutsideDefinitionMessage: () => SlotUsedOutsideDefinitionMessage,
|
|
430
441
|
UnclosedInlineModifierMessage: () => UnclosedInlineModifierMessage,
|
|
@@ -705,6 +716,18 @@ var OverwriteDefinitionsMessage = class {
|
|
|
705
716
|
return `using this module will overwrite: ${this.what}`;
|
|
706
717
|
}
|
|
707
718
|
};
|
|
719
|
+
var OverwriteSpecialVariableMessage = class {
|
|
720
|
+
constructor(location, varname, previous) {
|
|
721
|
+
this.location = location;
|
|
722
|
+
this.varname = varname;
|
|
723
|
+
this.previous = previous;
|
|
724
|
+
}
|
|
725
|
+
code = 6;
|
|
726
|
+
severity = 1 /* Warning */;
|
|
727
|
+
get info() {
|
|
728
|
+
return `${this.varname} is already defined (as "${this.previous}"), will be overwritten`;
|
|
729
|
+
}
|
|
730
|
+
};
|
|
708
731
|
|
|
709
732
|
// src/parser-config.ts
|
|
710
733
|
var ParseContext = class {
|
|
@@ -2395,30 +2418,79 @@ var BulletBlockRenderersHTML = [
|
|
|
2395
2418
|
];
|
|
2396
2419
|
|
|
2397
2420
|
// src/default/headings.ts
|
|
2421
|
+
var headings = Symbol();
|
|
2422
|
+
function initHeadings(cxt) {
|
|
2423
|
+
cxt.init(headings, {
|
|
2424
|
+
path: []
|
|
2425
|
+
});
|
|
2426
|
+
}
|
|
2427
|
+
function setHeading(cxt, data) {
|
|
2428
|
+
const path = cxt.get(headings).path;
|
|
2429
|
+
while (path.length > 0 && path.at(-1).level >= data.level)
|
|
2430
|
+
path.pop();
|
|
2431
|
+
path.push(data);
|
|
2432
|
+
return [];
|
|
2433
|
+
}
|
|
2434
|
+
function currentHeadingLevel(cxt) {
|
|
2435
|
+
return cxt.get(headings).path.at(-1)?.level;
|
|
2436
|
+
}
|
|
2437
|
+
function currentExplicitHeadingLevel(cxt) {
|
|
2438
|
+
return cxt.get(headings).path.findLast((x) => !x.implicit)?.level;
|
|
2439
|
+
}
|
|
2398
2440
|
var headingBlock = new BlockModifierDefinition(
|
|
2399
2441
|
"heading",
|
|
2400
2442
|
0 /* Normal */,
|
|
2401
2443
|
{
|
|
2402
2444
|
delayContentExpansion: true,
|
|
2403
2445
|
roleHint: "heading",
|
|
2404
|
-
|
|
2446
|
+
beforeParseContent(node, cxt) {
|
|
2405
2447
|
let msgs = checkArguments(node, 0, 1);
|
|
2406
2448
|
if (msgs) return msgs;
|
|
2407
2449
|
msgs = onlyPermitSingleBlock(node);
|
|
2408
2450
|
if (msgs) return msgs;
|
|
2409
2451
|
msgs = onlyPermitSimpleParagraphs(node);
|
|
2410
2452
|
if (msgs) return msgs;
|
|
2453
|
+
node.state = { name: void 0, level: currentHeadingLevel(cxt) ?? 1 };
|
|
2411
2454
|
if (node.arguments.length == 1) {
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
if (isNaN(
|
|
2415
|
-
new InvalidArgumentMessage(
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
node.state =
|
|
2455
|
+
const arg = node.arguments[0];
|
|
2456
|
+
const level = Number.parseInt(arg.expansion);
|
|
2457
|
+
if (isNaN(level) || level < 1 || level > 6)
|
|
2458
|
+
msgs = [new InvalidArgumentMessage(
|
|
2459
|
+
arg.location,
|
|
2460
|
+
"should be a number between 1 and 6"
|
|
2461
|
+
)];
|
|
2462
|
+
else node.state.level = level;
|
|
2420
2463
|
}
|
|
2421
|
-
|
|
2464
|
+
setHeading(cxt, node.state);
|
|
2465
|
+
return msgs ?? [];
|
|
2466
|
+
}
|
|
2467
|
+
}
|
|
2468
|
+
);
|
|
2469
|
+
var implicitHeadingBlock = new BlockModifierDefinition(
|
|
2470
|
+
"implicit-heading",
|
|
2471
|
+
2 /* None */,
|
|
2472
|
+
{
|
|
2473
|
+
roleHint: "heading",
|
|
2474
|
+
beforeParseContent(node, cxt) {
|
|
2475
|
+
let msgs = checkArguments(node, 0, 1);
|
|
2476
|
+
if (msgs) return msgs;
|
|
2477
|
+
node.state = {
|
|
2478
|
+
name: void 0,
|
|
2479
|
+
implicit: true,
|
|
2480
|
+
level: (currentExplicitHeadingLevel(cxt) ?? 0) + 1
|
|
2481
|
+
};
|
|
2482
|
+
if (node.arguments.length == 1) {
|
|
2483
|
+
const arg = node.arguments[0];
|
|
2484
|
+
const level = Number.parseInt(arg.expansion);
|
|
2485
|
+
if (isNaN(level) || level < 1 || level > 6)
|
|
2486
|
+
msgs = [new InvalidArgumentMessage(
|
|
2487
|
+
arg.location,
|
|
2488
|
+
"should be a number between 1 and 6"
|
|
2489
|
+
)];
|
|
2490
|
+
else node.state.level = level;
|
|
2491
|
+
}
|
|
2492
|
+
setHeading(cxt, node.state);
|
|
2493
|
+
return msgs ?? [];
|
|
2422
2494
|
}
|
|
2423
2495
|
}
|
|
2424
2496
|
);
|
|
@@ -2428,41 +2500,49 @@ var numberedHeadingBlock = new BlockModifierDefinition(
|
|
|
2428
2500
|
{
|
|
2429
2501
|
delayContentExpansion: true,
|
|
2430
2502
|
roleHint: "heading",
|
|
2431
|
-
|
|
2503
|
+
beforeParseContent(node, cxt) {
|
|
2432
2504
|
let msgs = checkArguments(node, 1);
|
|
2433
2505
|
if (msgs) return msgs;
|
|
2434
2506
|
msgs = onlyPermitSingleBlock(node);
|
|
2435
2507
|
if (msgs) return msgs;
|
|
2436
2508
|
msgs = onlyPermitSimpleParagraphs(node);
|
|
2437
2509
|
if (msgs) return msgs;
|
|
2438
|
-
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
|
|
2445
|
-
|
|
2510
|
+
node.state = { name: void 0, level: currentHeadingLevel(cxt) ?? 1 };
|
|
2511
|
+
const arg = node.arguments[0];
|
|
2512
|
+
const split = arg.expansion.trim().split(".").filter((x) => x.length > 0);
|
|
2513
|
+
if (split.length == 0 || split.length > 6)
|
|
2514
|
+
msgs = [new InvalidArgumentMessage(
|
|
2515
|
+
arg.location,
|
|
2516
|
+
"should be a number between 1 and 6"
|
|
2517
|
+
)];
|
|
2518
|
+
else node.state = { name: split.join("."), level: split.length };
|
|
2519
|
+
setHeading(cxt, node.state);
|
|
2520
|
+
return msgs ?? [];
|
|
2446
2521
|
}
|
|
2447
2522
|
}
|
|
2448
2523
|
);
|
|
2449
|
-
var HeadingBlocks = [headingBlock, numberedHeadingBlock];
|
|
2524
|
+
var HeadingBlocks = [headingBlock, implicitHeadingBlock, numberedHeadingBlock];
|
|
2450
2525
|
var HeadingBlockRenderersHTML = [
|
|
2451
2526
|
[headingBlock, (node, cxt) => {
|
|
2452
2527
|
if (node.state !== void 0) {
|
|
2453
|
-
|
|
2454
|
-
let tag = "h" + node.state;
|
|
2528
|
+
let tag = "h" + node.state.level;
|
|
2455
2529
|
let para = node.content[0];
|
|
2456
2530
|
return `<${tag}>${cxt.state.render(para.content, cxt)}</${tag}>`;
|
|
2457
2531
|
}
|
|
2458
2532
|
return cxt.state.invalidBlock(node, "Bad format");
|
|
2459
2533
|
}],
|
|
2534
|
+
[implicitHeadingBlock, (node, cxt) => {
|
|
2535
|
+
if (node.state !== void 0) {
|
|
2536
|
+
let tag = "h" + node.state.level;
|
|
2537
|
+
return `<${tag} class='implicit'></${tag}>`;
|
|
2538
|
+
}
|
|
2539
|
+
return cxt.state.invalidBlock(node, "Bad format");
|
|
2540
|
+
}],
|
|
2460
2541
|
[numberedHeadingBlock, (node, cxt) => {
|
|
2461
2542
|
if (node.state !== void 0) {
|
|
2462
|
-
|
|
2463
|
-
let tag = "h" + node.state.length;
|
|
2543
|
+
let tag = "h" + node.state.level;
|
|
2464
2544
|
let para = node.content[0];
|
|
2465
|
-
return `<${tag}><span class='heading-number'>${node.state.
|
|
2545
|
+
return `<${tag}><span class='heading-number'>${node.state.name}</span>${cxt.state.render(para.content, cxt)}</${tag}>`;
|
|
2466
2546
|
}
|
|
2467
2547
|
return cxt.state.invalidBlock(node, "Bad format");
|
|
2468
2548
|
}]
|
|
@@ -2701,6 +2781,35 @@ var linkInline = new InlineModifierDefinition(
|
|
|
2701
2781
|
}
|
|
2702
2782
|
}
|
|
2703
2783
|
);
|
|
2784
|
+
var styleBlock = new BlockModifierDefinition(
|
|
2785
|
+
"style",
|
|
2786
|
+
0 /* Normal */,
|
|
2787
|
+
{
|
|
2788
|
+
prepareExpand(node) {
|
|
2789
|
+
let msgs = checkArguments(node, 1);
|
|
2790
|
+
if (msgs) return msgs;
|
|
2791
|
+
node.state = node.arguments[0].expansion;
|
|
2792
|
+
return [];
|
|
2793
|
+
}
|
|
2794
|
+
}
|
|
2795
|
+
);
|
|
2796
|
+
var breakBlock = new BlockModifierDefinition(
|
|
2797
|
+
"break",
|
|
2798
|
+
2 /* None */
|
|
2799
|
+
);
|
|
2800
|
+
var linkBlock = new BlockModifierDefinition(
|
|
2801
|
+
"link",
|
|
2802
|
+
0 /* Normal */,
|
|
2803
|
+
{
|
|
2804
|
+
roleHint: "link",
|
|
2805
|
+
prepareExpand(node) {
|
|
2806
|
+
let msgs = checkArguments(node, 1);
|
|
2807
|
+
if (msgs) return msgs;
|
|
2808
|
+
node.state = node.arguments[0].expansion;
|
|
2809
|
+
return [];
|
|
2810
|
+
}
|
|
2811
|
+
}
|
|
2812
|
+
);
|
|
2704
2813
|
var imageBlock = new BlockModifierDefinition(
|
|
2705
2814
|
"image",
|
|
2706
2815
|
0 /* Normal */,
|
|
@@ -2713,14 +2822,13 @@ var imageBlock = new BlockModifierDefinition(
|
|
|
2713
2822
|
if (msgs) return msgs;
|
|
2714
2823
|
msgs = onlyPermitSimpleParagraphs(node);
|
|
2715
2824
|
if (msgs) return msgs;
|
|
2716
|
-
|
|
2717
|
-
if (url) node.state = url;
|
|
2825
|
+
node.state = node.arguments.map((x) => x.expansion).join(":");
|
|
2718
2826
|
return [];
|
|
2719
2827
|
}
|
|
2720
2828
|
}
|
|
2721
2829
|
);
|
|
2722
2830
|
var MiscInlines = [rubyInline, linkInline];
|
|
2723
|
-
var MiscBlocks = [imageBlock];
|
|
2831
|
+
var MiscBlocks = [styleBlock, breakBlock, linkBlock, imageBlock];
|
|
2724
2832
|
var MiscInlineRenderersHTML = [
|
|
2725
2833
|
[rubyInline, (node, cxt) => {
|
|
2726
2834
|
if (node.state === void 0)
|
|
@@ -2734,6 +2842,19 @@ var MiscInlineRenderersHTML = [
|
|
|
2734
2842
|
}]
|
|
2735
2843
|
];
|
|
2736
2844
|
var MiscBlockRenderersHTML = [
|
|
2845
|
+
[styleBlock, (node, cxt) => {
|
|
2846
|
+
if (node.state === void 0)
|
|
2847
|
+
return cxt.state.invalidBlock(node, "bad format");
|
|
2848
|
+
return `<div class="${node.state}" style="display:contents">${cxt.state.render(node.content, cxt)}</div>`;
|
|
2849
|
+
}],
|
|
2850
|
+
[breakBlock, () => {
|
|
2851
|
+
return `<hr>`;
|
|
2852
|
+
}],
|
|
2853
|
+
[linkBlock, (node, cxt) => {
|
|
2854
|
+
if (node.state === void 0)
|
|
2855
|
+
return cxt.state.invalidBlock(node, "bad format");
|
|
2856
|
+
return `<a href="${encodeURI(node.state)}">${cxt.state.render(node.content, cxt)}</a>`;
|
|
2857
|
+
}],
|
|
2737
2858
|
[imageBlock, (node, cxt) => {
|
|
2738
2859
|
let transformed;
|
|
2739
2860
|
if (node.state === void 0)
|
|
@@ -2741,9 +2862,9 @@ var MiscBlockRenderersHTML = [
|
|
|
2741
2862
|
try {
|
|
2742
2863
|
transformed = cxt.config.options.transformAsset(node.state);
|
|
2743
2864
|
} catch {
|
|
2744
|
-
return cxt.state.invalidBlock(node, "
|
|
2865
|
+
return cxt.state.invalidBlock(node, "unable to transform asset");
|
|
2745
2866
|
}
|
|
2746
|
-
const img = transformed ? `<img src="${transformed}" data-original-src="${node.state
|
|
2867
|
+
const img = transformed ? `<img src="${transformed}" data-original-src="${node.state}"/>` : `<img src="${node.state}"/>`;
|
|
2747
2868
|
const para = node.content.length == 0 ? "" : "\n<figcaption>" + cxt.state.render(node.content[0].content, cxt) + "</figcaption>";
|
|
2748
2869
|
return `<figure>${img}${para}</figure>`;
|
|
2749
2870
|
}]
|
|
@@ -2757,10 +2878,13 @@ function createWrapper(name, varname) {
|
|
|
2757
2878
|
afterProcessExpansion(node, cxt) {
|
|
2758
2879
|
let msgs = checkArguments(node, 0);
|
|
2759
2880
|
if (msgs) return msgs;
|
|
2760
|
-
|
|
2881
|
+
const result = onlyPermitPlaintextParagraph(node);
|
|
2761
2882
|
if (typeof result !== "string") return result;
|
|
2883
|
+
const previous = cxt.variables.get(varname);
|
|
2884
|
+
if (previous)
|
|
2885
|
+
msgs = [new OverwriteSpecialVariableMessage(node.head, varname, previous)];
|
|
2762
2886
|
cxt.variables.set(varname, result);
|
|
2763
|
-
return [];
|
|
2887
|
+
return msgs ?? [];
|
|
2764
2888
|
}
|
|
2765
2889
|
});
|
|
2766
2890
|
}
|
|
@@ -2780,7 +2904,7 @@ var VarWrappers = [
|
|
|
2780
2904
|
|
|
2781
2905
|
// src/default/default.ts
|
|
2782
2906
|
var config = Configuration.from(BuiltinConfiguration);
|
|
2783
|
-
config.initializers.push(initNotes);
|
|
2907
|
+
config.initializers.push(initNotes, initHeadings);
|
|
2784
2908
|
config.blockModifiers.add(
|
|
2785
2909
|
...HeadingBlocks,
|
|
2786
2910
|
...BulletBlocks,
|