hyperbook 0.33.2 → 0.34.0

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 (179) hide show
  1. package/dist/assets/client.js +83 -0
  2. package/dist/assets/code.css +246 -0
  3. package/dist/assets/content.css +434 -0
  4. package/dist/assets/directive-alert/style.css +111 -0
  5. package/dist/assets/directive-archive/client.js +23 -0
  6. package/dist/assets/directive-archive/style.css +33 -0
  7. package/dist/assets/directive-audio/client.js +88 -0
  8. package/dist/assets/directive-audio/style.css +56 -0
  9. package/dist/assets/directive-audio/wavesurfer.min.js +1 -0
  10. package/dist/assets/directive-bookmarks/client.js +24 -0
  11. package/dist/assets/directive-bookmarks/style.css +55 -0
  12. package/dist/assets/directive-collapsible/style.css +66 -0
  13. package/dist/assets/directive-download/client.js +23 -0
  14. package/dist/assets/directive-download/style.css +33 -0
  15. package/dist/assets/directive-embed/style.css +24 -0
  16. package/dist/assets/directive-excalidraw/client.js +2 -0
  17. package/dist/assets/directive-excalidraw/excalidraw-assets/Assistant-Bold.woff2 +0 -0
  18. package/dist/assets/directive-excalidraw/excalidraw-assets/Assistant-Medium.woff2 +0 -0
  19. package/dist/assets/directive-excalidraw/excalidraw-assets/Assistant-Regular.woff2 +0 -0
  20. package/dist/assets/directive-excalidraw/excalidraw-assets/Assistant-SemiBold.woff2 +0 -0
  21. package/dist/assets/directive-excalidraw/excalidraw-assets/Cascadia.woff2 +0 -0
  22. package/dist/assets/directive-excalidraw/excalidraw-assets/Virgil.woff2 +0 -0
  23. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/ar-SA-json-db7c644ccbeb85d54a47.js +1 -0
  24. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/az-AZ-json-08a6de50238dbb21926c.js +1 -0
  25. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/bg-BG-json-42fb0378311f3ade2627.js +1 -0
  26. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/bn-BD-json-9ad9e5ae95c4c66297b1.js +1 -0
  27. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/ca-ES-json-a6b2c18f7e85cfd11599.js +1 -0
  28. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/cs-CZ-json-ea03835d73f9b921f7c4.js +1 -0
  29. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/da-DK-json-a94944ac6fa9756d2fac.js +1 -0
  30. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/de-DE-json-d82053ab52357510811b.js +1 -0
  31. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/el-GR-json-4cbc2dbda5a5df636ee1.js +1 -0
  32. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/es-ES-json-7afb66536ee40d852fa2.js +1 -0
  33. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/eu-ES-json-671a4afcfce7b0a7660b.js +1 -0
  34. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/fa-IR-json-76b039039b043cc4280c.js +1 -0
  35. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/fi-FI-json-64c8902f10425e1b2e81.js +1 -0
  36. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/fr-FR-json-d16a471290ba26a6c66a.js +1 -0
  37. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/gl-ES-json-d11c7966c3c2f95756e0.js +1 -0
  38. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/he-IL-json-a7bc2a673875b2e655e1.js +1 -0
  39. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/hi-IN-json-4947c9dace32cc3c6eef.js +1 -0
  40. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/hu-HU-json-0419027d32efac73d518.js +1 -0
  41. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/id-ID-json-6542dd92ab54a2c1c48e.js +1 -0
  42. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/it-IT-json-ab410570df07304cb0ca.js +1 -0
  43. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/ja-JP-json-2cb067da0fb518e73564.js +1 -0
  44. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/kaa-json-4d0a4868835d0334a549.js +1 -0
  45. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/kab-KAB-json-0d400ba2836cc0752cd6.js +1 -0
  46. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/kk-KZ-json-2224f237cc93465f126f.js +1 -0
  47. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/km-KH-json-cbe8e2e8d26d30a3175c.js +1 -0
  48. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/ko-KR-json-c2387972637d47f15765.js +1 -0
  49. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/ku-TR-json-bafa8865ed7002bb249e.js +1 -0
  50. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/lt-LT-json-9b7e91a51b90ee551cad.js +1 -0
  51. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/lv-LV-json-f7f9363e42ee2e3a7c67.js +1 -0
  52. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/mr-IN-json-ad1359c30c334d05eee0.js +1 -0
  53. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/my-MM-json-3ba296b6fcf2a2197a7c.js +1 -0
  54. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/nb-NO-json-798d785698d467e76fcf.js +1 -0
  55. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/nl-NL-json-2cf913fe2f491c5d7075.js +1 -0
  56. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/nn-NO-json-aa607835ad9408789c5f.js +1 -0
  57. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/oc-FR-json-644a5eaa1311f70cb697.js +1 -0
  58. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/pa-IN-json-165c5c2760688033b2cc.js +1 -0
  59. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/pl-PL-json-35c1f168f53af24b657a.js +1 -0
  60. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/pt-BR-json-370215dc506c58ee3217.js +1 -0
  61. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/pt-PT-json-6f3d80656622a222b4e2.js +1 -0
  62. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/ro-RO-json-3c32b962880e225d3416.js +1 -0
  63. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/ru-RU-json-e1f4ed9d2d074f778304.js +1 -0
  64. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/si-LK-json-4921d4298abfa256fe6f.js +1 -0
  65. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/sk-SK-json-27b59d7e026675f929c4.js +1 -0
  66. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/sl-SI-json-efb839ef0456f5c72e6e.js +1 -0
  67. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/sv-SE-json-cfab3adbd37dd273c61e.js +1 -0
  68. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/ta-IN-json-2fa1854af68381c61913.js +1 -0
  69. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/th-TH-json-9a390d3cc7a7a6226b63.js +1 -0
  70. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/tr-TR-json-fc9b16e9dc2be2660439.js +1 -0
  71. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/uk-UA-json-82753e98dced302ac187.js +1 -0
  72. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/vi-VN-json-9c1c2a9fa9d6b5a58223.js +1 -0
  73. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/zh-CN-json-069c304b5011429be615.js +1 -0
  74. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/zh-HK-json-d9bf1e4e2d1f8650c680.js +1 -0
  75. package/dist/assets/directive-excalidraw/excalidraw-assets/locales/zh-TW-json-5a3fa7cacfa83c411d89.js +1 -0
  76. package/dist/assets/directive-excalidraw/excalidraw-assets/vendor-677e88ca78c86bddf13d.js +2 -0
  77. package/dist/assets/directive-excalidraw/excalidraw-assets/vendor-677e88ca78c86bddf13d.js.LICENSE.txt +32 -0
  78. package/dist/assets/directive-excalidraw/hyperbook-excalidraw.umd.js +186 -0
  79. package/dist/assets/directive-excalidraw/style.css +10 -0
  80. package/dist/assets/directive-mermaid/client.js +50 -0
  81. package/dist/assets/directive-mermaid/mermaid.min.js +2225 -0
  82. package/dist/assets/directive-mermaid/style.css +7 -0
  83. package/dist/assets/directive-onlineide/client.js +14 -0
  84. package/dist/assets/directive-onlineide/style.css +24 -0
  85. package/dist/assets/directive-pagelist/style.css +18 -0
  86. package/dist/assets/directive-protect/client.js +80 -0
  87. package/dist/assets/directive-protect/style.css +54 -0
  88. package/dist/assets/directive-qr/style.css +77 -0
  89. package/dist/assets/directive-scratchblock/client.js +30 -0
  90. package/dist/assets/directive-scratchblock/scratchblocks.min.js +6773 -0
  91. package/dist/assets/directive-scratchblock/style.css +0 -0
  92. package/dist/assets/directive-scratchblock/translations.js +4851 -0
  93. package/dist/assets/directive-slideshow/client.js +64 -0
  94. package/dist/assets/directive-slideshow/style.css +117 -0
  95. package/dist/assets/directive-sqlide/client.js +14 -0
  96. package/dist/assets/directive-sqlide/style.css +24 -0
  97. package/dist/assets/directive-struktog/style.css +571 -0
  98. package/dist/assets/directive-tabs/client.js +37 -0
  99. package/dist/assets/directive-tabs/style.css +66 -0
  100. package/dist/assets/directive-term/style.css +0 -0
  101. package/dist/assets/directive-tiles/style.css +92 -0
  102. package/dist/assets/directive-video/style.css +27 -0
  103. package/dist/assets/directive-youtube/style.css +16 -0
  104. package/dist/assets/math/fonts/KaTeX_AMS-Regular.ttf +0 -0
  105. package/dist/assets/math/fonts/KaTeX_AMS-Regular.woff +0 -0
  106. package/dist/assets/math/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  107. package/dist/assets/math/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
  108. package/dist/assets/math/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
  109. package/dist/assets/math/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  110. package/dist/assets/math/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  111. package/dist/assets/math/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  112. package/dist/assets/math/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  113. package/dist/assets/math/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
  114. package/dist/assets/math/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  115. package/dist/assets/math/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  116. package/dist/assets/math/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  117. package/dist/assets/math/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  118. package/dist/assets/math/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  119. package/dist/assets/math/fonts/KaTeX_Main-Bold.ttf +0 -0
  120. package/dist/assets/math/fonts/KaTeX_Main-Bold.woff +0 -0
  121. package/dist/assets/math/fonts/KaTeX_Main-Bold.woff2 +0 -0
  122. package/dist/assets/math/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
  123. package/dist/assets/math/fonts/KaTeX_Main-BoldItalic.woff +0 -0
  124. package/dist/assets/math/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  125. package/dist/assets/math/fonts/KaTeX_Main-Italic.ttf +0 -0
  126. package/dist/assets/math/fonts/KaTeX_Main-Italic.woff +0 -0
  127. package/dist/assets/math/fonts/KaTeX_Main-Italic.woff2 +0 -0
  128. package/dist/assets/math/fonts/KaTeX_Main-Regular.ttf +0 -0
  129. package/dist/assets/math/fonts/KaTeX_Main-Regular.woff +0 -0
  130. package/dist/assets/math/fonts/KaTeX_Main-Regular.woff2 +0 -0
  131. package/dist/assets/math/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
  132. package/dist/assets/math/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  133. package/dist/assets/math/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  134. package/dist/assets/math/fonts/KaTeX_Math-Italic.ttf +0 -0
  135. package/dist/assets/math/fonts/KaTeX_Math-Italic.woff +0 -0
  136. package/dist/assets/math/fonts/KaTeX_Math-Italic.woff2 +0 -0
  137. package/dist/assets/math/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
  138. package/dist/assets/math/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  139. package/dist/assets/math/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  140. package/dist/assets/math/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
  141. package/dist/assets/math/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  142. package/dist/assets/math/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  143. package/dist/assets/math/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
  144. package/dist/assets/math/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  145. package/dist/assets/math/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  146. package/dist/assets/math/fonts/KaTeX_Script-Regular.ttf +0 -0
  147. package/dist/assets/math/fonts/KaTeX_Script-Regular.woff +0 -0
  148. package/dist/assets/math/fonts/KaTeX_Script-Regular.woff2 +0 -0
  149. package/dist/assets/math/fonts/KaTeX_Size1-Regular.ttf +0 -0
  150. package/dist/assets/math/fonts/KaTeX_Size1-Regular.woff +0 -0
  151. package/dist/assets/math/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  152. package/dist/assets/math/fonts/KaTeX_Size2-Regular.ttf +0 -0
  153. package/dist/assets/math/fonts/KaTeX_Size2-Regular.woff +0 -0
  154. package/dist/assets/math/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  155. package/dist/assets/math/fonts/KaTeX_Size3-Regular.ttf +0 -0
  156. package/dist/assets/math/fonts/KaTeX_Size3-Regular.woff +0 -0
  157. package/dist/assets/math/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  158. package/dist/assets/math/fonts/KaTeX_Size4-Regular.ttf +0 -0
  159. package/dist/assets/math/fonts/KaTeX_Size4-Regular.woff +0 -0
  160. package/dist/assets/math/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  161. package/dist/assets/math/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
  162. package/dist/assets/math/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  163. package/dist/assets/math/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  164. package/dist/assets/math/katex.min.css +1105 -0
  165. package/dist/assets/normalize.css +349 -0
  166. package/dist/assets/shell.css +699 -0
  167. package/dist/assets/side-drawer.js +206 -0
  168. package/dist/index.js +28 -23
  169. package/package.json +9 -5
  170. package/LICENSE.md +0 -21
  171. package/dist/templates/default/.hyperbook/package.json +0 -50
  172. package/dist/templates/default/.hyperbook/src/index.css +0 -14
  173. package/dist/templates/default/.hyperbook/src/pages/[[...page]].js +0 -57
  174. package/dist/templates/default/.hyperbook/src/pages/_app.js +0 -135
  175. package/dist/templates/default/.hyperbook/src/pages/_document.js +0 -11
  176. package/dist/templates/default/.hyperbook/src/pages/api/save.js +0 -39
  177. package/dist/templates/default/.hyperbook/src/pages/glossary/[...term].js +0 -59
  178. package/dist/templates/default/.hyperbook/src/pages/glossary/index.js +0 -28
  179. package/dist/templates/default/.hyperbook/src/useScrollHash.js +0 -14
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hyperbook",
3
- "version": "0.33.2",
3
+ "version": "0.34.0",
4
4
  "author": "Mike Barkmin",
