hyperbook 0.90.0 → 0.91.1
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/assets/code-input/auto-close-brackets.min.js +1 -1
- package/dist/assets/code-input/code-input.min.css +1 -1
- package/dist/assets/code-input/code-input.min.js +12 -1
- package/dist/assets/code-input/indent.min.js +1 -1
- package/dist/assets/directive-excalidraw/hyperbook-excalidraw.umd.js +1 -1
- package/dist/assets/directive-onlineide/style.css +8 -0
- package/dist/assets/directive-p5/client.js +113 -0
- package/dist/assets/directive-p5/style.css +67 -3
- package/dist/assets/directive-pyide/client.js +1226 -146
- package/dist/assets/directive-pyide/style.css +183 -6
- package/dist/assets/directive-sqlide/style.css +8 -0
- package/dist/assets/directive-typst/client.js +154 -14
- package/dist/assets/directive-typst/style.css +65 -4
- package/dist/assets/directive-webide/client.js +114 -0
- package/dist/assets/directive-webide/style.css +61 -3
- package/dist/index.js +252 -54
- package/dist/locales/de.json +12 -0
- package/dist/locales/en.json +12 -0
- package/package.json +3 -3
- package/dist/assets/directive-pyide/webworker.js +0 -86
package/dist/index.js
CHANGED
|
@@ -174918,14 +174918,26 @@ var en_default = {
|
|
|
174918
174918
|
"audio-play": "Play/Pause",
|
|
174919
174919
|
"archive-offline": "Offline",
|
|
174920
174920
|
"download-offline": "Offline",
|
|
174921
|
+
"ide-fullscreen-enter": "Fullscreen",
|
|
174922
|
+
"ide-fullscreen-exit": "Exit Fullscreen",
|
|
174921
174923
|
"pyide-run": "Run",
|
|
174924
|
+
"pyide-running": "Running ...",
|
|
174922
174925
|
"pyide-running-click-to-stop": "Running (Click to stop) ...",
|
|
174923
174926
|
"pyide-running-refresh-to-stop": "Running (Refresh to stop) ...",
|
|
174924
174927
|
"pyide-test": "Test",
|
|
174928
|
+
"pyide-testing": "Test running ...",
|
|
174925
174929
|
"pyide-test-running-click-to-stop": "Test running (Click to stop) ...",
|
|
174926
174930
|
"pyide-test-running-refresh-to-stop": "Test running (Refresh to stop) ...",
|
|
174931
|
+
"pyide-stop": "Stop",
|
|
174932
|
+
"pyide-stop-refresh": "Stop (refresh)",
|
|
174933
|
+
"pyide-locked-other-instance-running": "Another PyIDE instance is running",
|
|
174934
|
+
"pyide-stopping": "Stopping ...",
|
|
174935
|
+
"pyide-stop-reloading": "Stopping requires a refresh on this page. Reloading now...",
|
|
174936
|
+
"pyide-stop-refresh-required": "Stop requested. If execution does not stop, refresh the page or enable COOP/COEP headers.",
|
|
174927
174937
|
"pyide-output": "Output",
|
|
174938
|
+
"pyide-canvas": "Canvas",
|
|
174928
174939
|
"pyide-input": "Input",
|
|
174940
|
+
"pyide-input-prompt": "Input required:",
|
|
174929
174941
|
"pyide-reset": "Reset",
|
|
174930
174942
|
"pyide-copy": "Copy",
|
|
174931
174943
|
"pyide-download": "Download",
|
|
@@ -175027,14 +175039,26 @@ var de_default = {
|
|
|
175027
175039
|
"audio-play": "Abspielen/Pause",
|
|
175028
175040
|
"archive-offline": "Offline",
|
|
175029
175041
|
"download-offline": "Offline",
|
|
175042
|
+
"ide-fullscreen-enter": "Vollbild",
|
|
175043
|
+
"ide-fullscreen-exit": "Vollbild beenden",
|
|
175030
175044
|
"pyide-run": "Ausf\xFChren",
|
|
175045
|
+
"pyide-running": "Wird ausgef\xFChrt ...",
|
|
175031
175046
|
"pyide-running-click-to-stop": "Wird ausgef\xFChrt (Klicken zum Stoppen) ...",
|
|
175032
175047
|
"pyide-running-refresh-to-stop": "Wird ausgef\xFChrt (Aktualisieren zum Stoppen) ...",
|
|
175033
175048
|
"pyide-test": "Testen",
|
|
175049
|
+
"pyide-testing": "Test l\xE4uft ...",
|
|
175034
175050
|
"pyide-test-running-click-to-stop": "Test l\xE4uft (Klicken zum Stoppen) ...",
|
|
175035
175051
|
"pyide-test-running-refresh-to-stop": "Test l\xE4uft (Aktualisieren zum Stoppen) ...",
|
|
175052
|
+
"pyide-stop": "Stoppen",
|
|
175053
|
+
"pyide-stop-refresh": "Stoppen (Neuladen)",
|
|
175054
|
+
"pyide-locked-other-instance-running": "Eine andere PyIDE-Instanz l\xE4uft",
|
|
175055
|
+
"pyide-stopping": "Wird gestoppt ...",
|
|
175056
|
+
"pyide-stop-reloading": "Zum Stoppen ist auf dieser Seite ein Neuladen n\xF6tig. Seite wird neu geladen...",
|
|
175057
|
+
"pyide-stop-refresh-required": "Stopp angefordert. Wenn die Ausf\xFChrung nicht stoppt, Seite neu laden oder COOP/COEP-Header aktivieren.",
|
|
175036
175058
|
"pyide-output": "Ausgabe",
|
|
175059
|
+
"pyide-canvas": "Canvas",
|
|
175037
175060
|
"pyide-input": "Eingabe",
|
|
175061
|
+
"pyide-input-prompt": "Eingabe erforderlich:",
|
|
175038
175062
|
"pyide-reset": "Zur\xFCcksetzen",
|
|
175039
175063
|
"pyide-copy": "Kopieren",
|
|
175040
175064
|
"pyide-download": "Herunterladen",
|
|
@@ -177546,7 +177570,7 @@ var remarkDirectiveSqlIde_default = (ctx) => () => {
|
|
|
177546
177570
|
let {
|
|
177547
177571
|
id = hash(node3),
|
|
177548
177572
|
db,
|
|
177549
|
-
height = ctx.config.elements?.sqlide?.height || "
|
|
177573
|
+
height = ctx.config.elements?.sqlide?.height || "calc(100dvh - 80px)"
|
|
177550
177574
|
} = attributes4;
|
|
177551
177575
|
if (!db) {
|
|
177552
177576
|
db = ctx.config.elements?.sqlide?.db ? ctx.makeUrl(ctx.config.elements?.sqlide?.db, "public") : ctx.makeUrl(
|
|
@@ -177598,7 +177622,8 @@ var remarkDirectiveSqlIde_default = (ctx) => () => {
|
|
|
177598
177622
|
}));
|
|
177599
177623
|
data.hName = "div";
|
|
177600
177624
|
data.hProperties = {
|
|
177601
|
-
class: "directive-sqlide"
|
|
177625
|
+
class: "directive-sqlide",
|
|
177626
|
+
style: `--sqlide-height: ${height}`
|
|
177602
177627
|
};
|
|
177603
177628
|
data.hChildren = [
|
|
177604
177629
|
{
|
|
@@ -177606,7 +177631,7 @@ var remarkDirectiveSqlIde_default = (ctx) => () => {
|
|
|
177606
177631
|
tagName: "div",
|
|
177607
177632
|
properties: {
|
|
177608
177633
|
class: "sql-online",
|
|
177609
|
-
style: `
|
|
177634
|
+
style: `padding: 0; margin: 0;`,
|
|
177610
177635
|
"data-sql-online": `{'id': '${id}', "databaseURL": "${db}"}`
|
|
177611
177636
|
},
|
|
177612
177637
|
children: [...codes]
|
|
@@ -185898,7 +185923,7 @@ var remarkDirectiveOnlineIde_default = (ctx) => () => {
|
|
|
185898
185923
|
const data = node3.data || (node3.data = {});
|
|
185899
185924
|
const attributes4 = node3.attributes || {};
|
|
185900
185925
|
const {
|
|
185901
|
-
height = ctx.config.elements?.onlineide?.height || "
|
|
185926
|
+
height = ctx.config.elements?.onlineide?.height || "calc(100dvh - 80px)",
|
|
185902
185927
|
fileList = true,
|
|
185903
185928
|
console: con = true,
|
|
185904
185929
|
pCode = false,
|
|
@@ -185942,7 +185967,8 @@ var remarkDirectiveOnlineIde_default = (ctx) => () => {
|
|
|
185942
185967
|
}));
|
|
185943
185968
|
data.hName = "div";
|
|
185944
185969
|
data.hProperties = {
|
|
185945
|
-
class: "directive-onlineide"
|
|
185970
|
+
class: "directive-onlineide",
|
|
185971
|
+
style: `--onlineide-height: ${height}`
|
|
185946
185972
|
};
|
|
185947
185973
|
data.hChildren = [
|
|
185948
185974
|
{
|
|
@@ -185950,7 +185976,7 @@ var remarkDirectiveOnlineIde_default = (ctx) => () => {
|
|
|
185950
185976
|
tagName: "div",
|
|
185951
185977
|
properties: {
|
|
185952
185978
|
class: "java-online",
|
|
185953
|
-
style: `
|
|
185979
|
+
style: `padding: 0; margin: 0;`,
|
|
185954
185980
|
"data-java-online": `{'id': '${id}', 'speed': ${speed}, 'withBottomPanel': ${bottomPanel},'withPCode': ${pCode},'withConsole': ${con},'withFileList': ${fileList},'withErrorList': ${errorList}, 'libraries': [${libraries?.split(",").map((lib) => `'${lib.trim()}'`)}]}`
|
|
185955
185981
|
},
|
|
185956
185982
|
children: [...codes]
|
|
@@ -195178,10 +195204,11 @@ ${(code4.scripts ? [cdnLibraryUrl, ...code4.scripts] : []).map((src) => `<script
|
|
|
195178
195204
|
if (node3.type === "element" && node3.tagName === "p5") {
|
|
195179
195205
|
const {
|
|
195180
195206
|
src = "",
|
|
195181
|
-
height
|
|
195207
|
+
height,
|
|
195182
195208
|
editor = false,
|
|
195183
195209
|
id = hash(node3)
|
|
195184
195210
|
} = node3.properties || {};
|
|
195211
|
+
const resolvedHeight = height !== void 0 ? typeof height === "number" ? `${height}px` : `${height}` : "calc(100dvh - 80px)";
|
|
195185
195212
|
let bEditor = editor === "true";
|
|
195186
195213
|
expectContainerDirective(node3, file, name);
|
|
195187
195214
|
registerDirective(file, name, ["client.js"], ["style.css"]);
|
|
@@ -195208,9 +195235,10 @@ ${(code4.scripts ? [cdnLibraryUrl, ...code4.scripts] : []).map((src) => `<script
|
|
|
195208
195235
|
const srcdoc = template.replace("###SLOT###", wrapSketch(srcFile)).replace(/\u00A0/g, " ");
|
|
195209
195236
|
node3.tagName = "div";
|
|
195210
195237
|
node3.properties = {
|
|
195211
|
-
class: ["directive-p5", bEditor ? "" : "standalone"].join(" "),
|
|
195238
|
+
class: ["directive-p5", bEditor ? "" : "standalone"].join(" ").trim(),
|
|
195212
195239
|
"data-template": template.replace(/\u00A0/g, " "),
|
|
195213
|
-
"data-id": id
|
|
195240
|
+
"data-id": id,
|
|
195241
|
+
...bEditor && height !== void 0 ? { style: `--p5-height: ${resolvedHeight}` } : {}
|
|
195214
195242
|
};
|
|
195215
195243
|
node3.children = [
|
|
195216
195244
|
{
|
|
@@ -195218,7 +195246,7 @@ ${(code4.scripts ? [cdnLibraryUrl, ...code4.scripts] : []).map((src) => `<script
|
|
|
195218
195246
|
tagName: "div",
|
|
195219
195247
|
properties: {
|
|
195220
195248
|
class: "container",
|
|
195221
|
-
style: `height: ${
|
|
195249
|
+
...!bEditor ? { style: `height: ${resolvedHeight};` } : {}
|
|
195222
195250
|
},
|
|
195223
195251
|
children: [
|
|
195224
195252
|
{
|
|
@@ -195236,6 +195264,16 @@ ${(code4.scripts ? [cdnLibraryUrl, ...code4.scripts] : []).map((src) => `<script
|
|
|
195236
195264
|
]
|
|
195237
195265
|
},
|
|
195238
195266
|
...bEditor ? [
|
|
195267
|
+
{
|
|
195268
|
+
type: "element",
|
|
195269
|
+
tagName: "div",
|
|
195270
|
+
properties: {
|
|
195271
|
+
class: "splitter",
|
|
195272
|
+
role: "separator",
|
|
195273
|
+
"aria-label": "Resize panels"
|
|
195274
|
+
},
|
|
195275
|
+
children: []
|
|
195276
|
+
},
|
|
195239
195277
|
{
|
|
195240
195278
|
type: "element",
|
|
195241
195279
|
tagName: "div",
|
|
@@ -195324,6 +195362,21 @@ ${(code4.scripts ? [cdnLibraryUrl, ...code4.scripts] : []).map((src) => `<script
|
|
|
195324
195362
|
value: i18n.get("p5-download")
|
|
195325
195363
|
}
|
|
195326
195364
|
]
|
|
195365
|
+
},
|
|
195366
|
+
{
|
|
195367
|
+
type: "element",
|
|
195368
|
+
tagName: "button",
|
|
195369
|
+
properties: {
|
|
195370
|
+
class: "fullscreen",
|
|
195371
|
+
title: i18n.get("ide-fullscreen-enter"),
|
|
195372
|
+
"aria-label": i18n.get("ide-fullscreen-enter")
|
|
195373
|
+
},
|
|
195374
|
+
children: [
|
|
195375
|
+
{
|
|
195376
|
+
type: "text",
|
|
195377
|
+
value: "\u26F6"
|
|
195378
|
+
}
|
|
195379
|
+
]
|
|
195327
195380
|
}
|
|
195328
195381
|
]
|
|
195329
195382
|
}
|
|
@@ -195573,6 +195626,14 @@ var remarkDirectiveAbcMusic_default = (ctx) => () => {
|
|
|
195573
195626
|
function htmlEntities2(str2) {
|
|
195574
195627
|
return String(str2).replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
195575
195628
|
}
|
|
195629
|
+
function parsePackagesAttribute(value) {
|
|
195630
|
+
if (typeof value !== "string") return [];
|
|
195631
|
+
return Array.from(
|
|
195632
|
+
new Set(
|
|
195633
|
+
value.split(",").map((pkg) => pkg.trim()).filter((pkg) => pkg.length > 0)
|
|
195634
|
+
)
|
|
195635
|
+
);
|
|
195636
|
+
}
|
|
195576
195637
|
var remarkDirectivePyide_default = (ctx) => () => {
|
|
195577
195638
|
const name = "pyide";
|
|
195578
195639
|
return (tree, file) => {
|
|
@@ -195580,7 +195641,9 @@ var remarkDirectivePyide_default = (ctx) => () => {
|
|
|
195580
195641
|
if (isDirective(node3)) {
|
|
195581
195642
|
if (node3.name !== name) return;
|
|
195582
195643
|
const data = node3.data || (node3.data = {});
|
|
195583
|
-
const { src = "", id = hash(node3) } = node3.attributes || {};
|
|
195644
|
+
const { src = "", id = hash(node3), packages, height } = node3.attributes || {};
|
|
195645
|
+
const hasCanvas = "canvas" in (node3.attributes || {});
|
|
195646
|
+
const packageList = parsePackagesAttribute(packages);
|
|
195584
195647
|
expectContainerDirective(node3, file, name);
|
|
195585
195648
|
registerDirective(file, name, ["client.js"], ["style.css"], []);
|
|
195586
195649
|
requestJS(file, ["code-input", "code-input.min.js"]);
|
|
@@ -195589,7 +195652,6 @@ var remarkDirectivePyide_default = (ctx) => () => {
|
|
|
195589
195652
|
requestJS(file, ["code-input", "indent.min.js"]);
|
|
195590
195653
|
let srcFile = "";
|
|
195591
195654
|
let tests = [];
|
|
195592
|
-
let input = "";
|
|
195593
195655
|
if (src) {
|
|
195594
195656
|
srcFile = readFile(src, ctx) || "";
|
|
195595
195657
|
} else if (node3.children?.length > 0) {
|
|
@@ -195597,11 +195659,6 @@ var remarkDirectivePyide_default = (ctx) => () => {
|
|
|
195597
195659
|
code: c.value,
|
|
195598
195660
|
name: `${i}`
|
|
195599
195661
|
}));
|
|
195600
|
-
input = toText2(
|
|
195601
|
-
node3.children.find(
|
|
195602
|
-
(c) => c.type === "code" && c.lang === "input"
|
|
195603
|
-
)
|
|
195604
|
-
);
|
|
195605
195662
|
srcFile = toText2(
|
|
195606
195663
|
node3.children.find(
|
|
195607
195664
|
(c) => c.type === "code" && c.lang === "python" && !c.meta?.includes("test")
|
|
@@ -195612,7 +195669,10 @@ var remarkDirectivePyide_default = (ctx) => () => {
|
|
|
195612
195669
|
data.hProperties = {
|
|
195613
195670
|
class: "directive-pyide",
|
|
195614
195671
|
id,
|
|
195615
|
-
"data-tests": Buffer.from(JSON.stringify(tests)).toString("base64")
|
|
195672
|
+
"data-tests": Buffer.from(JSON.stringify(tests)).toString("base64"),
|
|
195673
|
+
...hasCanvas ? { "data-canvas": "true" } : {},
|
|
195674
|
+
...packageList.length > 0 ? { "data-packages": packageList.join(",") } : {},
|
|
195675
|
+
...height ? { style: `--pyide-height: ${height}` } : {}
|
|
195616
195676
|
};
|
|
195617
195677
|
data.hChildren = [
|
|
195618
195678
|
{
|
|
@@ -195642,21 +195702,79 @@ var remarkDirectivePyide_default = (ctx) => () => {
|
|
|
195642
195702
|
}
|
|
195643
195703
|
]
|
|
195644
195704
|
},
|
|
195645
|
-
|
|
195646
|
-
|
|
195647
|
-
|
|
195648
|
-
|
|
195649
|
-
|
|
195650
|
-
|
|
195651
|
-
|
|
195652
|
-
|
|
195653
|
-
|
|
195654
|
-
|
|
195655
|
-
|
|
195656
|
-
|
|
195657
|
-
|
|
195705
|
+
...hasCanvas ? [
|
|
195706
|
+
{
|
|
195707
|
+
type: "element",
|
|
195708
|
+
tagName: "button",
|
|
195709
|
+
properties: {
|
|
195710
|
+
class: "canvas-btn"
|
|
195711
|
+
},
|
|
195712
|
+
children: [
|
|
195713
|
+
{
|
|
195714
|
+
type: "text",
|
|
195715
|
+
value: i18n.get("pyide-canvas")
|
|
195716
|
+
}
|
|
195717
|
+
]
|
|
195718
|
+
}
|
|
195719
|
+
] : []
|
|
195658
195720
|
]
|
|
195659
195721
|
},
|
|
195722
|
+
...hasCanvas ? [
|
|
195723
|
+
{
|
|
195724
|
+
type: "element",
|
|
195725
|
+
tagName: "div",
|
|
195726
|
+
properties: {
|
|
195727
|
+
class: "canvas-header hidden"
|
|
195728
|
+
},
|
|
195729
|
+
children: [
|
|
195730
|
+
{
|
|
195731
|
+
type: "text",
|
|
195732
|
+
value: i18n.get("pyide-canvas")
|
|
195733
|
+
}
|
|
195734
|
+
]
|
|
195735
|
+
},
|
|
195736
|
+
{
|
|
195737
|
+
type: "element",
|
|
195738
|
+
tagName: "div",
|
|
195739
|
+
properties: {
|
|
195740
|
+
class: "canvas-wrapper hidden"
|
|
195741
|
+
},
|
|
195742
|
+
children: [
|
|
195743
|
+
{
|
|
195744
|
+
type: "element",
|
|
195745
|
+
tagName: "canvas",
|
|
195746
|
+
properties: {
|
|
195747
|
+
class: "canvas",
|
|
195748
|
+
id: "canvas"
|
|
195749
|
+
},
|
|
195750
|
+
children: []
|
|
195751
|
+
}
|
|
195752
|
+
]
|
|
195753
|
+
},
|
|
195754
|
+
{
|
|
195755
|
+
type: "element",
|
|
195756
|
+
tagName: "div",
|
|
195757
|
+
properties: {
|
|
195758
|
+
class: "canvas-output-splitter hidden",
|
|
195759
|
+
role: "separator",
|
|
195760
|
+
"aria-label": "Resize canvas and output"
|
|
195761
|
+
},
|
|
195762
|
+
children: []
|
|
195763
|
+
},
|
|
195764
|
+
{
|
|
195765
|
+
type: "element",
|
|
195766
|
+
tagName: "div",
|
|
195767
|
+
properties: {
|
|
195768
|
+
class: "output-header hidden"
|
|
195769
|
+
},
|
|
195770
|
+
children: [
|
|
195771
|
+
{
|
|
195772
|
+
type: "text",
|
|
195773
|
+
value: i18n.get("pyide-output")
|
|
195774
|
+
}
|
|
195775
|
+
]
|
|
195776
|
+
}
|
|
195777
|
+
] : [],
|
|
195660
195778
|
{
|
|
195661
195779
|
type: "element",
|
|
195662
195780
|
tagName: "pre",
|
|
@@ -195664,22 +195782,19 @@ var remarkDirectivePyide_default = (ctx) => () => {
|
|
|
195664
195782
|
class: "output"
|
|
195665
195783
|
},
|
|
195666
195784
|
children: []
|
|
195667
|
-
},
|
|
195668
|
-
{
|
|
195669
|
-
type: "element",
|
|
195670
|
-
tagName: "code-input",
|
|
195671
|
-
properties: {
|
|
195672
|
-
class: "input hidden"
|
|
195673
|
-
},
|
|
195674
|
-
children: [
|
|
195675
|
-
{
|
|
195676
|
-
type: "raw",
|
|
195677
|
-
value: input || ""
|
|
195678
|
-
}
|
|
195679
|
-
]
|
|
195680
195785
|
}
|
|
195681
195786
|
]
|
|
195682
195787
|
},
|
|
195788
|
+
{
|
|
195789
|
+
type: "element",
|
|
195790
|
+
tagName: "div",
|
|
195791
|
+
properties: {
|
|
195792
|
+
class: "splitter",
|
|
195793
|
+
role: "separator",
|
|
195794
|
+
"aria-label": "Resize panels"
|
|
195795
|
+
},
|
|
195796
|
+
children: []
|
|
195797
|
+
},
|
|
195683
195798
|
{
|
|
195684
195799
|
type: "element",
|
|
195685
195800
|
tagName: "div",
|
|
@@ -195721,7 +195836,21 @@ var remarkDirectivePyide_default = (ctx) => () => {
|
|
|
195721
195836
|
}
|
|
195722
195837
|
]
|
|
195723
195838
|
}
|
|
195724
|
-
] : []
|
|
195839
|
+
] : [],
|
|
195840
|
+
{
|
|
195841
|
+
type: "element",
|
|
195842
|
+
tagName: "button",
|
|
195843
|
+
properties: {
|
|
195844
|
+
class: "stop",
|
|
195845
|
+
disabled: true
|
|
195846
|
+
},
|
|
195847
|
+
children: [
|
|
195848
|
+
{
|
|
195849
|
+
type: "text",
|
|
195850
|
+
value: i18n.get("pyide-stop")
|
|
195851
|
+
}
|
|
195852
|
+
]
|
|
195853
|
+
}
|
|
195725
195854
|
]
|
|
195726
195855
|
},
|
|
195727
195856
|
{
|
|
@@ -195784,6 +195913,21 @@ var remarkDirectivePyide_default = (ctx) => () => {
|
|
|
195784
195913
|
value: i18n.get("pyide-download")
|
|
195785
195914
|
}
|
|
195786
195915
|
]
|
|
195916
|
+
},
|
|
195917
|
+
{
|
|
195918
|
+
type: "element",
|
|
195919
|
+
tagName: "button",
|
|
195920
|
+
properties: {
|
|
195921
|
+
class: "fullscreen",
|
|
195922
|
+
title: i18n.get("ide-fullscreen-enter"),
|
|
195923
|
+
"aria-label": i18n.get("ide-fullscreen-enter")
|
|
195924
|
+
},
|
|
195925
|
+
children: [
|
|
195926
|
+
{
|
|
195927
|
+
type: "text",
|
|
195928
|
+
value: "\u26F6"
|
|
195929
|
+
}
|
|
195930
|
+
]
|
|
195787
195931
|
}
|
|
195788
195932
|
]
|
|
195789
195933
|
}
|
|
@@ -195820,8 +195964,9 @@ html, body {
|
|
|
195820
195964
|
return (tree, file) => {
|
|
195821
195965
|
visit(tree, function(node3) {
|
|
195822
195966
|
if (isDirective(node3) && node3.name === name) {
|
|
195823
|
-
const { height
|
|
195967
|
+
const { height, id = hash(node3) } = node3.attributes || {};
|
|
195824
195968
|
const data = node3.data || (node3.data = {});
|
|
195969
|
+
const resolvedHeight = height !== void 0 ? typeof height === "number" ? `${height}px` : `${height}` : "calc(100dvh - 80px)";
|
|
195825
195970
|
expectContainerDirective(node3, file, name);
|
|
195826
195971
|
registerDirective(file, name, ["client.js"], ["style.css"], []);
|
|
195827
195972
|
requestJS(file, ["code-input", "code-input.min.js"]);
|
|
@@ -195950,15 +196095,15 @@ html, body {
|
|
|
195950
196095
|
data.hProperties = {
|
|
195951
196096
|
class: "directive-webide",
|
|
195952
196097
|
"data-template": template.replace(/\u00A0/g, " "),
|
|
195953
|
-
"data-id": id
|
|
196098
|
+
"data-id": id,
|
|
196099
|
+
...height !== void 0 ? { style: `--webide-height: ${resolvedHeight}` } : {}
|
|
195954
196100
|
};
|
|
195955
196101
|
data.hChildren = [
|
|
195956
196102
|
{
|
|
195957
196103
|
type: "element",
|
|
195958
196104
|
tagName: "div",
|
|
195959
196105
|
properties: {
|
|
195960
|
-
class: "container"
|
|
195961
|
-
style: `height: ${height}px;`
|
|
196106
|
+
class: "container"
|
|
195962
196107
|
},
|
|
195963
196108
|
children: [
|
|
195964
196109
|
{
|
|
@@ -195988,6 +196133,16 @@ html, body {
|
|
|
195988
196133
|
}
|
|
195989
196134
|
]
|
|
195990
196135
|
},
|
|
196136
|
+
{
|
|
196137
|
+
type: "element",
|
|
196138
|
+
tagName: "div",
|
|
196139
|
+
properties: {
|
|
196140
|
+
class: "splitter",
|
|
196141
|
+
role: "separator",
|
|
196142
|
+
"aria-label": "Resize panels"
|
|
196143
|
+
},
|
|
196144
|
+
children: []
|
|
196145
|
+
},
|
|
195991
196146
|
{
|
|
195992
196147
|
type: "element",
|
|
195993
196148
|
tagName: "div",
|
|
@@ -196036,6 +196191,21 @@ html, body {
|
|
|
196036
196191
|
value: i18n.get("webide-download")
|
|
196037
196192
|
}
|
|
196038
196193
|
]
|
|
196194
|
+
},
|
|
196195
|
+
{
|
|
196196
|
+
type: "element",
|
|
196197
|
+
tagName: "button",
|
|
196198
|
+
properties: {
|
|
196199
|
+
class: "fullscreen",
|
|
196200
|
+
title: i18n.get("ide-fullscreen-enter"),
|
|
196201
|
+
"aria-label": i18n.get("ide-fullscreen-enter")
|
|
196202
|
+
},
|
|
196203
|
+
children: [
|
|
196204
|
+
{
|
|
196205
|
+
type: "text",
|
|
196206
|
+
value: "\u26F6"
|
|
196207
|
+
}
|
|
196208
|
+
]
|
|
196039
196209
|
}
|
|
196040
196210
|
]
|
|
196041
196211
|
}
|
|
@@ -200948,11 +201118,12 @@ var remarkDirectiveTypst_default = (ctx) => () => {
|
|
|
200948
201118
|
visit(tree, function(node3) {
|
|
200949
201119
|
if (isDirective(node3) && node3.name === name) {
|
|
200950
201120
|
const {
|
|
200951
|
-
height
|
|
201121
|
+
height,
|
|
200952
201122
|
id = hash(node3),
|
|
200953
201123
|
mode = "preview"
|
|
200954
201124
|
} = node3.attributes || {};
|
|
200955
201125
|
const data = node3.data || (node3.data = {});
|
|
201126
|
+
const resolvedHeight = height !== void 0 ? `${height}` : "calc(100dvh - 80px)";
|
|
200956
201127
|
expectContainerDirective(node3, file, name);
|
|
200957
201128
|
registerDirective(file, name, ["client.js"], ["style.css"], []);
|
|
200958
201129
|
requestJS(file, ["code-input", "code-input.min.js"]);
|
|
@@ -201088,14 +201259,15 @@ var remarkDirectiveTypst_default = (ctx) => () => {
|
|
|
201088
201259
|
JSON.stringify(fontFiles)
|
|
201089
201260
|
).toString("base64"),
|
|
201090
201261
|
"data-base-path": basePath,
|
|
201091
|
-
"data-page-path": pagePath
|
|
201262
|
+
"data-page-path": pagePath,
|
|
201263
|
+
...height !== void 0 && !isPreviewMode ? { style: `--typst-height: ${height}` } : {}
|
|
201092
201264
|
};
|
|
201093
201265
|
const previewContainer = {
|
|
201094
201266
|
type: "element",
|
|
201095
201267
|
tagName: "div",
|
|
201096
201268
|
properties: {
|
|
201097
201269
|
class: "preview-container",
|
|
201098
|
-
style: `height: ${
|
|
201270
|
+
...isPreviewMode ? { style: `height: ${resolvedHeight};` } : {}
|
|
201099
201271
|
},
|
|
201100
201272
|
children: [
|
|
201101
201273
|
{
|
|
@@ -201162,9 +201334,34 @@ var remarkDirectiveTypst_default = (ctx) => () => {
|
|
|
201162
201334
|
}
|
|
201163
201335
|
]
|
|
201164
201336
|
};
|
|
201337
|
+
const createFullscreenButton = () => ({
|
|
201338
|
+
type: "element",
|
|
201339
|
+
tagName: "button",
|
|
201340
|
+
properties: {
|
|
201341
|
+
class: "fullscreen",
|
|
201342
|
+
title: i18n.get("ide-fullscreen-enter"),
|
|
201343
|
+
"aria-label": i18n.get("ide-fullscreen-enter")
|
|
201344
|
+
},
|
|
201345
|
+
children: [
|
|
201346
|
+
{
|
|
201347
|
+
type: "text",
|
|
201348
|
+
value: "\u26F6"
|
|
201349
|
+
}
|
|
201350
|
+
]
|
|
201351
|
+
});
|
|
201165
201352
|
if (isEditMode) {
|
|
201166
201353
|
data.hChildren = [
|
|
201167
201354
|
previewContainer,
|
|
201355
|
+
{
|
|
201356
|
+
type: "element",
|
|
201357
|
+
tagName: "div",
|
|
201358
|
+
properties: {
|
|
201359
|
+
class: "splitter",
|
|
201360
|
+
role: "separator",
|
|
201361
|
+
"aria-label": "Resize panels"
|
|
201362
|
+
},
|
|
201363
|
+
children: []
|
|
201364
|
+
},
|
|
201168
201365
|
{
|
|
201169
201366
|
type: "element",
|
|
201170
201367
|
tagName: "div",
|
|
@@ -201312,7 +201509,8 @@ var remarkDirectiveTypst_default = (ctx) => () => {
|
|
|
201312
201509
|
]
|
|
201313
201510
|
},
|
|
201314
201511
|
downloadProjectButton,
|
|
201315
|
-
downloadButton
|
|
201512
|
+
downloadButton,
|
|
201513
|
+
createFullscreenButton()
|
|
201316
201514
|
]
|
|
201317
201515
|
}
|
|
201318
201516
|
]
|
|
@@ -201731,7 +201929,7 @@ module.exports = /*#__PURE__*/JSON.parse('{"application/1d-interleaved-parityfec
|
|
|
201731
201929
|
/***/ ((module) => {
|
|
201732
201930
|
|
|
201733
201931
|
"use strict";
|
|
201734
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"hyperbook","version":"0.
|
|
201932
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"hyperbook","version":"0.91.1","author":"Mike Barkmin","homepage":"https://github.com/openpatch/hyperbook#readme","license":"MIT","bin":{"hyperbook":"./dist/index.js"},"files":["dist"],"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/openpatch/hyperbook.git","directory":"packages/hyperbook"},"bugs":{"url":"https://github.com/openpatch/hyperbook/issues"},"engines":{"node":">=18"},"scripts":{"version":"pnpm build","lint":"tsc --noEmit","dev":"ncc build ./index.ts -w -o dist/","build":"rimraf dist && ncc build ./index.ts -o ./dist/ --no-cache --no-source-map-register --external favicons --external sharp && node postbuild.mjs"},"dependencies":{"favicons":"^7.2.0"},"devDependencies":{"create-hyperbook":"workspace:*","@hyperbook/fs":"workspace:*","@hyperbook/markdown":"workspace:*","@hyperbook/types":"workspace:*","@pnpm/exportable-manifest":"1000.0.6","@types/archiver":"6.0.3","@types/async-retry":"1.4.9","@types/cross-spawn":"6.0.6","@types/lunr":"^2.3.7","@types/prompts":"2.4.9","@types/tar":"6.1.13","@types/ws":"^8.5.14","@vercel/ncc":"0.38.3","archiver":"7.0.1","async-retry":"1.3.3","chalk":"5.4.1","chokidar":"4.0.3","commander":"12.1.0","cpy":"11.1.0","cross-spawn":"7.0.6","domutils":"^3.2.2","extract-zip":"^2.0.1","got":"12.6.0","htmlparser2":"^10.0.0","lunr":"^2.3.9","lunr-languages":"^1.14.0","mime":"^4.0.6","prompts":"2.4.2","rimraf":"6.0.1","tar":"7.4.3","update-check":"1.5.4","ws":"^8.18.0"}}');
|
|
201735
201933
|
|
|
201736
201934
|
/***/ })
|
|
201737
201935
|
|
package/dist/locales/de.json
CHANGED
|
@@ -27,14 +27,26 @@
|
|
|
27
27
|
"audio-play": "Abspielen/Pause",
|
|
28
28
|
"archive-offline": "Offline",
|
|
29
29
|
"download-offline": "Offline",
|
|
30
|
+
"ide-fullscreen-enter": "Vollbild",
|
|
31
|
+
"ide-fullscreen-exit": "Vollbild beenden",
|
|
30
32
|
"pyide-run": "Ausführen",
|
|
33
|
+
"pyide-running": "Wird ausgeführt ...",
|
|
31
34
|
"pyide-running-click-to-stop": "Wird ausgeführt (Klicken zum Stoppen) ...",
|
|
32
35
|
"pyide-running-refresh-to-stop": "Wird ausgeführt (Aktualisieren zum Stoppen) ...",
|
|
33
36
|
"pyide-test": "Testen",
|
|
37
|
+
"pyide-testing": "Test läuft ...",
|
|
34
38
|
"pyide-test-running-click-to-stop": "Test läuft (Klicken zum Stoppen) ...",
|
|
35
39
|
"pyide-test-running-refresh-to-stop": "Test läuft (Aktualisieren zum Stoppen) ...",
|
|
40
|
+
"pyide-stop": "Stoppen",
|
|
41
|
+
"pyide-stop-refresh": "Stoppen (Neuladen)",
|
|
42
|
+
"pyide-locked-other-instance-running": "Eine andere PyIDE-Instanz läuft",
|
|
43
|
+
"pyide-stopping": "Wird gestoppt ...",
|
|
44
|
+
"pyide-stop-reloading": "Zum Stoppen ist auf dieser Seite ein Neuladen nötig. Seite wird neu geladen...",
|
|
45
|
+
"pyide-stop-refresh-required": "Stopp angefordert. Wenn die Ausführung nicht stoppt, Seite neu laden oder COOP/COEP-Header aktivieren.",
|
|
36
46
|
"pyide-output": "Ausgabe",
|
|
47
|
+
"pyide-canvas": "Canvas",
|
|
37
48
|
"pyide-input": "Eingabe",
|
|
49
|
+
"pyide-input-prompt": "Eingabe erforderlich:",
|
|
38
50
|
"pyide-reset": "Zurücksetzen",
|
|
39
51
|
"pyide-copy": "Kopieren",
|
|
40
52
|
"pyide-download": "Herunterladen",
|
package/dist/locales/en.json
CHANGED
|
@@ -27,14 +27,26 @@
|
|
|
27
27
|
"audio-play": "Play/Pause",
|
|
28
28
|
"archive-offline": "Offline",
|
|
29
29
|
"download-offline": "Offline",
|
|
30
|
+
"ide-fullscreen-enter": "Fullscreen",
|
|
31
|
+
"ide-fullscreen-exit": "Exit Fullscreen",
|
|
30
32
|
"pyide-run": "Run",
|
|
33
|
+
"pyide-running": "Running ...",
|
|
31
34
|
"pyide-running-click-to-stop": "Running (Click to stop) ...",
|
|
32
35
|
"pyide-running-refresh-to-stop": "Running (Refresh to stop) ...",
|
|
33
36
|
"pyide-test": "Test",
|
|
37
|
+
"pyide-testing": "Test running ...",
|
|
34
38
|
"pyide-test-running-click-to-stop": "Test running (Click to stop) ...",
|
|
35
39
|
"pyide-test-running-refresh-to-stop": "Test running (Refresh to stop) ...",
|
|
40
|
+
"pyide-stop": "Stop",
|
|
41
|
+
"pyide-stop-refresh": "Stop (refresh)",
|
|
42
|
+
"pyide-locked-other-instance-running": "Another PyIDE instance is running",
|
|
43
|
+
"pyide-stopping": "Stopping ...",
|
|
44
|
+
"pyide-stop-reloading": "Stopping requires a refresh on this page. Reloading now...",
|
|
45
|
+
"pyide-stop-refresh-required": "Stop requested. If execution does not stop, refresh the page or enable COOP/COEP headers.",
|
|
36
46
|
"pyide-output": "Output",
|
|
47
|
+
"pyide-canvas": "Canvas",
|
|
37
48
|
"pyide-input": "Input",
|
|
49
|
+
"pyide-input-prompt": "Input required:",
|
|
38
50
|
"pyide-reset": "Reset",
|
|
39
51
|
"pyide-copy": "Copy",
|
|
40
52
|
"pyide-download": "Download",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hyperbook",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.91.1",
|
|
4
4
|
"author": "Mike Barkmin",
|
|
5
5
|
"homepage": "https://github.com/openpatch/hyperbook#readme",
|
|
6
6
|
"license": "MIT",
|
|
@@ -57,9 +57,9 @@
|
|
|
57
57
|
"update-check": "1.5.4",
|
|
58
58
|
"ws": "^8.18.0",
|
|
59
59
|
"create-hyperbook": "0.3.6",
|
|
60
|
-
"@hyperbook/
|
|
60
|
+
"@hyperbook/fs": "0.25.0",
|
|
61
61
|
"@hyperbook/types": "0.23.0",
|
|
62
|
-
"@hyperbook/
|
|
62
|
+
"@hyperbook/markdown": "0.62.1"
|
|
63
63
|
},
|
|
64
64
|
"scripts": {
|
|
65
65
|
"version": "pnpm build",
|