@hyperbook/markdown 0.28.3 → 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({
@@ -68841,7 +68858,8 @@ var remarkDirectiveExcalidraw_default = (ctx) => () => {
68841
68858
  file,
68842
68859
  name,
68843
68860
  ["client.js", "hyperbook-excalidraw.umd.js"],
68844
- ["style.css", "excalidraw.css"]
68861
+ ["style.css", "excalidraw.css"],
68862
+ []
68845
68863
  );
68846
68864
  const {
68847
68865
  aspectRatio = "16/9",
@@ -68886,7 +68904,8 @@ var remarkDirectiveScratchblock_default = (ctx) => () => {
68886
68904
  file,
68887
68905
  name,
68888
68906
  ["scratchblocks.min.js", "translations.js", "client.js"],
68889
- ["style.css"]
68907
+ ["style.css"],
68908
+ []
68890
68909
  );
68891
68910
  data.hName = "pre";
68892
68911
  data.hProperties = {
@@ -68911,7 +68930,8 @@ var remarkDirectiveMermaid_default = (ctx) => () => {
68911
68930
  file,
68912
68931
  name,
68913
68932
  ["mermaid.min.js", "client.js"],
68914
- ["style.css"]
68933
+ ["style.css"],
68934
+ []
68915
68935
  );
68916
68936
  const value = node3.value || toString2(node3.children);
68917
68937
  const {} = node3.attributes || {};
@@ -73294,7 +73314,7 @@ var remarkDirectivePlantuml_default = (ctx) => () => {
73294
73314
  if (node3.name !== name) return;
73295
73315
  const data = node3.data || (node3.data = {});
73296
73316
  expectContainerDirective(node3, file, name);
73297
- registerDirective(file, name, [], ["style.css"]);
73317
+ registerDirective(file, name, [], ["style.css"], []);
73298
73318
  const text9 = toString2(node3.children);
73299
73319
  const url = `https://kroki.io/plantuml/svg/${encode2(text9)}`;
73300
73320
  const { alt, width } = node3.attributes || {};
@@ -73340,7 +73360,7 @@ var remarkDirectiveOnlineIde_default = (ctx) => () => {
73340
73360
  id = hash(node3)
73341
73361
  } = attributes4;
73342
73362
  expectContainerDirective(node3, file, name);
73343
- registerDirective(file, name, ["client.js"], ["style.css"]);
73363
+ registerDirective(file, name, ["client.js"], ["style.css"], []);
73344
73364
  const codes = node3.children?.filter(isCode).map((n) => ({
73345
73365
  type: "element",
73346
73366
  tagName: "script",
@@ -74612,7 +74632,7 @@ var remarkDirectiveStruktog_default = (ctx) => () => {
74612
74632
  if (node3.name !== name) return;
74613
74633
  const data = node3.data || (node3.data = {});
74614
74634
  expectLeafDirective(node3, file, name);
74615
- registerDirective(file, name, [], ["style.css"]);
74635
+ registerDirective(file, name, [], ["style.css"], []);
74616
74636
  const { data: stRawData = "" } = node3.attributes || {};
74617
74637
  const stData = (stRawData || "").replace(
74618
74638
  new RegExp("https://struktog.openpatch.org/?#"),
@@ -74689,7 +74709,7 @@ var remarkDirectiveTerm_default = (ctx) => () => {
74689
74709
  node3
74690
74710
  );
74691
74711
  }
74692
- registerDirective(file, "term", [], ["style.css"]);
74712
+ registerDirective(file, "term", [], ["style.css"], ["t"]);
74693
74713
  const value = node3.children[0].value;
74694
74714
  const data = node3.data || (node3.data = {});
74695
74715
  const attributes4 = node3.attributes || {};
@@ -74772,7 +74792,7 @@ var remarkDirectivePagelist_default = (ctx) => () => {
74772
74792
  source = "href(.*)"
74773
74793
  } = attributes4;
74774
74794
  expectLeafDirective(node3, file, name);
74775
- registerDirective(file, name, [], ["style.css"]);
74795
+ registerDirective(file, name, [], ["style.css"], []);
74776
74796
  data.hName = "div";
74777
74797
  data.hProperties = {
74778
74798
  class: "directive-pagelist"
@@ -75368,7 +75388,8 @@ var remarkDirectiveGeogebra_default = (ctx) => () => {
75368
75388
  "geogebra-web-component.js",
75369
75389
  "client.js"
75370
75390
  ],
75371
- ["style.css"]
75391
+ ["style.css"],
75392
+ []
75372
75393
  );
75373
75394
  data.hName = "div";
75374
75395
  data.hProperties = {
@@ -75420,7 +75441,8 @@ var remarkDirectiveAbcMusic_default = (ctx) => () => {
75420
75441
  file,
75421
75442
  name,
75422
75443
  ["abcjs-basic-min.js", "client.js"],
75423
- ["style.css"]
75444
+ ["style.css"],
75445
+ []
75424
75446
  );
75425
75447
  requestJS(file, ["code-input", "code-input.min.js"]);
75426
75448
  requestCSS(file, ["code-input", "code-input.min.css"]);
@@ -75542,7 +75564,7 @@ var remarkDirectivePyide_default = (ctx) => () => {
75542
75564
  const data = node3.data || (node3.data = {});
75543
75565
  const { src = "", id = hash(node3) } = node3.attributes || {};
75544
75566
  expectContainerDirective(node3, file, name);
75545
- registerDirective(file, name, ["client.js"], ["style.css"]);
75567
+ registerDirective(file, name, ["client.js"], ["style.css"], []);
75546
75568
  requestJS(file, ["code-input", "code-input.min.js"]);
75547
75569
  requestCSS(file, ["code-input", "code-input.min.css"]);
75548
75570
  requestJS(file, ["code-input", "auto-close-brackets.min.js"]);
@@ -75783,7 +75805,7 @@ html, body {
75783
75805
  const { height = 400, id = hash(node3) } = node3.attributes || {};
75784
75806
  const data = node3.data || (node3.data = {});
75785
75807
  expectContainerDirective(node3, file, name);
75786
- registerDirective(file, name, ["client.js"], ["style.css"]);
75808
+ registerDirective(file, name, ["client.js"], ["style.css"], []);
75787
75809
  requestJS(file, ["code-input", "code-input.min.js"]);
75788
75810
  requestCSS(file, ["code-input", "code-input.min.css"]);
75789
75811
  requestJS(file, ["code-input", "auto-close-brackets.min.js"]);
@@ -76021,7 +76043,8 @@ var remarkDirectiveH5P_default = (ctx) => () => {
76021
76043
  file,
76022
76044
  name,
76023
76045
  ["main.bundle.js", "client.js"],
76024
- ["style.css"]
76046
+ ["style.css"],
76047
+ []
76025
76048
  );
76026
76049
  const {} = node3.attributes || {};
76027
76050
  data.hName = "div";
@@ -76070,7 +76093,8 @@ var remarkDirectiveJSXGraph_default = (ctx) => () => {
76070
76093
  file,
76071
76094
  name,
76072
76095
  ["client.js"],
76073
- ["jsxgraph.css", "style.css"]
76096
+ ["jsxgraph.css", "style.css"],
76097
+ []
76074
76098
  );
76075
76099
  requestJS(file, ["directive-jsxgraph", "jsxgraphcore.js"]);
76076
76100
  data.hName = "div";
@@ -76123,7 +76147,7 @@ var remarkDirectiveMultievent_default = (ctx) => () => {
76123
76147
  if (node3.name !== name) return;
76124
76148
  const data = node3.data || (node3.data = {});
76125
76149
  expectContainerDirective(node3, file, name);
76126
- registerDirective(file, name, ["multievent.js"], ["style.css"]);
76150
+ registerDirective(file, name, ["multievent.js"], ["style.css"], []);
76127
76151
  data.hName = "div";
76128
76152
  data.hProperties = {
76129
76153
  class: "directive-multievent multievent"
@@ -76195,6 +76219,30 @@ function supersub() {
76195
76219
  };
76196
76220
  }
76197
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
+
76198
76246
  // src/process.ts
76199
76247
  var remark = (ctx) => {
76200
76248
  i18n.init(ctx.config.language || "en");
@@ -76241,6 +76289,8 @@ var remark = (ctx) => {
76241
76289
  remarkMath,
76242
76290
  /* needs to be last directive */
76243
76291
  remarkDirectiveProtect_default(ctx),
76292
+ /* needs to be after all directives */
76293
+ remarkDirectiveUnpack_default(ctx),
76244
76294
  remarkCollectHeadings_default(ctx),
76245
76295
  remarkCollectSearchDocuments_default(ctx)
76246
76296
  ];
@@ -76288,7 +76338,7 @@ var process2 = (md, ctx) => {
76288
76338
  ];
76289
76339
  return remark(ctx).use(rehypePlugins).use(rehypeShell_default(ctx)).use(rehypeHtmlStructure_default(ctx)).use(rehypeStringify, {
76290
76340
  allowDangerousCharacters: true,
76291
- allowDangerousHtml: ctx.config.allowDangerousHtml || false
76341
+ allowDangerousHtml: true
76292
76342
  }).process(md);
76293
76343
  };
76294
76344
  export {