5
5
  "homepage": "https://github.com/openpatch/hyperbook#readme",
6
6
  "license": "MIT",
@@ -31,6 +31,7 @@
31
31
  "@types/cross-spawn": "6.0.6",
32
32
  "@types/prompts": "2.4.9",
33
33
  "@types/tar": "6.1.13",
34
+ "@types/ws": "^8.5.12",
34
35
  "@vercel/ncc": "0.38.1",
35
36
  "archiver": "7.0.1",
36
37
  "async-retry": "1.3.3",
@@ -43,16 +44,19 @@
43
44
  "rimraf": "5.0.7",
44
45
  "tar": "6.2.1",
45
46
  "update-check": "1.5.4",
46
- "@platforms/web": "0.33.2"
47
+ "chokidar": "3.6.0",
48
+ "mime": "^4.0.4",
49
+ "ws": "^8.18.0",
50
+ "@hyperbook/markdown": "0.10.0"
47
51
  },
48
52
  "dependencies": {
49
- "@hyperbook/fs": "0.13.0",
50
- "@hyperbook/types": "0.8.1"
53
+ "@hyperbook/types": "0.9.0",
54
+ "@hyperbook/fs": "0.14.0"
51
55
  },
52
56
  "scripts": {
53
57
  "version": "pnpm build",
54
58
  "lint": "tsc --noEmit",
55
59
  "dev": "ncc build ./index.ts -w -o dist/",
56
- "build": "rimraf dist && ncc build ./index.ts -o ./dist/ -e \"hyperbook-simple-template\" --minify --no-cache --no-source-map-register && node ./postbuild.mjs"
60
+ "build": "rimraf dist && ncc build ./index.ts -o ./dist/ --minify --no-cache --no-source-map-register && node postbuild.mjs"
57
61
  }
