@hyperbook/markdown 0.28.4 → 0.28.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/dist/index.d.ts CHANGED
@@ -4,6 +4,7 @@ declare module "vfile" {
4
4
  directives: Record<string, {
5
5
  scripts: string[];
6
6
  styles: string[];
7
+ addditionalDirective: string[];
7
8
  }>;
8
9
  js: string[][];
9
10
  css: string[][];
package/dist/index.js CHANGED
@@ -65098,13 +65098,14 @@ var findFlat = (node3, predicate) => {
65098
65098
  inner2(node3);
65099
65099
  return nodes;
65100
65100
  };
65101
- var registerDirective = (file, directive2, scripts = [], styles2 = []) => {
65101
+ var registerDirective = (file, directive2, scripts = [], styles2 = [], additionalDirective = []) => {
65102
65102
  if (!file.data.directives) {
65103
65103
  file.data.directives = {};
65104
65104
  }
65105
65105
  file.data.directives[directive2] = {
65106
65106
  scripts,
65107
- styles: styles2
65107
+ styles: styles2,
65108
+ addditionalDirective: additionalDirective || []
65108
65109
  };
65109
65110
  };
65110
65111
  var requestJS = (file, js) => {
@@ -65183,7 +65184,7 @@ var remarkDirectiveVideo_default = (ctx) => () => {
65183
65184
  const attributes4 = node3.attributes || {};
65184
65185
  const { src, title, author, poster } = attributes4;
65185
65186
  expectLeafDirective(node3, file, name);
65186
- registerDirective(file, name, [], ["style.css"]);
65187
+ registerDirective(file, name, [], ["style.css"], []);
65187
65188
  const information = [];
65188
65189
  if (title) {
65189
65190
  information.push({
@@ -65291,7 +65292,7 @@ var remarkDirectiveYoutube_default = (ctx) => () => {
65291
65292
  node3
65292
65293
  );
65293
65294
  }
65294
- registerDirective(file, name, [], ["style.css"]);
65295
+ registerDirective(file, name, [], ["style.css"], []);
65295
65296
  data.hName = "div";
65296
65297
  data.hProperties = {
65297
65298
  class: "directive-youtube",
@@ -65329,7 +65330,7 @@ var remarkDirectiveTiles_default = (ctx) => () => {
65329
65330
  data.hProperties = {
65330
65331
  class: "directive-tiles"
65331
65332
  };
65332
- registerDirective(file, "tiles", [], ["style.css"]);
65333
+ registerDirective(file, "tiles", [], ["style.css"], ["tile"]);
65333
65334
  const tilesChildren = [];
65334
65335
  node3.children.filter(isDirective).forEach((node4) => {
65335
65336
  if (node4.name !== "tile") {
@@ -65512,6 +65513,15 @@ function remarkDirectiveTabs_default(ctx) {
65512
65513
  const tabsNodes = [];
65513
65514
  visit(tree, function(node3) {
65514
65515
  if (isDirective(node3)) {
65516
+ if (node3.name == "tab") {
65517
+ registerDirective(
65518
+ file,
65519
+ "tabs",
65520
+ ["client.js"],
65521
+ ["style.css"],
65522
+ ["tab"]
65523
+ );
65524
+ }
65515
65525
  if (node3.name !== "tabs") return;
65516
65526
  tabsNodes.push(node3);
65517
65527
  return;
@@ -65525,7 +65535,13 @@ function remarkDirectiveTabs_default(ctx) {
65525
65535
  if (!tabsId) {
65526
65536
  tabsId = hash(node3);
65527
65537
  }
65528
- registerDirective(file, "tabs", ["client.js"], ["style.css"]);
65538
+ registerDirective(
65539
+ file,
65540
+ "tabs",
65541
+ ["client.js"],
65542
+ ["style.css"],
65543
+ ["tab"]
65544
+ );
65529
65545
  data.hName = "div";
65530
65546
  data.hProperties = {
65531
65547
  class: "directive-tabs"
@@ -65600,7 +65616,7 @@ var remarkDirectiveSqlIde_default = (ctx) => () => {
65600
65616
  height = ctx.config.elements?.sqlide?.height || "600px"
65601
65617
  } = attributes4;
65602
65618
  expectContainerDirective(node3, file, name);
65603
- registerDirective(file, name, ["client.js"], ["style.css"]);
65619
+ registerDirective(file, name, ["client.js"], ["style.css"], []);
65604
65620
  const codes = node3.children?.filter(isCode).map((n) => ({
65605
65621
  type: "element",
65606
65622
  tagName: "script",
@@ -65828,7 +65844,7 @@ var remarkDirectiveSlideshow_default = (_) => () => {
65828
65844
  const data = node3.data || (node3.data = {});
65829
65845
  const { height = "300px", id = hash(node3) } = node3.attributes || {};
65830
65846
  expectContainerDirective(node3, file, "slideshow");
65831
- registerDirective(file, "slideshow", ["client.js"], ["style.css"]);
65847
+ registerDirective(file, "slideshow", ["client.js"], ["style.css"], []);
65832
65848
  const images = findFlat(node3, isImage);
65833
65849
  data.hName = "div";
65834
65850
  data.hProperties = {
@@ -68201,7 +68217,7 @@ var remarkDirectiveBookmarks_default = (ctx) => () => {
68201
68217
  if (node3.name !== name) return;
68202
68218
  const data = node3.data || (node3.data = {});
68203
68219
  expectLeafDirective(node3, file, name);
68204
- registerDirective(file, name, ["client.js"], ["style.css"]);
68220
+ registerDirective(file, name, ["client.js"], ["style.css"], []);
68205
68221
  data.hName = "ul";
68206
68222
  data.hProperties = {
68207
68223
  class: "directive-bookmarks"
@@ -68281,7 +68297,7 @@ var remarkDirectiveAlert_default = (ctx) => () => {
68281
68297
  if (node3.name !== name) return;
68282
68298
  const data = node3.data || (node3.data = {});
68283
68299
  expectContainerDirective(node3, file, name);
68284
- registerDirective(file, name, [], ["style.css"]);
68300
+ registerDirective(file, name, [], ["style.css"], []);
68285
68301
  const type = Object.keys(node3.attributes || {}).join(" ");
68286
68302
  data.hName = "div";
68287
68303
  data.hProperties = {
@@ -68312,7 +68328,8 @@ var remarkDirectiveAudio_default = (ctx) => () => {
68312
68328
  file,
68313
68329
  name,
68314
68330
  ["wavesurfer.min.js", "client.js"],
68315
- ["style.css"]
68331
+ ["style.css"],
68332
+ []
68316
68333
  );
68317
68334
  const id = hash(node3);
68318
68335
  node3.attributes = {};
@@ -68503,7 +68520,7 @@ var remarkDirectiveCollapsible_default = (ctx) => () => {
68503
68520
  const data = node3.data || (node3.data = {});
68504
68521
  const { title = "", id = hash(node3) } = node3.data.hProperties || {};
68505
68522
  expectContainerDirective(node3, file, name);
68506
- registerDirective(file, name, [], ["style.css"]);
68523
+ registerDirective(file, name, [], ["style.css"], []);
68507
68524
  node3.attributes = {};
68508
68525
  data.hName = "div";
68509
68526
  data.hProperties = {
@@ -68550,7 +68567,7 @@ var remarkDirectiveArchive_default = (ctx) => () => {
68550
68567
  if (node3.name !== name) return;
68551
68568
  const data = node3.data || (node3.data = {});
68552
68569
  expectTextDirective(node3, file, name);
68553
- registerDirective(file, name, ["client.js"], ["style.css"]);
68570
+ registerDirective(file, name, ["client.js"], ["style.css"], []);
68554
68571
  const { name: archiveName = "" } = node3.attributes || {};
68555
68572
  data.hName = "a";
68556
68573
  data.hProperties = {
@@ -68596,7 +68613,7 @@ var remarkDirectiveDownload_default = (ctx) => () => {
68596
68613
  if (node3.name !== name) return;
68597
68614
  const data = node3.data || (node3.data = {});
68598
68615
  expectTextDirective(node3, file, name);
68599
- registerDirective(file, name, ["client.js"], ["style.css"]);
68616
+ registerDirective(file, name, ["client.js"], ["style.css"], []);
68600
68617
  const { src = "" } = node3.attributes || {};
68601
68618
  data.hName = "a";
68602
68619
  data.hProperties = {
@@ -68642,7 +68659,7 @@ var remarkDirectiveEmbed_default = (ctx) => () => {
68642
68659
  if (node3.name !== name) return;
68643
68660
  const data = node3.data || (node3.data = {});
68644
68661
  expectLeafDirective(node3, file, name);
68645
- registerDirective(file, name, [], ["style.css"]);
68662
+ registerDirective(file, name, [], ["style.css"], []);
68646
68663
  const {
68647
68664
  aspectRatio,
68648
68665
  width = "100%",
@@ -68682,7 +68699,7 @@ var remarkDirectiveProtect_default = (ctx) => () => {
68682
68699
  if (node3.name !== name) return;
68683
68700
  const data = node3.data || (node3.data = {});
68684
68701
  expectContainerDirective(node3, file, name);
68685
- registerDirective(file, name, ["client.js"], ["style.css"]);
68702
+ registerDirective(file, name, ["client.js"], ["style.css"], []);
68686
68703
  const {
68687
68704
  password = "",
68688
68705
  description = "",
@@ -68772,7 +68789,7 @@ var remarkDirectiveQr_default = (ctx) => () => {
68772
68789
  if (node3.name !== name) return;
68773
68790
  const data = node3.data || (node3.data = {});
68774
68791
  expectLeafDirective(node3, file, name);
68775
- registerDirective(file, name, [], ["style.css"]);
68792
+ registerDirective(file, name, [], ["style.css"], []);
68776
68793
  const { value = "", size = "M", label: label4 } = node3.attributes || {};
68777
68794
  const safeSize = size;
68778
68795
  const qr = new import_qrcode_svg.default({
@@ -68786,7 +68803,6 @@ var remarkDirectiveQr_default = (ctx) => () => {
68786
68803
  background: "#ffffff",
68787
68804
  ecl: "M"
68788
68805
  }).svg();
68789
- console.log(qr);
68790
68806
  const labelElement = [];
68791
68807
  if (label4) {
68792
68808
  labelElement.push({
@@ -68842,7 +68858,8 @@ var remarkDirectiveExcalidraw_default = (ctx) => () => {
68842
68858
  file,
68843
68859
  name,
68844
68860
  ["client.js", "hyperbook-excalidraw.umd.js"],
68845
- ["style.css", "excalidraw.css"]
68861
+ ["style.css", "excalidraw.css"],
68862
+ []
68846
68863
  );
68847
68864
  const {
68848
68865
  aspectRatio = "16/9",
@@ -68887,7 +68904,8 @@ var remarkDirectiveScratchblock_default = (ctx) => () => {
68887
68904
  file,
68888
68905
  name,
68889
68906
  ["scratchblocks.min.js", "translations.js", "client.js"],
68890
- ["style.css"]
68907
+ ["style.css"],
68908
+ []
68891
68909
  );
68892
68910
  data.hName = "pre";
68893
68911
  data.hProperties = {
@@ -68912,7 +68930,8 @@ var remarkDirectiveMermaid_default = (ctx) => () => {
68912
68930
  file,
68913
68931
  name,
68914
68932
  ["mermaid.min.js", "client.js"],
68915
- ["style.css"]
68933
+ ["style.css"],
68934
+ []
68916
68935
  );
68917
68936
  const value = node3.value || toString2(node3.children);
68918
68937
  const {} = node3.attributes || {};
@@ -73295,7 +73314,7 @@ var remarkDirectivePlantuml_default = (ctx) => () => {
73295
73314
  if (node3.name !== name) return;
73296
73315
  const data = node3.data || (node3.data = {});
73297
73316
  expectContainerDirective(node3, file, name);
73298
- registerDirective(file, name, [], ["style.css"]);
73317
+ registerDirective(file, name, [], ["style.css"], []);
73299
73318
  const text9 = toString2(node3.children);
73300
73319
  const url = `https://kroki.io/plantuml/svg/${encode2(text9)}`;
73301
73320
  const { alt, width } = node3.attributes || {};
@@ -73341,7 +73360,7 @@ var remarkDirectiveOnlineIde_default = (ctx) => () => {
73341
73360
  id = hash(node3)
73342
73361
  } = attributes4;
73343
73362
  expectContainerDirective(node3, file, name);
73344
- registerDirective(file, name, ["client.js"], ["style.css"]);
73363
+ registerDirective(file, name, ["client.js"], ["style.css"], []);
73345
73364
  const codes = node3.children?.filter(isCode).map((n) => ({
73346
73365
  type: "element",
73347
73366
  tagName: "script",
@@ -74613,7 +74632,7 @@ var remarkDirectiveStruktog_default = (ctx) => () => {
74613
74632
  if (node3.name !== name) return;
74614
74633
  const data = node3.data || (node3.data = {});
74615
74634
  expectLeafDirective(node3, file, name);
74616
- registerDirective(file, name, [], ["style.css"]);
74635
+ registerDirective(file, name, [], ["style.css"], []);
74617
74636
  const { data: stRawData = "" } = node3.attributes || {};
74618
74637
  const stData = (stRawData || "").replace(
74619
74638
  new RegExp("https://struktog.openpatch.org/?#"),
@@ -74690,7 +74709,7 @@ var remarkDirectiveTerm_default = (ctx) => () => {
74690
74709
  node3
74691
74710
  );
74692
74711
  }
74693
- registerDirective(file, "term", [], ["style.css"]);
74712
+ registerDirective(file, "term", [], ["style.css"], ["t"]);
74694
74713
  const value = node3.children[0].value;
74695
74714
  const data = node3.data || (node3.data = {});
74696
74715
  const attributes4 = node3.attributes || {};
@@ -74773,7 +74792,7 @@ var remarkDirectivePagelist_default = (ctx) => () => {
74773
74792
  source = "href(.*)"
74774
74793
  } = attributes4;
74775
74794
  expectLeafDirective(node3, file, name);
74776
- registerDirective(file, name, [], ["style.css"]);
74795
+ registerDirective(file, name, [], ["style.css"], []);
74777
74796
  data.hName = "div";
74778
74797
  data.hProperties = {
74779
74798
  class: "directive-pagelist"
@@ -75369,7 +75388,8 @@ var remarkDirectiveGeogebra_default = (ctx) => () => {
75369
75388
  "geogebra-web-component.js",
75370
75389
  "client.js"
75371
75390
  ],
75372
- ["style.css"]
75391
+ ["style.css"],
75392
+ []
75373
75393
  );
75374
75394
  data.hName = "div";
75375
75395
  data.hProperties = {
@@ -75421,7 +75441,8 @@ var remarkDirectiveAbcMusic_default = (ctx) => () => {
75421
75441
  file,
75422
75442
  name,
75423
75443
  ["abcjs-basic-min.js", "client.js"],
75424
- ["style.css"]
75444
+ ["style.css"],
75445
+ []
75425
75446
  );
75426
75447
  requestJS(file, ["code-input", "code-input.min.js"]);
75427
75448
  requestCSS(file, ["code-input", "code-input.min.css"]);
@@ -75543,7 +75564,7 @@ var remarkDirectivePyide_default = (ctx) => () => {
75543
75564
  const data = node3.data || (node3.data = {});
75544
75565
  const { src = "", id = hash(node3) } = node3.attributes || {};
75545
75566
  expectContainerDirective(node3, file, name);
75546
- registerDirective(file, name, ["client.js"], ["style.css"]);
75567
+ registerDirective(file, name, ["client.js"], ["style.css"], []);
75547
75568
  requestJS(file, ["code-input", "code-input.min.js"]);
75548
75569
  requestCSS(file, ["code-input", "code-input.min.css"]);
75549
75570
  requestJS(file, ["code-input", "auto-close-brackets.min.js"]);
@@ -75784,7 +75805,7 @@ html, body {
75784
75805
  const { height = 400, id = hash(node3) } = node3.attributes || {};
75785
75806
  const data = node3.data || (node3.data = {});
75786
75807
  expectContainerDirective(node3, file, name);
75787
- registerDirective(file, name, ["client.js"], ["style.css"]);
75808
+ registerDirective(file, name, ["client.js"], ["style.css"], []);
75788
75809
  requestJS(file, ["code-input", "code-input.min.js"]);
75789
75810
  requestCSS(file, ["code-input", "code-input.min.css"]);
75790
75811
  requestJS(file, ["code-input", "auto-close-brackets.min.js"]);
@@ -76022,7 +76043,8 @@ var remarkDirectiveH5P_default = (ctx) => () => {
76022
76043
  file,
76023
76044
  name,
76024
76045
  ["main.bundle.js", "client.js"],
76025
- ["style.css"]
76046
+ ["style.css"],
76047
+ []
76026
76048
  );
76027
76049
  const {} = node3.attributes || {};
76028
76050
  data.hName = "div";
@@ -76071,7 +76093,8 @@ var remarkDirectiveJSXGraph_default = (ctx) => () => {
76071
76093
  file,
76072
76094
  name,
76073
76095
  ["client.js"],
76074
- ["jsxgraph.css", "style.css"]
76096
+ ["jsxgraph.css", "style.css"],
76097
+ []
76075
76098
  );
76076
76099
  requestJS(file, ["directive-jsxgraph", "jsxgraphcore.js"]);
76077
76100
  data.hName = "div";
@@ -76124,7 +76147,7 @@ var remarkDirectiveMultievent_default = (ctx) => () => {
76124
76147
  if (node3.name !== name) return;
76125
76148
  const data = node3.data || (node3.data = {});
76126
76149
  expectContainerDirective(node3, file, name);
76127
- registerDirective(file, name, ["multievent.js"], ["style.css"]);
76150
+ registerDirective(file, name, ["multievent.js"], ["style.css"], []);
76128
76151
  data.hName = "div";
76129
76152
  data.hProperties = {
76130
76153
  class: "directive-multievent multievent"
@@ -76196,6 +76219,30 @@ function supersub() {
76196
76219
  };
76197
76220
  }
76198
76221
 
76222
+ // src/remarkDirectiveUnpack.ts
76223
+ var remarkDirectiveUnpack_default = (ctx) => () => {
76224
+ return (tree, file) => {
76225
+ const directives = Object.keys(file.data.directives || {}).flatMap((n) => [
76226
+ ...file.data?.directives?.[n].addditionalDirective || [],
76227
+ n
76228
+ ]);
76229
+ directives.push("p5");
76230
+ visit(tree, (node3) => {
76231
+ if ((node3.type === "textDirective" || node3.type === "leafDirective" || node3.type === "containerDirective") && !directives.includes(node3.name)) {
76232
+ if (node3.type === "textDirective") {
76233
+ node3.value = `:${node3.name}`;
76234
+ } else if (node3.type === "leafDirective") {
76235
+ node3.value = `::${node3.name}`;
76236
+ } else if (node3.type === "containerDirective") {
76237
+ node3.value = `:::${node3.name}`;
76238
+ }
76239
+ node3.type = "text";
76240
+ node3.data = {};
76241
+ }
76242
+ });
76243
+ };
76244
+ };
76245
+
76199
76246
  // src/process.ts
76200
76247
  var remark = (ctx) => {
76201
76248
  i18n.init(ctx.config.language || "en");
@@ -76242,6 +76289,8 @@ var remark = (ctx) => {
76242
76289
  remarkMath,
76243
76290
  /* needs to be last directive */
76244
76291
  remarkDirectiveProtect_default(ctx),
76292
+ /* needs to be after all directives */
76293
+ remarkDirectiveUnpack_default(ctx),
76245
76294
  remarkCollectHeadings_default(ctx),
76246
76295
  remarkCollectSearchDocuments_default(ctx)
76247
76296
  ];