From 9ba3b7c861cffb534206cdcec2145c63205d800a Mon Sep 17 00:00:00 2001 From: Joshua Date: Sun, 19 Feb 2023 19:17:55 +0100 Subject: [PATCH] i should commit --- package-lock.json | 729 ----------------- package.json | 12 +- src/blog/hello.md | 32 + src/components/Image.tsx | 13 + src/components/Lanyard.tsx | 17 + src/components/Link.tsx | 17 + src/components/PostList.tsx | 21 + src/components/RenderWithoutJS.tsx | 39 + src/components/Sidebar.tsx | 35 + src/lib/constants.ts | 18 + src/lib/getFrontmatter.ts | 7 + src/lib/listFiles.ts | 8 + src/lib/profiles.ts | 15 + src/pages/_app.tsx | 17 +- src/pages/blog/[...slug].tsx | 63 ++ src/pages/blog/index.tsx | 42 + src/pages/index.tsx | 142 +--- src/styles/Home.module.css | 278 ------- src/styles/Index.module.sass | 14 + src/styles/Lanyard.module.sass | 27 + src/styles/Link.module.sass | 15 + src/styles/PostList.module.sass | 7 + src/styles/Sidebar.module.sass | 14 + src/styles/_variables.sass | 8 + src/styles/fonts/Flachbau.ttf | Bin 0 -> 69168 bytes src/styles/globals.css | 107 --- src/styles/main.sass | 56 ++ yarn.lock | 1205 ++++++++++++++++++++++++++++ 28 files changed, 1719 insertions(+), 1239 deletions(-) delete mode 100644 package-lock.json create mode 100644 src/blog/hello.md create mode 100644 src/components/Image.tsx create mode 100644 src/components/Lanyard.tsx create mode 100644 src/components/Link.tsx create mode 100644 src/components/PostList.tsx create mode 100644 src/components/RenderWithoutJS.tsx create mode 100644 src/components/Sidebar.tsx create mode 100644 src/lib/constants.ts create mode 100644 src/lib/getFrontmatter.ts create mode 100644 src/lib/listFiles.ts create mode 100644 src/lib/profiles.ts create mode 100644 src/pages/blog/[...slug].tsx create mode 100644 src/pages/blog/index.tsx delete mode 100644 src/styles/Home.module.css create mode 100644 src/styles/Index.module.sass create mode 100644 src/styles/Lanyard.module.sass create mode 100644 src/styles/Link.module.sass create mode 100644 src/styles/PostList.module.sass create mode 100644 src/styles/Sidebar.module.sass create mode 100644 src/styles/_variables.sass create mode 100644 src/styles/fonts/Flachbau.ttf delete mode 100644 src/styles/globals.css create mode 100644 src/styles/main.sass create mode 100644 yarn.lock diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index a9f9d30..0000000 --- a/package-lock.json +++ /dev/null @@ -1,729 +0,0 @@ -{ - "name": "twilight", - "version": "0.1.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "twilight", - "version": "0.1.0", - "dependencies": { - "@next/font": "13.1.6", - "@types/node": "18.13.0", - "@types/react": "18.0.28", - "@types/react-dom": "18.0.10", - "next": "13.1.6", - "react": "18.2.0", - "react-dom": "18.2.0", - "typescript": "4.9.5" - } - }, - "node_modules/@next/env": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/env/-/env-13.1.6.tgz", - "integrity": "sha512-s+W9Fdqh5MFk6ECrbnVmmAOwxKQuhGMT7xXHrkYIBMBcTiOqNWhv5KbJIboKR5STXxNXl32hllnvKaffzFaWQg==" - }, - "node_modules/@next/font": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/font/-/font-13.1.6.tgz", - "integrity": "sha512-AITjmeb1RgX1HKMCiA39ztx2mxeAyxl4ljv2UoSBUGAbFFMg8MO7YAvjHCgFhD39hL7YTbFjol04e/BPBH5RzQ==" - }, - "node_modules/@next/swc-android-arm-eabi": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.1.6.tgz", - "integrity": "sha512-F3/6Z8LH/pGlPzR1AcjPFxx35mPqjE5xZcf+IL+KgbW9tMkp7CYi1y7qKrEWU7W4AumxX/8OINnDQWLiwLasLQ==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-android-arm64": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-13.1.6.tgz", - "integrity": "sha512-cMwQjnB8vrYkWyK/H0Rf2c2pKIH4RGjpKUDvbjVAit6SbwPDpmaijLio0LWFV3/tOnY6kvzbL62lndVA0mkYpw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-darwin-arm64": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.1.6.tgz", - "integrity": "sha512-KKRQH4DDE4kONXCvFMNBZGDb499Hs+xcFAwvj+rfSUssIDrZOlyfJNy55rH5t2Qxed1e4K80KEJgsxKQN1/fyw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-darwin-x64": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.1.6.tgz", - "integrity": "sha512-/uOky5PaZDoaU99ohjtNcDTJ6ks/gZ5ykTQDvNZDjIoCxFe3+t06bxsTPY6tAO6uEAw5f6vVFX5H5KLwhrkZCA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-freebsd-x64": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.1.6.tgz", - "integrity": "sha512-qaEALZeV7to6weSXk3Br80wtFQ7cFTpos/q+m9XVRFggu+8Ib895XhMWdJBzew6aaOcMvYR6KQ6JmHA2/eMzWw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm-gnueabihf": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.1.6.tgz", - "integrity": "sha512-OybkbC58A1wJ+JrJSOjGDvZzrVEQA4sprJejGqMwiZyLqhr9Eo8FXF0y6HL+m1CPCpPhXEHz/2xKoYsl16kNqw==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-gnu": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.1.6.tgz", - "integrity": "sha512-yCH+yDr7/4FDuWv6+GiYrPI9kcTAO3y48UmaIbrKy8ZJpi7RehJe3vIBRUmLrLaNDH3rY1rwoHi471NvR5J5NQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-musl": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.1.6.tgz", - "integrity": "sha512-ECagB8LGX25P9Mrmlc7Q/TQBb9rGScxHbv/kLqqIWs2fIXy6Y/EiBBiM72NTwuXUFCNrWR4sjUPSooVBJJ3ESQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-gnu": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.1.6.tgz", - "integrity": "sha512-GT5w2mruk90V/I5g6ScuueE7fqj/d8Bui2qxdw6lFxmuTgMeol5rnzAv4uAoVQgClOUO/MULilzlODg9Ib3Y4Q==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-musl": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.1.6.tgz", - "integrity": "sha512-keFD6KvwOPzmat4TCnlnuxJCQepPN+8j3Nw876FtULxo8005Y9Ghcl7ACcR8GoiKoddAq8gxNBrpjoxjQRHeAQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-arm64-msvc": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.1.6.tgz", - "integrity": "sha512-OwertslIiGQluFvHyRDzBCIB07qJjqabAmINlXUYt7/sY7Q7QPE8xVi5beBxX/rxTGPIbtyIe3faBE6Z2KywhQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-ia32-msvc": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.1.6.tgz", - "integrity": "sha512-g8zowiuP8FxUR9zslPmlju7qYbs2XBtTLVSxVikPtUDQedhcls39uKYLvOOd1JZg0ehyhopobRoH1q+MHlIN/w==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-x64-msvc": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.1.6.tgz", - "integrity": "sha512-Ls2OL9hi3YlJKGNdKv8k3X/lLgc3VmLG3a/DeTkAd+lAituJp8ZHmRmm9f9SL84fT3CotlzcgbdaCDfFwFA6bA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@swc/helpers": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz", - "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==", - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@types/node": { - "version": "18.13.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.13.0.tgz", - "integrity": "sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==" - }, - "node_modules/@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" - }, - "node_modules/@types/react": { - "version": "18.0.28", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.28.tgz", - "integrity": "sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "18.0.10", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.10.tgz", - "integrity": "sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001451", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001451.tgz", - "integrity": "sha512-XY7UbUpGRatZzoRft//5xOa69/1iGJRBlrieH6QYrkKLIFn3m7OVEJ81dSrKoy2BnKsdbX5cLrOispZNYo9v2w==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ] - }, - "node_modules/client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" - }, - "node_modules/csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/next": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/next/-/next-13.1.6.tgz", - "integrity": "sha512-hHlbhKPj9pW+Cymvfzc15lvhaOZ54l+8sXDXJWm3OBNBzgrVj6hwGPmqqsXg40xO1Leq+kXpllzRPuncpC0Phw==", - "dependencies": { - "@next/env": "13.1.6", - "@swc/helpers": "0.4.14", - "caniuse-lite": "^1.0.30001406", - "postcss": "8.4.14", - "styled-jsx": "5.1.1" - }, - "bin": { - "next": "dist/bin/next" - }, - "engines": { - "node": ">=14.6.0" - }, - "optionalDependencies": { - "@next/swc-android-arm-eabi": "13.1.6", - "@next/swc-android-arm64": "13.1.6", - "@next/swc-darwin-arm64": "13.1.6", - "@next/swc-darwin-x64": "13.1.6", - "@next/swc-freebsd-x64": "13.1.6", - "@next/swc-linux-arm-gnueabihf": "13.1.6", - "@next/swc-linux-arm64-gnu": "13.1.6", - "@next/swc-linux-arm64-musl": "13.1.6", - "@next/swc-linux-x64-gnu": "13.1.6", - "@next/swc-linux-x64-musl": "13.1.6", - "@next/swc-win32-arm64-msvc": "13.1.6", - "@next/swc-win32-ia32-msvc": "13.1.6", - "@next/swc-win32-x64-msvc": "13.1.6" - }, - "peerDependencies": { - "fibers": ">= 3.1.0", - "node-sass": "^6.0.0 || ^7.0.0", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "sass": "^1.3.0" - }, - "peerDependenciesMeta": { - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "node_modules/postcss": { - "version": "8.4.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", - "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - } - ], - "dependencies": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" - } - }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/styled-jsx": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", - "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", - "dependencies": { - "client-only": "0.0.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "peerDependencies": { - "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "babel-plugin-macros": { - "optional": true - } - } - }, - "node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" - }, - "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - } - }, - "dependencies": { - "@next/env": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/env/-/env-13.1.6.tgz", - "integrity": "sha512-s+W9Fdqh5MFk6ECrbnVmmAOwxKQuhGMT7xXHrkYIBMBcTiOqNWhv5KbJIboKR5STXxNXl32hllnvKaffzFaWQg==" - }, - "@next/font": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/font/-/font-13.1.6.tgz", - "integrity": "sha512-AITjmeb1RgX1HKMCiA39ztx2mxeAyxl4ljv2UoSBUGAbFFMg8MO7YAvjHCgFhD39hL7YTbFjol04e/BPBH5RzQ==" - }, - "@next/swc-android-arm-eabi": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.1.6.tgz", - "integrity": "sha512-F3/6Z8LH/pGlPzR1AcjPFxx35mPqjE5xZcf+IL+KgbW9tMkp7CYi1y7qKrEWU7W4AumxX/8OINnDQWLiwLasLQ==", - "optional": true - }, - "@next/swc-android-arm64": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-13.1.6.tgz", - "integrity": "sha512-cMwQjnB8vrYkWyK/H0Rf2c2pKIH4RGjpKUDvbjVAit6SbwPDpmaijLio0LWFV3/tOnY6kvzbL62lndVA0mkYpw==", - "optional": true - }, - "@next/swc-darwin-arm64": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.1.6.tgz", - "integrity": "sha512-KKRQH4DDE4kONXCvFMNBZGDb499Hs+xcFAwvj+rfSUssIDrZOlyfJNy55rH5t2Qxed1e4K80KEJgsxKQN1/fyw==", - "optional": true - }, - "@next/swc-darwin-x64": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.1.6.tgz", - "integrity": "sha512-/uOky5PaZDoaU99ohjtNcDTJ6ks/gZ5ykTQDvNZDjIoCxFe3+t06bxsTPY6tAO6uEAw5f6vVFX5H5KLwhrkZCA==", - "optional": true - }, - "@next/swc-freebsd-x64": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.1.6.tgz", - "integrity": "sha512-qaEALZeV7to6weSXk3Br80wtFQ7cFTpos/q+m9XVRFggu+8Ib895XhMWdJBzew6aaOcMvYR6KQ6JmHA2/eMzWw==", - "optional": true - }, - "@next/swc-linux-arm-gnueabihf": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.1.6.tgz", - "integrity": "sha512-OybkbC58A1wJ+JrJSOjGDvZzrVEQA4sprJejGqMwiZyLqhr9Eo8FXF0y6HL+m1CPCpPhXEHz/2xKoYsl16kNqw==", - "optional": true - }, - "@next/swc-linux-arm64-gnu": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.1.6.tgz", - "integrity": "sha512-yCH+yDr7/4FDuWv6+GiYrPI9kcTAO3y48UmaIbrKy8ZJpi7RehJe3vIBRUmLrLaNDH3rY1rwoHi471NvR5J5NQ==", - "optional": true - }, - "@next/swc-linux-arm64-musl": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.1.6.tgz", - "integrity": "sha512-ECagB8LGX25P9Mrmlc7Q/TQBb9rGScxHbv/kLqqIWs2fIXy6Y/EiBBiM72NTwuXUFCNrWR4sjUPSooVBJJ3ESQ==", - "optional": true - }, - "@next/swc-linux-x64-gnu": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.1.6.tgz", - "integrity": "sha512-GT5w2mruk90V/I5g6ScuueE7fqj/d8Bui2qxdw6lFxmuTgMeol5rnzAv4uAoVQgClOUO/MULilzlODg9Ib3Y4Q==", - "optional": true - }, - "@next/swc-linux-x64-musl": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.1.6.tgz", - "integrity": "sha512-keFD6KvwOPzmat4TCnlnuxJCQepPN+8j3Nw876FtULxo8005Y9Ghcl7ACcR8GoiKoddAq8gxNBrpjoxjQRHeAQ==", - "optional": true - }, - "@next/swc-win32-arm64-msvc": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.1.6.tgz", - "integrity": "sha512-OwertslIiGQluFvHyRDzBCIB07qJjqabAmINlXUYt7/sY7Q7QPE8xVi5beBxX/rxTGPIbtyIe3faBE6Z2KywhQ==", - "optional": true - }, - "@next/swc-win32-ia32-msvc": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.1.6.tgz", - "integrity": "sha512-g8zowiuP8FxUR9zslPmlju7qYbs2XBtTLVSxVikPtUDQedhcls39uKYLvOOd1JZg0ehyhopobRoH1q+MHlIN/w==", - "optional": true - }, - "@next/swc-win32-x64-msvc": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.1.6.tgz", - "integrity": "sha512-Ls2OL9hi3YlJKGNdKv8k3X/lLgc3VmLG3a/DeTkAd+lAituJp8ZHmRmm9f9SL84fT3CotlzcgbdaCDfFwFA6bA==", - "optional": true - }, - "@swc/helpers": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz", - "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==", - "requires": { - "tslib": "^2.4.0" - } - }, - "@types/node": { - "version": "18.13.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.13.0.tgz", - "integrity": "sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==" - }, - "@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" - }, - "@types/react": { - "version": "18.0.28", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.28.tgz", - "integrity": "sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==", - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/react-dom": { - "version": "18.0.10", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.10.tgz", - "integrity": "sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==", - "requires": { - "@types/react": "*" - } - }, - "@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" - }, - "caniuse-lite": { - "version": "1.0.30001451", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001451.tgz", - "integrity": "sha512-XY7UbUpGRatZzoRft//5xOa69/1iGJRBlrieH6QYrkKLIFn3m7OVEJ81dSrKoy2BnKsdbX5cLrOispZNYo9v2w==" - }, - "client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" - }, - "csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" - }, - "next": { - "version": "13.1.6", - "resolved": "https://registry.npmjs.org/next/-/next-13.1.6.tgz", - "integrity": "sha512-hHlbhKPj9pW+Cymvfzc15lvhaOZ54l+8sXDXJWm3OBNBzgrVj6hwGPmqqsXg40xO1Leq+kXpllzRPuncpC0Phw==", - "requires": { - "@next/env": "13.1.6", - "@next/swc-android-arm-eabi": "13.1.6", - "@next/swc-android-arm64": "13.1.6", - "@next/swc-darwin-arm64": "13.1.6", - "@next/swc-darwin-x64": "13.1.6", - "@next/swc-freebsd-x64": "13.1.6", - "@next/swc-linux-arm-gnueabihf": "13.1.6", - "@next/swc-linux-arm64-gnu": "13.1.6", - "@next/swc-linux-arm64-musl": "13.1.6", - "@next/swc-linux-x64-gnu": "13.1.6", - "@next/swc-linux-x64-musl": "13.1.6", - "@next/swc-win32-arm64-msvc": "13.1.6", - "@next/swc-win32-ia32-msvc": "13.1.6", - "@next/swc-win32-x64-msvc": "13.1.6", - "@swc/helpers": "0.4.14", - "caniuse-lite": "^1.0.30001406", - "postcss": "8.4.14", - "styled-jsx": "5.1.1" - } - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "postcss": { - "version": "8.4.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", - "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", - "requires": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "requires": { - "loose-envify": "^1.1.0" - } - }, - "react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "requires": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - } - }, - "scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "requires": { - "loose-envify": "^1.1.0" - } - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" - }, - "styled-jsx": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", - "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", - "requires": { - "client-only": "0.0.1" - } - }, - "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" - }, - "typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==" - } - } -} diff --git a/package.json b/package.json index b161df5..2179655 100644 --- a/package.json +++ b/package.json @@ -13,9 +13,19 @@ "@types/node": "18.13.0", "@types/react": "18.0.28", "@types/react-dom": "18.0.10", + "gray-matter": "^4.0.3", + "markdown-to-jsx": "^7.1.9", "next": "13.1.6", + "next-themes": "^0.2.1", "react": "18.2.0", "react-dom": "18.2.0", - "typescript": "4.9.5" + "react-markdown": "^8.0.5", + "remark": "^14.0.2", + "remark-frontmatter": "^4.0.1", + "remark-html": "^15.0.2", + "sass": "^1.58.0", + "to-vfile": "^7.2.4", + "typescript": "4.9.5", + "use-lanyard": "^1.4.2" } } diff --git a/src/blog/hello.md b/src/blog/hello.md new file mode 100644 index 0000000..3bc9b4d --- /dev/null +++ b/src/blog/hello.md @@ -0,0 +1,32 @@ +--- +title: Markdown Elements +date: 19/02/2023 +--- + +# Hi ~~Mars~~ Venus! + +## Hi ~~Mars~~ Venus! + +### Hi ~~Mars~~ Venus! + +#### Hi ~~Mars~~ Venus! + +##### Hi ~~Mars~~ Venus! + +_italics_ + +**bold** + +> blockquote + +1. Ordered +2. Lists + +- unordered +- lists + +`code` + +[A Link](../hello.md) + +![Alt Text](https://go.joshua.cafe/avatar) diff --git a/src/components/Image.tsx b/src/components/Image.tsx new file mode 100644 index 0000000..da2d2c7 --- /dev/null +++ b/src/components/Image.tsx @@ -0,0 +1,13 @@ +import NextLink from "next/link" +import LinkStyle from "@/styles/Link.module.sass" +import { CSSProperties } from "react"; + +const Image = ({ src, alt }: { src: string, alt: string }) => { + return ( +
+ {alt} +
+ ); +}; + +export default Image; \ No newline at end of file diff --git a/src/components/Lanyard.tsx b/src/components/Lanyard.tsx new file mode 100644 index 0000000..3347ac3 --- /dev/null +++ b/src/components/Lanyard.tsx @@ -0,0 +1,17 @@ +import { useLanyard } from "use-lanyard"; +import constants from "@/lib/constants"; +import yard from "@/styles/Lanyard.module.sass" + +const Lanyard = () => { + const lanyard = useLanyard(constants.ids.discord as `${bigint}`).data + if (!lanyard?.listening_to_spotify) return (<>); + return ( +
+ + {lanyard?.spotify?.song} by {lanyard?.spotify?.artist.split(';')[0]} +
+ + ); +}; + +export default Lanyard; \ No newline at end of file diff --git a/src/components/Link.tsx b/src/components/Link.tsx new file mode 100644 index 0000000..63fb422 --- /dev/null +++ b/src/components/Link.tsx @@ -0,0 +1,17 @@ +import NextLink from "next/link" +import LinkStyle from "@/styles/Link.module.sass" +import { CSSProperties } from "react"; + +const Link = ({ href, title, asList = false, withArrow = false, style }: { href: string, title: string, asList?: boolean, withArrow?: boolean, style?: CSSProperties }) => { + const relme = [ + 'fediverse' + ] + + return ( + + {asList ? ({title}{withArrow ? " ↗" : ""}) : ({title}{withArrow ? " ↗" : ""})} + + ); +}; + +export default Link; \ No newline at end of file diff --git a/src/components/PostList.tsx b/src/components/PostList.tsx new file mode 100644 index 0000000..20461bc --- /dev/null +++ b/src/components/PostList.tsx @@ -0,0 +1,21 @@ +import Link from "./Link"; +import styles from "@/styles/PostList.module.sass" + +const PostList = ({ posts }: { + posts: [{ title: string, date: string, link: string }] +}) => { + + + return ( + + ); +}; + +export default PostList; \ No newline at end of file diff --git a/src/components/RenderWithoutJS.tsx b/src/components/RenderWithoutJS.tsx new file mode 100644 index 0000000..1432ded --- /dev/null +++ b/src/components/RenderWithoutJS.tsx @@ -0,0 +1,39 @@ +import React, { ReactNode, useEffect, useState } from "react"; + +const RenderWithoutJS = ({ children }: { children: ReactNode }) => { + // let Mastodon = profiles.filter(p => p.platform === "Fediverse")[0] + const [nojs, setNoJS] = useState(true) + useEffect(() => setNoJS(false), []) + return ( + <> + + + {/* Mastodon Verification Link */} + {/* + {Mastodon.username} + */} + {/* END */} + {!nojs && (<>{children})} + + + ); +}; + + + +export default RenderWithoutJS; \ No newline at end of file diff --git a/src/components/Sidebar.tsx b/src/components/Sidebar.tsx new file mode 100644 index 0000000..84b7911 --- /dev/null +++ b/src/components/Sidebar.tsx @@ -0,0 +1,35 @@ +import constants from "@/lib/constants" +import getProfiles from "@/lib/profiles"; +import sidebar from "@/styles/Sidebar.module.sass" +import Link from "./Link"; + +const Sidebar = () => { + let profiles = getProfiles() + return ( + + + ); +}; + + + +export default Sidebar; \ No newline at end of file diff --git a/src/lib/constants.ts b/src/lib/constants.ts new file mode 100644 index 0000000..599781d --- /dev/null +++ b/src/lib/constants.ts @@ -0,0 +1,18 @@ +const constants = { + name: 'Lio', + bio: "digital sorcerer", + ids: { + discord: '318044130796109825' + }, + socials: { + fedi: "https://pounced-on.me/@lio", + cohost: "https://cohost.org/lio", + twitter: "https://twitter.com/@himbolion", + git: "https://git.lio.cat/l", + github: "https://github.com/@himbolion", + email: "mailto:twilight@lio.zone", + } +} + + +export default constants \ No newline at end of file diff --git a/src/lib/getFrontmatter.ts b/src/lib/getFrontmatter.ts new file mode 100644 index 0000000..6b7519b --- /dev/null +++ b/src/lib/getFrontmatter.ts @@ -0,0 +1,7 @@ +import { readFileSync } from "fs"; +import matter from "gray-matter"; + +export default function (path: string) { + return matter(readFileSync(path, 'utf8')) + +} \ No newline at end of file diff --git a/src/lib/listFiles.ts b/src/lib/listFiles.ts new file mode 100644 index 0000000..593368b --- /dev/null +++ b/src/lib/listFiles.ts @@ -0,0 +1,8 @@ +import { readdirSync } from "fs"; + +export default function (path: string) { + let files = readdirSync(path) + + return files.map(file => `${path}/${file}`) + +} \ No newline at end of file diff --git a/src/lib/profiles.ts b/src/lib/profiles.ts new file mode 100644 index 0000000..3960971 --- /dev/null +++ b/src/lib/profiles.ts @@ -0,0 +1,15 @@ +import constants from "@/lib/constants" + +const getProfiles = () => { + return [ + { site: "fediverse", link: constants.socials.fedi }, + { site: "twitter", link: constants.socials.twitter }, + { site: "cohost", link: constants.socials.cohost }, + { site: "forgejo", link: constants.socials.git }, + { site: "github", link: constants.socials.github }, + { site: "email", link: constants.socials.email }, + ] +} + + +export default getProfiles \ No newline at end of file diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index 021681f..bf21551 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -1,6 +1,15 @@ -import '@/styles/globals.css' -import type { AppProps } from 'next/app' +import { ThemeProvider } from "next-themes"; -export default function App({ Component, pageProps }: AppProps) { - return +import "../styles/main.sass"; +function Void({ Component, pageProps }: any) { + // const theme = useTheme() + + return ( + + + + + ); } + +export default Void; \ No newline at end of file diff --git a/src/pages/blog/[...slug].tsx b/src/pages/blog/[...slug].tsx new file mode 100644 index 0000000..b115b54 --- /dev/null +++ b/src/pages/blog/[...slug].tsx @@ -0,0 +1,63 @@ +import RenderWithoutJS from "@/components/RenderWithoutJS"; +import Sidebar from "@/components/Sidebar"; +import index from "@/styles/Index.module.sass" +import Lanyard from "@/components/Lanyard" +import { remark } from "remark" +import remarkFrontmatter from "remark-frontmatter" +import { read } from "to-vfile" +import listFiles from "@/lib/listFiles"; +import Markdown from 'markdown-to-jsx'; +import Link from "@/components/Link"; +import Image from "@/components/Image"; + +const Post = (props: { post: string }) => { + console.log(props.post) + let Index = ( +
+ +
+ , + img: ({ ...props }) => {props.alt}, + p: ({ children, ...props }) => { + const ParaComponent = children[0]?.type?.name === 'img' ? 'div' : 'p' + return {children} + } + } + }} + /> + + +
+ +
+ ); + return +}; + +export default Post + +export async function getStaticProps(context: any) { + let post = await remark() + .use(remarkFrontmatter) + .process(await read(`${listFiles('./src/blog').filter(file => file.includes(context.params.slug))[0]}`)) + return { + props: { + post: (post.value as string).replace(/(---)\n*([a-zA-Z0-9\/_:\s*]*)*(---)/gmi, "") + } + } +} + + +export async function getStaticPaths() { + let path = './src/blog' + let paths = listFiles(path).map(file => file.replace(path, "/blog/").replace('.md', '').replace('.mdx', '')) + // console.log(paths) + return { + paths, + fallback: 'blocking' + } +} \ No newline at end of file diff --git a/src/pages/blog/index.tsx b/src/pages/blog/index.tsx new file mode 100644 index 0000000..e97e032 --- /dev/null +++ b/src/pages/blog/index.tsx @@ -0,0 +1,42 @@ + +import RenderWithoutJS from "@/components/RenderWithoutJS"; +import Sidebar from "@/components/Sidebar"; +import index from "@/styles/Index.module.sass" +import Lanyard from "@/components/Lanyard" +import listFiles from "@/lib/listFiles"; +import getFrontmatter from "@/lib/getFrontmatter"; +import PostList from "@/components/PostList"; + +const IndexPage = (props: { posts: [{ title: string, date: string, link: string }] }) => { + let Index = ( +
+ +
+

blog

+ +
+ + {/* */} +
+ ); + return +}; + +export default IndexPage + +export async function getStaticProps() { + let blogPath = './src/blog' + let posts = listFiles(blogPath) // + let frontmatter = posts.map(post => { + let matter = getFrontmatter(post).data + return { + ...matter, + link: post.replace(blogPath, "/blog/").replace('.md', "").replace('.mdx', "") + } + }) + return { + props: { + posts: frontmatter + } + } +} \ No newline at end of file diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 2e91b0c..5bd63f4 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,123 +1,25 @@ -import Head from 'next/head' -import Image from 'next/image' -import { Inter } from '@next/font/google' -import styles from '@/styles/Home.module.css' -const inter = Inter({ subsets: ['latin'] }) +import RenderWithoutJS from "@/components/RenderWithoutJS"; +import Sidebar from "@/components/Sidebar"; +import index from "@/styles/Index.module.sass" +import Lanyard from "@/components/Lanyard" -export default function Home() { - return ( - <> - - Create Next App - - - - -
-
-

- Get started by editing  - src/pages/index.tsx -

- -
+const IndexPage = () => { + let Index = ( +
+ +
+

hey!

+

+ my name's Lio, and I code sometimes + {/* my name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimesmy name's Lio, and I code sometimes */} +

+
+ + {/* */} +
+ ); + return +}; -
- Next.js Logo -
- 13 -
-
- - -
- - ) -} +export default IndexPage \ No newline at end of file diff --git a/src/styles/Home.module.css b/src/styles/Home.module.css deleted file mode 100644 index 27dfff5..0000000 --- a/src/styles/Home.module.css +++ /dev/null @@ -1,278 +0,0 @@ -.main { - display: flex; - flex-direction: column; - justify-content: space-between; - align-items: center; - padding: 6rem; - min-height: 100vh; -} - -.description { - display: inherit; - justify-content: inherit; - align-items: inherit; - font-size: 0.85rem; - max-width: var(--max-width); - width: 100%; - z-index: 2; - font-family: var(--font-mono); -} - -.description a { - display: flex; - justify-content: center; - align-items: center; - gap: 0.5rem; -} - -.description p { - position: relative; - margin: 0; - padding: 1rem; - background-color: rgba(var(--callout-rgb), 0.5); - border: 1px solid rgba(var(--callout-border-rgb), 0.3); - border-radius: var(--border-radius); -} - -.code { - font-weight: 700; - font-family: var(--font-mono); -} - -.grid { - display: grid; - grid-template-columns: repeat(4, minmax(25%, auto)); - width: var(--max-width); - max-width: 100%; -} - -.card { - padding: 1rem 1.2rem; - border-radius: var(--border-radius); - background: rgba(var(--card-rgb), 0); - border: 1px solid rgba(var(--card-border-rgb), 0); - transition: background 200ms, border 200ms; -} - -.card span { - display: inline-block; - transition: transform 200ms; -} - -.card h2 { - font-weight: 600; - margin-bottom: 0.7rem; -} - -.card p { - margin: 0; - opacity: 0.6; - font-size: 0.9rem; - line-height: 1.5; - max-width: 30ch; -} - -.center { - display: flex; - justify-content: center; - align-items: center; - position: relative; - padding: 4rem 0; -} - -.center::before { - background: var(--secondary-glow); - border-radius: 50%; - width: 480px; - height: 360px; - margin-left: -400px; -} - -.center::after { - background: var(--primary-glow); - width: 240px; - height: 180px; - z-index: -1; -} - -.center::before, -.center::after { - content: ''; - left: 50%; - position: absolute; - filter: blur(45px); - transform: translateZ(0); -} - -.logo, -.thirteen { - position: relative; -} - -.thirteen { - display: flex; - justify-content: center; - align-items: center; - width: 75px; - height: 75px; - padding: 25px 10px; - margin-left: 16px; - transform: translateZ(0); - border-radius: var(--border-radius); - overflow: hidden; - box-shadow: 0px 2px 8px -1px #0000001a; -} - -.thirteen::before, -.thirteen::after { - content: ''; - position: absolute; - z-index: -1; -} - -/* Conic Gradient Animation */ -.thirteen::before { - animation: 6s rotate linear infinite; - width: 200%; - height: 200%; - background: var(--tile-border); -} - -/* Inner Square */ -.thirteen::after { - inset: 0; - padding: 1px; - border-radius: var(--border-radius); - background: linear-gradient( - to bottom right, - rgba(var(--tile-start-rgb), 1), - rgba(var(--tile-end-rgb), 1) - ); - background-clip: content-box; -} - -/* Enable hover only on non-touch devices */ -@media (hover: hover) and (pointer: fine) { - .card:hover { - background: rgba(var(--card-rgb), 0.1); - border: 1px solid rgba(var(--card-border-rgb), 0.15); - } - - .card:hover span { - transform: translateX(4px); - } -} - -@media (prefers-reduced-motion) { - .thirteen::before { - animation: none; - } - - .card:hover span { - transform: none; - } -} - -/* Mobile */ -@media (max-width: 700px) { - .content { - padding: 4rem; - } - - .grid { - grid-template-columns: 1fr; - margin-bottom: 120px; - max-width: 320px; - text-align: center; - } - - .card { - padding: 1rem 2.5rem; - } - - .card h2 { - margin-bottom: 0.5rem; - } - - .center { - padding: 8rem 0 6rem; - } - - .center::before { - transform: none; - height: 300px; - } - - .description { - font-size: 0.8rem; - } - - .description a { - padding: 1rem; - } - - .description p, - .description div { - display: flex; - justify-content: center; - position: fixed; - width: 100%; - } - - .description p { - align-items: center; - inset: 0 0 auto; - padding: 2rem 1rem 1.4rem; - border-radius: 0; - border: none; - border-bottom: 1px solid rgba(var(--callout-border-rgb), 0.25); - background: linear-gradient( - to bottom, - rgba(var(--background-start-rgb), 1), - rgba(var(--callout-rgb), 0.5) - ); - background-clip: padding-box; - backdrop-filter: blur(24px); - } - - .description div { - align-items: flex-end; - pointer-events: none; - inset: auto 0 0; - padding: 2rem; - height: 200px; - background: linear-gradient( - to bottom, - transparent 0%, - rgb(var(--background-end-rgb)) 40% - ); - z-index: 1; - } -} - -/* Tablet and Smaller Desktop */ -@media (min-width: 701px) and (max-width: 1120px) { - .grid { - grid-template-columns: repeat(2, 50%); - } -} - -@media (prefers-color-scheme: dark) { - .vercelLogo { - filter: invert(1); - } - - .logo, - .thirteen img { - filter: invert(1) drop-shadow(0 0 0.3rem #ffffff70); - } -} - -@keyframes rotate { - from { - transform: rotate(360deg); - } - to { - transform: rotate(0deg); - } -} diff --git a/src/styles/Index.module.sass b/src/styles/Index.module.sass new file mode 100644 index 0000000..3648804 --- /dev/null +++ b/src/styles/Index.module.sass @@ -0,0 +1,14 @@ +@import '_variables' + +#layout + max-width: 1000px + margin: 6rem 0 4rem 4rem + display: inline-flex + @media (max-width:600px) + display: inline-block +#main + padding-right: 2rem +#blogMain + padding-right: 2rem + h1 + padding: 0 0 1rem 0 diff --git a/src/styles/Lanyard.module.sass b/src/styles/Lanyard.module.sass new file mode 100644 index 0000000..9d5ed35 --- /dev/null +++ b/src/styles/Lanyard.module.sass @@ -0,0 +1,27 @@ +@import '_variables' + +#lanyard + position: fixed + border-radius: 8px + top: 0% + right: 0% + margin: 1rem + padding: .5rem + display: flex + align-items: center + @media (max-width:600px) + top: 0 + left: 0 + &:hover + background-color: black + img + margin-right: .5em + height: 1.5em + border-radius: 50% + animation: spin 5s linear infinite + +@keyframes spin + from + transform: rotate(0deg) + to + transform: rotate(360deg) diff --git a/src/styles/Link.module.sass b/src/styles/Link.module.sass new file mode 100644 index 0000000..22d93a5 --- /dev/null +++ b/src/styles/Link.module.sass @@ -0,0 +1,15 @@ +@import '_variables' + +.listLink, .link + color: $link + text-decoration: none + padding: .2rem + border-radius: 8px + &:hover + + background: $link-hover + +.listLink + display: table + @media (max-width:600px) + display: inline-block diff --git a/src/styles/PostList.module.sass b/src/styles/PostList.module.sass new file mode 100644 index 0000000..c38e0a8 --- /dev/null +++ b/src/styles/PostList.module.sass @@ -0,0 +1,7 @@ +.blog_posts + list-style-type: none + +.blog_post_row + display: flex + align-items: baseline + // padding-left: 2rem diff --git a/src/styles/Sidebar.module.sass b/src/styles/Sidebar.module.sass new file mode 100644 index 0000000..6a72af1 --- /dev/null +++ b/src/styles/Sidebar.module.sass @@ -0,0 +1,14 @@ +@import '_variables' + +#sidebar + margin-right: 2rem + +.me + font-size: $h1-size + font-weight: bold + +#nav + display: inline-block + @media (max-width:600px) + display: flex + flex-flow: row wrap diff --git a/src/styles/_variables.sass b/src/styles/_variables.sass new file mode 100644 index 0000000..68bbe04 --- /dev/null +++ b/src/styles/_variables.sass @@ -0,0 +1,8 @@ +// colors +$dark: #222 +$light: #ffffff +$link: #ff802c +$link-hover: #ff802c48 + +// font sizes +$h1-size: 1.6em diff --git a/src/styles/fonts/Flachbau.ttf b/src/styles/fonts/Flachbau.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a453cca411987fd961ee26a5df29c9a13e109fcc GIT binary patch literal 69168 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.0.0 <4.0.0": + version "3.5.3" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +client-only@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz" + integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== + +comma-separated-tokens@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" + integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== + +csstype@^3.0.2: + version "3.1.1" + resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz" + integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== + +debug@^4.0.0: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +decode-named-character-reference@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz" + integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg== + dependencies: + character-entities "^2.0.0" + +dequal@^2.0.0: + version "2.0.3" + resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== + +diff@^5.0.0: + version "5.1.0" + resolved "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz" + integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== + dependencies: + is-extendable "^0.1.0" + +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +fault@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz" + integrity sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ== + dependencies: + format "^0.2.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +format@^0.2.0: + version "0.2.2" + resolved "https://registry.npmjs.org/format/-/format-0.2.2.tgz" + integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +gray-matter@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798" + integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== + dependencies: + js-yaml "^3.13.1" + kind-of "^6.0.2" + section-matter "^1.0.0" + strip-bom-string "^1.0.0" + +hast-util-from-parse5@^7.0.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz#aecfef73e3ceafdfa4550716443e4eb7b02e22b0" + integrity sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw== + dependencies: + "@types/hast" "^2.0.0" + "@types/unist" "^2.0.0" + hastscript "^7.0.0" + property-information "^6.0.0" + vfile "^5.0.0" + vfile-location "^4.0.0" + web-namespaces "^2.0.0" + +hast-util-parse-selector@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz#25ab00ae9e75cbc62cf7a901f68a247eade659e2" + integrity sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA== + dependencies: + "@types/hast" "^2.0.0" + +hast-util-raw@^7.0.0: + version "7.2.3" + resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-7.2.3.tgz#dcb5b22a22073436dbdc4aa09660a644f4991d99" + integrity sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg== + dependencies: + "@types/hast" "^2.0.0" + "@types/parse5" "^6.0.0" + hast-util-from-parse5 "^7.0.0" + hast-util-to-parse5 "^7.0.0" + html-void-elements "^2.0.0" + parse5 "^6.0.0" + unist-util-position "^4.0.0" + unist-util-visit "^4.0.0" + vfile "^5.0.0" + web-namespaces "^2.0.0" + zwitch "^2.0.0" + +hast-util-sanitize@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/hast-util-sanitize/-/hast-util-sanitize-4.1.0.tgz#d90f8521f5083547095c5c63a7e03150303e0286" + integrity sha512-Hd9tU0ltknMGRDv+d6Ro/4XKzBqQnP/EZrpiTbpFYfXv/uOhWeKc+2uajcbEvAEH98VZd7eII2PiXm13RihnLw== + dependencies: + "@types/hast" "^2.0.0" + +hast-util-to-html@^8.0.0: + version "8.0.4" + resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-8.0.4.tgz#0269ef33fa3f6599b260a8dc94f733b8e39e41fc" + integrity sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA== + dependencies: + "@types/hast" "^2.0.0" + "@types/unist" "^2.0.0" + ccount "^2.0.0" + comma-separated-tokens "^2.0.0" + hast-util-raw "^7.0.0" + hast-util-whitespace "^2.0.0" + html-void-elements "^2.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + stringify-entities "^4.0.0" + zwitch "^2.0.4" + +hast-util-to-parse5@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-7.1.0.tgz#c49391bf8f151973e0c9adcd116b561e8daf29f3" + integrity sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw== + dependencies: + "@types/hast" "^2.0.0" + comma-separated-tokens "^2.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + web-namespaces "^2.0.0" + zwitch "^2.0.0" + +hast-util-whitespace@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz#0ec64e257e6fc216c7d14c8a1b74d27d650b4557" + integrity sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng== + +hastscript@^7.0.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-7.2.0.tgz#0eafb7afb153d047077fa2a833dc9b7ec604d10b" + integrity sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw== + dependencies: + "@types/hast" "^2.0.0" + comma-separated-tokens "^2.0.0" + hast-util-parse-selector "^3.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + +html-void-elements@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-2.0.1.tgz#29459b8b05c200b6c5ee98743c41b979d577549f" + integrity sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A== + +immutable@^4.0.0: + version "4.2.4" + resolved "https://registry.npmjs.org/immutable/-/immutable-4.2.4.tgz" + integrity sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w== + +inline-style-parser@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" + integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-buffer@^2.0.0: + version "2.0.5" + resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz" + integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== + +is-extendable@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-obj@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz" + integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== + +"js-tokens@^3.0.0 || ^4.0.0": + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^4.0.3: + version "4.1.5" + resolved "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz" + integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== + +longest-streak@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz" + integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== + +loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +markdown-to-jsx@^7.1.9: + version "7.1.9" + resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-7.1.9.tgz#1ffae0cda07c189163d273bd57a5b8f8f8745586" + integrity sha512-x4STVIKIJR0mGgZIZ5RyAeQD7FEZd5tS8m/htbcVGlex32J+hlSLj+ExrHCxP6nRKF1EKbcO7i6WhC1GtOpBlA== + +mdast-util-definitions@^5.0.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz#9910abb60ac5d7115d6819b57ae0bcef07a3f7a7" + integrity sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA== + dependencies: + "@types/mdast" "^3.0.0" + "@types/unist" "^2.0.0" + unist-util-visit "^4.0.0" + +mdast-util-from-markdown@^1.0.0: + version "1.3.0" + resolved "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz" + integrity sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g== + 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" + +mdast-util-frontmatter@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-1.0.1.tgz" + integrity sha512-JjA2OjxRqAa8wEG8hloD0uTU0kdn8kbtOWpPP94NBkfAlbxn4S8gCGf/9DwFtEeGPXrDcNXdiDjVaRdUFqYokw== + dependencies: + "@types/mdast" "^3.0.0" + mdast-util-to-markdown "^1.3.0" + micromark-extension-frontmatter "^1.0.0" + +mdast-util-phrasing@^3.0.0: + 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== + dependencies: + "@types/mdast" "^3.0.0" + unist-util-is "^5.0.0" + +mdast-util-to-hast@^12.0.0, mdast-util-to-hast@^12.1.0: + version "12.3.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz#045d2825fb04374e59970f5b3f279b5700f6fb49" + integrity sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw== + 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" + +mdast-util-to-markdown@^1.0.0, mdast-util-to-markdown@^1.3.0: + 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== + 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" + +mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.1.tgz" + integrity sha512-tGvhT94e+cVnQt8JWE9/b3cUQZWS732TJxXHktvP+BYo62PpYD53Ls/6cC60rW21dW+txxiM4zMdc6abASvZKA== + dependencies: + "@types/mdast" "^3.0.0" + +micromark-core-commonmark@^1.0.1: + version "1.0.6" + resolved "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz" + integrity sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA== + 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" + +micromark-extension-frontmatter@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-1.0.0.tgz" + integrity sha512-EXjmRnupoX6yYuUJSQhrQ9ggK0iQtQlpi6xeJzVD5xscyAI+giqco5fdymayZhJMbIFecjnE2yz85S9NzIgQpg== + dependencies: + fault "^2.0.0" + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + +micromark-factory-destination@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz" + integrity sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-factory-label@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz" + integrity sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + uvu "^0.5.0" + +micromark-factory-space@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz" + integrity sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-factory-title@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz" + integrity sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A== + 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" + +micromark-factory-whitespace@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz" + integrity sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A== + 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" + +micromark-util-character@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz" + integrity sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg== + dependencies: + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-util-chunked@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz" + integrity sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g== + dependencies: + micromark-util-symbol "^1.0.0" + +micromark-util-classify-character@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz" + integrity sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-util-combine-extensions@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz" + integrity sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA== + dependencies: + micromark-util-chunked "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-util-decode-numeric-character-reference@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz" + integrity sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w== + dependencies: + micromark-util-symbol "^1.0.0" + +micromark-util-decode-string@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz" + integrity sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q== + 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" + +micromark-util-encode@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz" + integrity sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA== + +micromark-util-html-tag-name@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz" + integrity sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA== + +micromark-util-normalize-identifier@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz" + integrity sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg== + dependencies: + micromark-util-symbol "^1.0.0" + +micromark-util-resolve-all@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz" + integrity sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw== + dependencies: + micromark-util-types "^1.0.0" + +micromark-util-sanitize-uri@^1.0.0, micromark-util-sanitize-uri@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz" + integrity sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-encode "^1.0.0" + micromark-util-symbol "^1.0.0" + +micromark-util-subtokenize@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz" + integrity sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA== + dependencies: + micromark-util-chunked "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + uvu "^0.5.0" + +micromark-util-symbol@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz" + integrity sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ== + +micromark-util-types@^1.0.0, micromark-util-types@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz" + integrity sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w== + +micromark@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz" + integrity sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA== + 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" + +mri@^1.1.0: + version "1.2.0" + resolved "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz" + integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +nanoid@^3.3.4: + version "3.3.4" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz" + integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== + +next-themes@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/next-themes/-/next-themes-0.2.1.tgz" + integrity sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A== + +next@13.1.6: + version "13.1.6" + resolved "https://registry.npmjs.org/next/-/next-13.1.6.tgz" + integrity sha512-hHlbhKPj9pW+Cymvfzc15lvhaOZ54l+8sXDXJWm3OBNBzgrVj6hwGPmqqsXg40xO1Leq+kXpllzRPuncpC0Phw== + dependencies: + "@next/env" "13.1.6" + "@swc/helpers" "0.4.14" + caniuse-lite "^1.0.30001406" + postcss "8.4.14" + styled-jsx "5.1.1" + optionalDependencies: + "@next/swc-android-arm-eabi" "13.1.6" + "@next/swc-android-arm64" "13.1.6" + "@next/swc-darwin-arm64" "13.1.6" + "@next/swc-darwin-x64" "13.1.6" + "@next/swc-freebsd-x64" "13.1.6" + "@next/swc-linux-arm-gnueabihf" "13.1.6" + "@next/swc-linux-arm64-gnu" "13.1.6" + "@next/swc-linux-arm64-musl" "13.1.6" + "@next/swc-linux-x64-gnu" "13.1.6" + "@next/swc-linux-x64-musl" "13.1.6" + "@next/swc-win32-arm64-msvc" "13.1.6" + "@next/swc-win32-ia32-msvc" "13.1.6" + "@next/swc-win32-x64-msvc" "13.1.6" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +parse5@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +postcss@8.4.14: + version "8.4.14" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz" + integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +prop-types@^15.0.0: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +property-information@^6.0.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.2.0.tgz#b74f522c31c097b5149e3c3cb8d7f3defd986a1d" + integrity sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg== + +react-dom@18.2.0: + version "18.2.0" + resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" + integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.0" + +react-is@^16.13.1: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-is@^18.0.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + +react-markdown@^8.0.5: + version "8.0.5" + resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-8.0.5.tgz#c9a70a33ca9aeeafb769c6582e7e38843b9d70ad" + integrity sha512-jGJolWWmOWAvzf+xMdB9zwStViODyyFQhNB/bwCerbBKmrTmgmA599CGiOlP58OId1IMoIRsA8UdI1Lod4zb5A== + 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" + +react@18.2.0: + version "18.2.0" + resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" + integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + dependencies: + loose-envify "^1.1.0" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +remark-frontmatter@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-4.0.1.tgz" + integrity sha512-38fJrB0KnmD3E33a5jZC/5+gGAC2WKNiPw1/fdXJvijBlhA7RCsvJklrYJakS0HedninvaCYW8lQGf9C918GfA== + dependencies: + "@types/mdast" "^3.0.0" + mdast-util-frontmatter "^1.0.0" + micromark-extension-frontmatter "^1.0.0" + unified "^10.0.0" + +remark-html@^15.0.2: + version "15.0.2" + resolved "https://registry.yarnpkg.com/remark-html/-/remark-html-15.0.2.tgz#44ff77c876f037658b406662b5ce15e26ed34d80" + integrity sha512-/CIOI7wzHJzsh48AiuIyIe1clxVkUtreul73zcCXLub0FmnevQE0UMFDQm7NUx8/3rl/4zCshlMfqBdWScQthw== + dependencies: + "@types/mdast" "^3.0.0" + hast-util-sanitize "^4.0.0" + hast-util-to-html "^8.0.0" + mdast-util-to-hast "^12.0.0" + unified "^10.0.0" + +remark-parse@^10.0.0: + version "10.0.1" + resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz" + integrity sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw== + dependencies: + "@types/mdast" "^3.0.0" + mdast-util-from-markdown "^1.0.0" + unified "^10.0.0" + +remark-rehype@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-10.1.0.tgz#32dc99d2034c27ecaf2e0150d22a6dcccd9a6279" + integrity sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw== + dependencies: + "@types/hast" "^2.0.0" + "@types/mdast" "^3.0.0" + mdast-util-to-hast "^12.1.0" + unified "^10.0.0" + +remark-stringify@^10.0.0: + version "10.0.2" + resolved "https://registry.npmjs.org/remark-stringify/-/remark-stringify-10.0.2.tgz" + integrity sha512-6wV3pvbPvHkbNnWB0wdDvVFHOe1hBRAx1Q/5g/EpH4RppAII6J8Gnwe7VbHuXaoKIF6LAg6ExTel/+kNqSQ7lw== + dependencies: + "@types/mdast" "^3.0.0" + mdast-util-to-markdown "^1.0.0" + unified "^10.0.0" + +remark@^14.0.2: + version "14.0.2" + resolved "https://registry.npmjs.org/remark/-/remark-14.0.2.tgz" + integrity sha512-A3ARm2V4BgiRXaUo5K0dRvJ1lbogrbXnhkJRmD0yw092/Yl0kOCZt1k9ZeElEwkZsWGsMumz6qL5MfNJH9nOBA== + dependencies: + "@types/mdast" "^3.0.0" + remark-parse "^10.0.0" + remark-stringify "^10.0.0" + unified "^10.0.0" + +sade@^1.7.3: + version "1.8.1" + resolved "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz" + integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A== + dependencies: + mri "^1.1.0" + +sass@^1.58.0: + version "1.58.0" + resolved "https://registry.npmjs.org/sass/-/sass-1.58.0.tgz" + integrity sha512-PiMJcP33DdKtZ/1jSjjqVIKihoDc6yWmYr9K/4r3fVVIEDAluD0q7XZiRKrNJcPK3qkLRF/79DND1H5q1LBjgg== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + +scheduler@^0.23.0: + version "0.23.0" + resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" + integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== + dependencies: + loose-envify "^1.1.0" + +section-matter@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167" + integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== + dependencies: + extend-shallow "^2.0.1" + kind-of "^6.0.0" + +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +space-separated-tokens@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" + integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +stringify-entities@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.3.tgz#cfabd7039d22ad30f3cc435b0ca2c1574fc88ef8" + integrity sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g== + dependencies: + character-entities-html4 "^2.0.0" + character-entities-legacy "^3.0.0" + +strip-bom-string@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" + integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g== + +style-to-object@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.4.1.tgz#53cf856f7cf7f172d72939d9679556469ba5de37" + integrity sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw== + dependencies: + inline-style-parser "0.1.1" + +styled-jsx@5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz" + integrity sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw== + dependencies: + client-only "0.0.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-vfile@^7.2.4: + version "7.2.4" + resolved "https://registry.yarnpkg.com/to-vfile/-/to-vfile-7.2.4.tgz#b97ecfcc15905ffe020bc975879053928b671378" + integrity sha512-2eQ+rJ2qGbyw3senPI0qjuM7aut8IYXK6AEoOWb+fJx/mQYzviTckm1wDjq91QYHAPBTYzmdJXxMFA6Mk14mdw== + dependencies: + is-buffer "^2.0.0" + vfile "^5.1.0" + +trim-lines@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338" + integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== + +trough@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz" + integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g== + +tslib@^2.4.0: + version "2.5.0" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz" + integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== + +typescript@4.9.5: + version "4.9.5" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== + +unified@^10.0.0: + version "10.1.2" + resolved "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz" + integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q== + 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" + +unist-util-generated@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-2.0.1.tgz#e37c50af35d3ed185ac6ceacb6ca0afb28a85cae" + integrity sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A== + +unist-util-is@^5.0.0: + version "5.2.0" + resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.0.tgz" + integrity sha512-Glt17jWwZeyqrFqOK0pF1Ded5U3yzJnFr8CG1GMjCWTp9zDo2p+cmD6pWbZU8AgM5WU3IzRv6+rBwhzsGh6hBQ== + +unist-util-position@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-4.0.4.tgz#93f6d8c7d6b373d9b825844645877c127455f037" + integrity sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg== + dependencies: + "@types/unist" "^2.0.0" + +unist-util-stringify-position@^3.0.0: + 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== + dependencies: + "@types/unist" "^2.0.0" + +unist-util-visit-parents@^5.1.1: + 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== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^5.0.0" + +unist-util-visit@^4.0.0: + version "4.1.2" + resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz" + integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^5.0.0" + unist-util-visit-parents "^5.1.1" + +use-lanyard@^1.4.2: + version "1.4.2" + resolved "https://registry.npmjs.org/use-lanyard/-/use-lanyard-1.4.2.tgz" + integrity sha512-XXsrBpq6omD0uXh6mXOh/723+5fHhhjpWEPbeFXj1Bp3GfGJkFIJpSbuejAOn3ASc4b/9UIZ/G66WFEMRX4XEA== + +uvu@^0.5.0: + version "0.5.6" + resolved "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz" + integrity sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA== + dependencies: + dequal "^2.0.0" + diff "^5.0.0" + kleur "^4.0.3" + sade "^1.7.3" + +vfile-location@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-4.1.0.tgz#69df82fb9ef0a38d0d02b90dd84620e120050dd0" + integrity sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw== + dependencies: + "@types/unist" "^2.0.0" + vfile "^5.0.0" + +vfile-message@^3.0.0: + version "3.1.4" + resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz" + integrity sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw== + dependencies: + "@types/unist" "^2.0.0" + unist-util-stringify-position "^3.0.0" + +vfile@^5.0.0, vfile@^5.1.0: + version "5.3.7" + resolved "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz" + integrity sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g== + dependencies: + "@types/unist" "^2.0.0" + is-buffer "^2.0.0" + unist-util-stringify-position "^3.0.0" + vfile-message "^3.0.0" + +web-namespaces@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692" + integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== + +zwitch@^2.0.0, zwitch@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz" + integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==