58
62
  }
package/LICENSE.md DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2021 Mike Barkmin
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,50 +0,0 @@
1
- {
2
- "name": "@platforms/web",
3
- "version": "0.33.2",
4
- "private": true,
5
- "dependencies": {
6
- "gray-matter": "4.0.3",
7
- "next": "13.4.5",
8
- "react": "18.3.1",
9
- "react-dom": "18.3.1",
10
- "react-redux": "9.1.2",
11
- "redux": "5.0.1",
12
- "redux-persist": "6.0.0",
13
- "@hyperbook/drawer": "0.1.2",
14
- "@hyperbook/element-alert": "0.2.2",
15
- "@hyperbook/element-bitflow": "0.2.2",
16
- "@hyperbook/element-bookmarks": "0.3.3",
17
- "@hyperbook/element-audio": "0.2.2",
18
- "@hyperbook/element-collapsible": "0.4.2",
19
- "@hyperbook/element-dl": "0.2.3",
20
- "@hyperbook/element-embed": "0.2.2",
21
- "@hyperbook/element-excalidraw": "0.6.2",
22
- "@hyperbook/element-online-ide": "0.6.2",
23
- "@hyperbook/element-mermaid": "0.3.6",
24
- "@hyperbook/element-plantuml": "0.2.2",
25
- "@hyperbook/element-protect": "0.4.2",
26
- "@hyperbook/element-scratchblock": "0.2.2",
27
- "@hyperbook/element-qr": "0.3.2",
28
- "@hyperbook/element-slideshow": "0.0.2",
29
- "@hyperbook/element-sql-ide": "0.5.2",
30
- "@hyperbook/element-struktog": "0.2.2",
31
- "@hyperbook/element-tiles": "0.1.4",
32
- "@hyperbook/element-video": "0.2.3",
33
- "@hyperbook/element-term": "0.2.2",
34
- "@hyperbook/element-youtube": "0.2.2",
35
- "@hyperbook/element-tabs": "0.2.2",
36
- "@hyperbook/fs": "0.13.0",
37
- "@hyperbook/markdown": "0.9.6",
38
- "@hyperbook/shell": "0.7.5",
39
- "@hyperbook/provider": "0.4.2",
40
- "@hyperbook/styles": "0.4.0",
41
- "@hyperbook/store": "0.2.1"
42
- },
43
- "devDependencies": {
44
- "@hyperbook/next-watch": "0.7.3"
45
- },
46
- "scripts": {
47
- "next:dev": "next-hyperbook-watch",
48
- "next:build": "next build"
49
- }
50
- }
@@ -1,14 +0,0 @@
1
- html,
2
- body {
3
- overflow-x: hidden;
4
- margin: 0;
5
- }
6
-
7
- body {
8
- -ms-overflow-style: none; /* IE and Edge */
9
- scrollbar-width: none; /* Firefox */
10
- }
11
-
12
- body::-webkit-scrollbar {
13
- display: none;
14
- }
@@ -1,57 +0,0 @@
1
- import React from "react";
2
- import { Shell } from "@hyperbook/shell";
3
- import { Markdown } from "@hyperbook/markdown";
4
- import { useActivePageId, useLink } from "@hyperbook/provider";
5
- import { Fragment } from "react";
6
- import { vfile, hyperbook } from "@hyperbook/fs";
7
- import { useScrollHash } from "../useScrollHash";
8
- import path from "path";
9
- function BookPage({ markdown, data, navigation }) {
10
- const Link = useLink();
11
- useActivePageId();
12
- useScrollHash();
13
- return /* @__PURE__ */ React.createElement(Fragment, null, /* @__PURE__ */ React.createElement(Shell, { navigation }, /* @__PURE__ */ React.createElement("article", null, /* @__PURE__ */ React.createElement(Markdown, { children: markdown, showToc: data.toc !== false })), !data.hide && /* @__PURE__ */ React.createElement("div", { className: "jump-container" }, navigation.previous ? /* @__PURE__ */ React.createElement(Link, { className: "jump previous", href: navigation.previous.href }, navigation.previous.name) : /* @__PURE__ */ React.createElement("div", { className: "flex" }), navigation.next ? /* @__PURE__ */ React.createElement(Link, { className: "jump next", href: navigation.next.href }, navigation.next.name) : /* @__PURE__ */ React.createElement("div", { className: "flex" }))));
14
- }
15
- const getStaticProps = async ({ params }) => {
16
- const root = process.env.root ?? process.cwd();
17
- let href = "";
18
- if (params.page) {
19
- href = path.join(...params.page);
20
- }
21
- const file = await vfile.get(root, "book", "/" + href);
22
- const { content, data } = file.markdown;
23
- const hyperbookJson = await hyperbook.getJson(root);
24
- const navigation = await hyperbook.getNavigation(root, file);
25
- return {
26
- props: {
27
- locale: data?.lang || hyperbookJson.language,
28
- markdown: content,
29
- data,
30
- navigation
31
- }
32
- };
33
- };
34
- const getStaticPaths = async () => {
35
- const root = process.env.root ?? process.cwd();
36
- const files = await vfile.listForFolder(root, "book");
37
- const paths = files.map((f) => {
38
- const page = f.path.href.slice(1).split("/");
39
- if (f.name === "index" && f.path.directory === "") {
40
- page.pop();
41
- }
42
- return {
43
- params: {
44
- page
45
- }
46
- };
47
- });
48
- return {
49
- paths,
50
- fallback: false
51
- };
52
- };
53
- export {
54
- BookPage as default,
55
- getStaticPaths,
56
- getStaticProps
57
- };
@@ -1,135 +0,0 @@
1
- import React from "react";
2
- import "../index.css";
3
- import "@hyperbook/shell/index.css";
4
- import "@hyperbook/drawer/index.css";
5
- import "@hyperbook/markdown/katex.css";
6
- import "@hyperbook/markdown/index.css";
7
- import { Provider } from "@hyperbook/provider";
8
- import elementTab from "@hyperbook/element-tabs";
9
- import "@hyperbook/element-tabs/index.css";
10
- import elementAudio from "@hyperbook/element-audio";
11
- import "@hyperbook/element-audio/index.css";
12
- import elementVideo from "@hyperbook/element-video";
13
- import "@hyperbook/element-video/index.css";
14
- import elementAlert from "@hyperbook/element-alert";
15
- import "@hyperbook/element-alert/index.css";
16
- import elementTerm from "@hyperbook/element-term";
17
- import "@hyperbook/element-term/index.css";
18
- import elementYoutube from "@hyperbook/element-youtube";
19
- import "@hyperbook/element-youtube/index.css";
20
- import elementPlantuml from "@hyperbook/element-plantuml";
21
- import "@hyperbook/element-plantuml/index.css";
22
- import elementProtect from "@hyperbook/element-protect";
23
- import "@hyperbook/element-protect/index.css";
24
- import elementCollapsible from "@hyperbook/element-collapsible";
25
- import "@hyperbook/element-collapsible/index.css";
26
- import elementDl from "@hyperbook/element-dl";
27
- import "@hyperbook/element-dl/index.css";
28
- import elementBookmarks from "@hyperbook/element-bookmarks";
29
- import "@hyperbook/element-bookmarks/index.css";
30
- import elementStruktog from "@hyperbook/element-struktog";
31
- import "@hyperbook/element-struktog/index.css";
32
- import elementQr from "@hyperbook/element-qr";
33
- import "@hyperbook/element-qr/index.css";
34
- import elementMermaid from "@hyperbook/element-mermaid";
35
- import "@hyperbook/element-mermaid/index.css";
36
- import elementExcalidraw from "@hyperbook/element-excalidraw";
37
- import "@hyperbook/element-excalidraw/index.css";
38
- import elementEmbed from "@hyperbook/element-embed";
39
- import "@hyperbook/element-embed/index.css";
40
- import elementOnlineIde from "@hyperbook/element-online-ide";
41
- import "@hyperbook/element-online-ide/index.css";
42
- import elementSqlIde from "@hyperbook/element-sql-ide";
43
- import "@hyperbook/element-sql-ide/index.css";
44
- import elementBitflow from "@hyperbook/element-bitflow";
45
- import "@hyperbook/element-bitflow/index.css";
46
- import elementScratchblock from "@hyperbook/element-scratchblock";
47
- import "@hyperbook/element-scratchblock/index.css";
48
- import elementTiles from "@hyperbook/element-tiles";
49
- import "@hyperbook/element-tiles/index.css";
50
- import elementSlideshow from "@hyperbook/element-slideshow";
51
- import "@hyperbook/element-slideshow/index.css";
52
- import Link from "next/link";
53
- import Head from "next/head";
54
- import { Styles } from "@hyperbook/styles";
55
- import { localStorage, noopStorage } from "@hyperbook/store";
56
- import { useRouter } from "next/router";
57
- import { useEffect } from "react";
58
- import hb from "../../hyperbook.json";
59
- const MyLink = ({ ref, href, children, ...props }) => {
60
- return /* @__PURE__ */ React.createElement(Link, { href, ...props }, children);
61
- };
62
- const makeUrl = ({ basePath }) => (path) => {
63
- if (process.env.NODE_ENV === "production" && basePath && path?.startsWith("/")) {
64
- if (basePath.endsWith("/")) {
65
- path = basePath.slice(0, -1) + path;
66
- } else {
67
- path = basePath + path;
68
- }
69
- }
70
- return path;
71
- };
72
- function MyApp({ Component, pageProps }) {
73
- const router = useRouter();
74
- useEffect(() => {
75
- document.documentElement.lang = pageProps.locale;
76
- }, [pageProps.locale]);
77
- return /* @__PURE__ */ React.createElement(
78
- Provider,
79
- {
80
- Link: MyLink,
81
- Head,
82
- config: hb,
83
- makeUrl,
84
- env: process.env.NODE_ENV === "production" ? "production" : "development",
85
- elements: [
86
- elementTab,
87
- elementAudio,
88
- elementVideo,
89
- elementAlert,
90
- elementTerm,
91
- elementYoutube,
92
- elementCollapsible,
93
- elementPlantuml,
94
- elementProtect,
95
- elementDl,
96
- elementEmbed,
97
- elementBookmarks,
98
- elementStruktog,
99
- elementOnlineIde,
100
- elementSqlIde,
101
- elementQr,
102
- elementMermaid,
103
- elementExcalidraw,
104
- elementScratchblock,
105
- elementBitflow,
106
- elementTiles,
107
- elementSlideshow
108
- ],
109
- router,
110
- storage: typeof window !== "undefined" ? localStorage : noopStorage,
111
- loadFile: () => async (path) => {
112
- return fetch(path).then((res) => res.text());
113
- },
114
- saveFile: () => async (path, content, rootFolder) => {
115
- await fetch("/api/save", {
116
- method: "POST",
117
- headers: {
118
- "Content-Type": "application/json"
119
- },
120
- body: JSON.stringify({
121
- path,
122
- content,
123
- rootFolder
124
- })
125
- });
126
- },
127
- getActivePageId: async () => router.asPath.split("#")?.[0] || "/"
128
- },
129
- /* @__PURE__ */ React.createElement(Styles, null),
130
- /* @__PURE__ */ React.createElement(Component, { ...pageProps })
131
- );
132
- }
133
- export {
134
- MyApp as default
135
- };
@@ -1,11 +0,0 @@
1
- import React from "react";
2
- import Document, { Html, Head, Main, NextScript } from "next/document";
3
- class MyDocument extends Document {
4
- render() {
5
- return /* @__PURE__ */ React.createElement(Html, { lang: this.props.__NEXT_DATA__.props.pageProps.locale }, /* @__PURE__ */ React.createElement(Head, null), /* @__PURE__ */ React.createElement("body", null, /* @__PURE__ */ React.createElement(Main, null), /* @__PURE__ */ React.createElement(NextScript, null)));
6
- }
7
- }
8
- var document_default = MyDocument;
9
- export {
10
- document_default as default
11
- };
@@ -1,39 +0,0 @@
1
- import fs from "fs/promises";
2
- import path from "path";
3
- async function ensureDirectoryExistence(filePath) {
4
- var dirname = path.dirname(filePath);
5
- try {
6
- await fs.access(dirname);
7
- return true;
8
- } catch (e) {
9
- fs.mkdir(dirname).then(async () => ensureDirectoryExistence(dirname));
10
- }
11
- }
12
- const config = {
13
- api: {
14
- bodyParser: {
15
- sizeLimit: "32mb"
16
- }
17
- }
18
- };
19
- async function handler(req, res) {
20
- if (process.env.NODE_ENV !== "development") {
21
- res.status(404).json({ status: "failed" });
22
- }
23
- let { path: p, content, rootFolder } = req.body;
24
- if (rootFolder) {
25
- p = path.join(rootFolder, p);
26
- }
27
- p = path.join(__dirname, "..", "..", "..", "..", p);
28
- try {
29
- await ensureDirectoryExistence(p);
30
- await fs.writeFile(p, content);
31
- res.status(202).json({ status: "saved" });
32
- } catch (e) {
33
- res.status(400).json(e);
34
- }
35
- }
36
- export {
37
- config,
38
- handler as default
39
- };
@@ -1,59 +0,0 @@
1
- import React from "react";
2
- import { Shell } from "@hyperbook/shell";
3
- import { Fragment } from "react";
4
- import { useActivePageId, useLink } from "@hyperbook/provider";
5
- import { Markdown } from "@hyperbook/markdown";
6
- import { hyperbook, vfile } from "@hyperbook/fs";
7
- import { useScrollHash } from "../../useScrollHash";
8
- function Term({
9
- markdown,
10
- navigation,
11
- data,
12
- references
13
- }) {
14
- const Link = useLink();
15
- useActivePageId();
16
- useScrollHash();
17
- return /* @__PURE__ */ React.createElement(Shell, { navigation }, /* @__PURE__ */ React.createElement("article", null, /* @__PURE__ */ React.createElement(Markdown, { children: markdown, showToc: data.toc !== false }), /* @__PURE__ */ React.createElement("div", { className: "pages" }, references.map((p, i) => /* @__PURE__ */ React.createElement(Fragment, { key: p.path.href }, i > 0 && ", ", /* @__PURE__ */ React.createElement(Link, { href: p.path.href }, p.markdown?.data?.name ?? p.name))))));
18
- }
19
- const getStaticProps = async ({ params }) => {
20
- const root = process.env.root ?? process.cwd();
21
- const file = await vfile.get(
22
- root,
23
- "glossary",
24
- "/glossary/" + params.term.join("/")
25
- );
26
- if (!file) {
27
- throw Error(`Missing file ${file}`);
28
- }
29
- const { content, data } = await vfile.getMarkdown(file);
30
- const hyperbookJson = await hyperbook.getJson(root);
31
- const navigation = await hyperbook.getNavigation(root, file);
32
- return {
33
- props: {
34
- locale: data?.lang || hyperbookJson.language,
35
- markdown: content,
36
- data,
37
- references: file.references,
38
- navigation
39
- }
40
- };
41
- };
42
- const getStaticPaths = async () => {
43
- const root = process.env.root ?? process.cwd();
44
- const files = await vfile.listForFolder(root, "glossary");
45
- const paths = files.map((f) => ({
46
- params: {
47
- term: f.path.href.slice(10).split("/")
48
- }
49
- }));
50
- return {
51
- paths,
52
- fallback: false
53
- };
54
- };
55
- export {
56
- Term as default,
57
- getStaticPaths,
58
- getStaticProps
59
- };
@@ -1,28 +0,0 @@
1
- import React from "react";
2
- import { Shell } from "@hyperbook/shell";
3
- import { useActivePageId, useLink } from "@hyperbook/provider";
4
- import { hyperbook, vfile } from "@hyperbook/fs";
5
- import { useScrollHash } from "../../useScrollHash";
6
- function Glossary({ glossary, navigation }) {
7
- const Link = useLink();
8
- useActivePageId();
9
- useScrollHash();
10
- return /* @__PURE__ */ React.createElement(Shell, { navigation }, /* @__PURE__ */ React.createElement("article", { className: "glossary" }, Object.keys(glossary).map((letter) => /* @__PURE__ */ React.createElement("div", { key: letter, className: "container" }, /* @__PURE__ */ React.createElement("div", { className: "letter" }, letter), /* @__PURE__ */ React.createElement("ul", { className: "terms" }, glossary[letter].map((term) => /* @__PURE__ */ React.createElement("li", { key: term.href }, /* @__PURE__ */ React.createElement(Link, { className: "term", href: term.href }, term.name))))))));
11
- }
12
- const getStaticProps = async () => {
13
- const root = process.env.root ?? process.cwd();
14
- const glossaryData = await vfile.getGlossary(root);
15
- const hyperbookJson = await hyperbook.getJson(root);
16
- const navigation = await hyperbook.getNavigation(root);
17
- return {
18
- props: {
19
- locale: hyperbookJson.language,
20
- glossary: glossaryData,
21
- navigation
22
- }
23
- };
24
- };
25
- export {
26
- Glossary as default,
27
- getStaticProps
28
- };
@@ -1,14 +0,0 @@
1
- import { useEffect } from "react";
2
- const useScrollHash = () => {
3
- useEffect(() => {
4
- const hash = window.location.hash;
5
- if (hash) {
6
- setTimeout(() => {
7
- document.querySelector(hash)?.scrollIntoView({ behavior: "smooth" });
8
- }, 100);
9
- }
10
- });
11
- };
12
- export {
13
- useScrollHash
14
- };