From 7ffa87eb447f084c1dfcaa615fe6c889fe109175 Mon Sep 17 00:00:00 2001 From: "simonaltschaffl@gmail.com" Date: Thu, 1 May 2025 21:05:09 +0200 Subject: [PATCH] update --- package-lock.json | 1560 +++++++++++++++++ package.json | 1 + .../projects/languageStudy/images/stats.png | Bin 0 -> 33646 bytes .../projects/languageStudy/images/top1000.png | Bin 0 -> 19724 bytes src/components/app.jsx | 3 +- src/components/projects/languageStudy.jsx | 12 + 6 files changed, 1575 insertions(+), 1 deletion(-) create mode 100644 public/assets/projects/languageStudy/images/stats.png create mode 100644 public/assets/projects/languageStudy/images/top1000.png create mode 100644 src/components/projects/languageStudy.jsx diff --git a/package-lock.json b/package-lock.json index cc14c7b..1cdfd0b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,7 @@ "react": "^19.1.0", "react-bootstrap": "^2.10.9", "react-dom": "^19.1.0", + "react-jupyter-notebook-viewer": "^1.1.13", "react-router-dom": "^7.5.2", "react-scripts": "5.0.1", "web-vitals": "^2.1.4" @@ -3742,6 +3743,15 @@ "@types/node": "*" } }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, "node_modules/@types/eslint": { "version": "8.56.12", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz", @@ -3813,6 +3823,15 @@ "@types/node": "*" } }, + "node_modules/@types/hast": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz", + "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2" + } + }, "node_modules/@types/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", @@ -3870,12 +3889,27 @@ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "license": "MIT" }, + "node_modules/@types/mdast": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2" + } + }, "node_modules/@types/mime": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", "license": "MIT" }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, "node_modules/@types/node": { "version": "22.14.1", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.1.tgz", @@ -4020,6 +4054,12 @@ "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", "license": "MIT" }, + "node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, "node_modules/@types/warning": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/warning/-/warning-3.0.3.tgz", @@ -5281,6 +5321,16 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -5646,6 +5696,16 @@ "node": ">=4" } }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -5671,6 +5731,36 @@ "node": ">=10" } }, + "node_modules/character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/check-types": { "version": "11.2.3", "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", @@ -5924,6 +6014,16 @@ "node": ">= 0.8" } }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/commander": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", @@ -6611,6 +6711,29 @@ "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==", "license": "MIT" }, + "node_modules/decode-named-character-reference": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.1.0.tgz", + "integrity": "sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/decode-named-character-reference/node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", @@ -6777,6 +6900,15 @@ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", "license": "Apache-2.0" }, + "node_modules/diff": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/diff-sequences": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", @@ -8078,6 +8210,12 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT" }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -8149,6 +8287,19 @@ "reusify": "^1.0.4" } }, + "node_modules/fault": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz", + "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==", + "license": "MIT", + "dependencies": { + "format": "^0.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/faye-websocket": { "version": "0.11.4", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", @@ -8529,6 +8680,14 @@ "node": ">= 6" } }, + "node_modules/format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "engines": { + "node": ">=0.4.x" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -8997,6 +9156,76 @@ "node": ">= 0.4" } }, + "node_modules/hast-util-parse-selector": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", + "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz", + "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", + "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript/node_modules/comma-separated-tokens": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hastscript/node_modules/property-information": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", + "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", + "license": "MIT", + "dependencies": { + "xtend": "^4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hastscript/node_modules/space-separated-tokens": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -9006,6 +9235,21 @@ "he": "bin/he" } }, + "node_modules/highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, + "node_modules/highlightjs-vue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/highlightjs-vue/-/highlightjs-vue-1.0.0.tgz", + "integrity": "sha512-PDEfEF102G23vHmPhLyPboFCD+BkMGu+GuJe2d9/eH4FsCwvgBpnc9n0pGE+ffKdph38s6foEZiEjdgHdzp+IA==", + "license": "CC0-1.0" + }, "node_modules/hoopy": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", @@ -9417,6 +9661,12 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "license": "ISC" }, + "node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==", + "license": "MIT" + }, "node_modules/internal-slot": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", @@ -9449,6 +9699,30 @@ "node": ">= 10" } }, + "node_modules/is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/is-array-buffer": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", @@ -9534,6 +9808,29 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -9594,6 +9891,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/is-docker": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", @@ -9681,6 +9988,16 @@ "node": ">=0.10.0" } }, + "node_modules/is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/is-map": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", @@ -11361,6 +11678,16 @@ "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", "license": "MIT" }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -11382,6 +11709,20 @@ "tslib": "^2.0.3" } }, + "node_modules/lowlight": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.20.0.tgz", + "integrity": "sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==", + "license": "MIT", + "dependencies": { + "fault": "^1.0.0", + "highlight.js": "~10.7.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -11442,6 +11783,16 @@ "tmpl": "1.0.5" } }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -11451,6 +11802,234 @@ "node": ">= 0.4" } }, + "node_modules/mdast-util-definitions": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz", + "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz", + "integrity": "sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", + "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz", + "integrity": "sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-gfm-autolink-literal": "^1.0.0", + "mdast-util-gfm-footnote": "^1.0.0", + "mdast-util-gfm-strikethrough": "^1.0.0", + "mdast-util-gfm-table": "^1.0.0", + "mdast-util-gfm-task-list-item": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz", + "integrity": "sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "ccount": "^2.0.0", + "mdast-util-find-and-replace": "^2.0.0", + "micromark-util-character": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz", + "integrity": "sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0", + "micromark-util-normalize-identifier": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz", + "integrity": "sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz", + "integrity": "sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz", + "integrity": "sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz", + "integrity": "sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz", + "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-definitions": "^5.0.0", + "micromark-util-sanitize-uri": "^1.1.0", + "trim-lines": "^3.0.0", + "unist-util-generated": "^2.0.0", + "unist-util-position": "^4.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz", + "integrity": "sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^3.0.0", + "mdast-util-to-string": "^3.0.0", + "micromark-util-decode-string": "^1.0.0", + "unist-util-visit": "^4.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", + "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/mdn-data": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", @@ -11511,6 +12090,569 @@ "node": ">= 0.6" } }, + "node_modules/micromark": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz", + "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", + "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-factory-destination": "^1.0.0", + "micromark-factory-label": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-factory-title": "^1.0.0", + "micromark-factory-whitespace": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-html-tag-name": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.3.tgz", + "integrity": "sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^1.0.0", + "micromark-extension-gfm-footnote": "^1.0.0", + "micromark-extension-gfm-strikethrough": "^1.0.0", + "micromark-extension-gfm-table": "^1.0.0", + "micromark-extension-gfm-tagfilter": "^1.0.0", + "micromark-extension-gfm-task-list-item": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.5.tgz", + "integrity": "sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.1.2.tgz", + "integrity": "sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==", + "license": "MIT", + "dependencies": { + "micromark-core-commonmark": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.7.tgz", + "integrity": "sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==", + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.7.tgz", + "integrity": "sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==", + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.2.tgz", + "integrity": "sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.5.tgz", + "integrity": "sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==", + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", + "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", + "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", + "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", + "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", + "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", + "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", + "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", + "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", + "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", + "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", + "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", + "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-html-tag-name": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", + "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", + "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", + "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", + "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", + "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", + "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, "node_modules/micromatch": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", @@ -11643,6 +12785,15 @@ "mkdirp": "bin/cmd.js" } }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -12133,6 +13284,24 @@ "node": ">=6" } }, + "node_modules/parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "license": "MIT", + "dependencies": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -13733,6 +14902,15 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -13797,6 +14975,16 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "license": "MIT" }, + "node_modules/property-information": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -14138,12 +15326,60 @@ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "license": "MIT" }, + "node_modules/react-jupyter-notebook-viewer": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/react-jupyter-notebook-viewer/-/react-jupyter-notebook-viewer-1.1.13.tgz", + "integrity": "sha512-c82LuBQfpVVyETE/4COdQ7RwZ8KzbYafGfKUgFpnZF9XE6Iz7+EUFns2GsLybmZAvAOhAgcKh5qLWnNT86vpHg==", + "license": "MIT", + "dependencies": { + "react-markdown": "^8.0.3", + "react-syntax-highlighter": "^15.5.0", + "remark-gfm": "^3.0.1" + } + }, "node_modules/react-lifecycles-compat": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", "license": "MIT" }, + "node_modules/react-markdown": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.7.tgz", + "integrity": "sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/prop-types": "^15.0.0", + "@types/unist": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^2.0.0", + "prop-types": "^15.0.0", + "property-information": "^6.0.0", + "react-is": "^18.0.0", + "remark-parse": "^10.0.0", + "remark-rehype": "^10.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.0", + "unified": "^10.0.0", + "unist-util-visit": "^4.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=16", + "react": ">=16" + } + }, + "node_modules/react-markdown/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" + }, "node_modules/react-refresh": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", @@ -14274,6 +15510,23 @@ } } }, + "node_modules/react-syntax-highlighter": { + "version": "15.6.1", + "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.6.1.tgz", + "integrity": "sha512-OqJ2/vL7lEeV5zTJyG7kmARppUjiB9h9udl4qHQjjgEos66z00Ia0OckwYfRxCSFrW8RJIBnsBwQsHZbVPspqg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1", + "highlight.js": "^10.4.1", + "highlightjs-vue": "^1.0.0", + "lowlight": "^1.17.0", + "prismjs": "^1.27.0", + "refractor": "^3.6.0" + }, + "peerDependencies": { + "react": ">= 0.14.0" + } + }, "node_modules/react-transition-group": { "version": "4.4.5", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", @@ -14372,6 +15625,30 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/refractor": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/refractor/-/refractor-3.6.0.tgz", + "integrity": "sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==", + "license": "MIT", + "dependencies": { + "hastscript": "^6.0.0", + "parse-entities": "^2.0.0", + "prismjs": "~1.27.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/refractor/node_modules/prismjs": { + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz", + "integrity": "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -14487,6 +15764,53 @@ "node": ">= 0.10" } }, + "node_modules/remark-gfm": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz", + "integrity": "sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-gfm": "^2.0.0", + "micromark-extension-gfm": "^2.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz", + "integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", + "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-to-hast": "^12.1.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/renderkid": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", @@ -14752,6 +16076,18 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "license": "MIT", + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/safe-array-concat": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", @@ -15398,6 +16734,16 @@ "deprecated": "Please use @jridgewell/sourcemap-codec instead", "license": "MIT" }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/spdy": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", @@ -15859,6 +17205,15 @@ "webpack": "^5.0.0" } }, + "node_modules/style-to-object": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", + "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.1.1" + } + }, "node_modules/stylehacks": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", @@ -16444,6 +17799,26 @@ "node": ">=8" } }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/tryer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", @@ -16750,6 +18125,37 @@ "node": ">=4" } }, + "node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unified/node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/unique-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", @@ -16762,6 +18168,84 @@ "node": ">=8" } }, + "node_modules/unist-util-generated": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz", + "integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", + "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/universalify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", @@ -16890,6 +18374,33 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/uvu": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", + "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0", + "diff": "^5.0.0", + "kleur": "^4.0.3", + "sade": "^1.7.3" + }, + "bin": { + "uvu": "bin.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/uvu/node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/v8-to-istanbul": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", @@ -16919,6 +18430,36 @@ "node": ">= 0.8" } }, + "node_modules/vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", + "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -17802,6 +19343,15 @@ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "license": "MIT" }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -17864,6 +19414,16 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } } } } diff --git a/package.json b/package.json index 4e4b02c..5aadc12 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "react": "^19.1.0", "react-bootstrap": "^2.10.9", "react-dom": "^19.1.0", + "react-jupyter-notebook-viewer": "^1.1.13", "react-router-dom": "^7.5.2", "react-scripts": "5.0.1", "web-vitals": "^2.1.4" diff --git a/public/assets/projects/languageStudy/images/stats.png b/public/assets/projects/languageStudy/images/stats.png new file mode 100644 index 0000000000000000000000000000000000000000..625b6c77cd1d65d129ed9bad3c131032739db8e0 GIT binary patch literal 33646 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 TEG40-H$v`-vUHiGNznfRyN=G# literal 0 HcmV?d00001 diff --git a/public/assets/projects/languageStudy/images/top1000.png b/public/assets/projects/languageStudy/images/top1000.png new file mode 100644 index 0000000000000000000000000000000000000000..3bbf584166d24f2e507867afb989fe1a419d4588 GIT binary patch literal 19724 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 XRm8s-0l2yC00000NkvXXu0mjf_v`x1 literal 0 HcmV?d00001 diff --git a/src/components/app.jsx b/src/components/app.jsx index 7fb3d34..33e09b8 100644 --- a/src/components/app.jsx +++ b/src/components/app.jsx @@ -9,6 +9,7 @@ import AboutPage from "./about"; import GoalsPage from "./goals"; import ContactPage from "./contact"; import ServerPage from "./projects/server"; +import LanguagestudyPage from "./projects/languageStudy"; // Deine Komponenten für die verschiedenen Seiten function Home() { @@ -41,7 +42,7 @@ function Privacy(){ } function LanguageStudy() { - return

Sprachstudie

; + return ; } function Server() { diff --git a/src/components/projects/languageStudy.jsx b/src/components/projects/languageStudy.jsx new file mode 100644 index 0000000..57a0e15 --- /dev/null +++ b/src/components/projects/languageStudy.jsx @@ -0,0 +1,12 @@ +import React, { Component } from 'react'; + +function LanguagestudyPage() { + return ( +
+

Wikipedia Sprachstudie

+ +
+ ); +} + +export default LanguagestudyPage; \ No newline at end of file