diff --git a/astro-imagetools.config.mjs b/astro-imagetools.config.mjs
new file mode 100644
index 0000000..b59fcbc
--- /dev/null
+++ b/astro-imagetools.config.mjs
@@ -0,0 +1,32 @@
+import { defineConfig } from 'astro-imagetools/config'
+
+export default defineConfig({
+ placeholder: 'blurred',
+ format: ['webp', 'jpg'],
+ fallbackFormat: 'png',
+ includeSourceFormat: false,
+ formatOptions: {
+ jpg: {
+ quality: 80,
+ },
+ png: {
+ quality: 80,
+ },
+ webp: {
+ quality: 50,
+ },
+ tracedSVG: {
+ function: 'trace',
+ options: {
+ background: '#fff',
+ color: '#000',
+ turnPolicy: 'black',
+ turdSize: 1,
+ alphaMax: 1,
+ optCurve: true,
+ threshold: 100,
+ blackOnWhite: false,
+ },
+ },
+ },
+})
diff --git a/astro.config.mjs b/astro.config.mjs
index 0a23817..2eb9034 100644
--- a/astro.config.mjs
+++ b/astro.config.mjs
@@ -1,8 +1,9 @@
-import { defineConfig } from 'astro/config';
-import tailwind from '@astrojs/tailwind';
+import { defineConfig } from 'astro/config'
+import tailwind from '@astrojs/tailwind'
+import { astroImageTools } from 'astro-imagetools'
// https://astro.build/config
export default defineConfig({
- integrations: [tailwind()]
-});
\ No newline at end of file
+ integrations: [tailwind(), astroImageTools],
+})
diff --git a/package.json b/package.json
index 5658dbd..27ba35f 100644
--- a/package.json
+++ b/package.json
@@ -11,8 +11,11 @@
},
"dependencies": {
"@astrojs/tailwind": "^3.1.3",
+ "@fontsource-variable/jetbrains-mono": "^5.0.3",
"astro": "^2.5.5",
+ "astro-imagetools": "^0.8.1",
"astro-seo": "^0.7.2",
+ "sharp": "^0.32.1",
"tailwindcss": "^3.3.2",
"tailwindcss-hero-patterns": "^0.1.2"
},
@@ -25,6 +28,7 @@
"eslint-plugin-astro": "^0.27.1",
"eslint-plugin-jsx-a11y": "^6.7.1",
"eslint-plugin-tailwindcss": "^3.12.0",
+ "find-up": "^6.3.0",
"prettier": "^2.8.8",
"prettier-plugin-astro": "^0.9.1",
"prettier-plugin-sort-imports": "^1.7.2",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 19a62b2..866fd58 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -8,12 +8,21 @@ dependencies:
'@astrojs/tailwind':
specifier: ^3.1.3
version: 3.1.3(astro@2.5.5)(tailwindcss@3.3.2)
+ '@fontsource-variable/jetbrains-mono':
+ specifier: ^5.0.3
+ version: 5.0.3
astro:
specifier: ^2.5.5
- version: 2.5.5
+ version: 2.5.5(sharp@0.32.1)
+ astro-imagetools:
+ specifier: ^0.8.1
+ version: 0.8.1(astro@2.5.5)
astro-seo:
specifier: ^0.7.2
version: 0.7.2
+ sharp:
+ specifier: ^0.32.1
+ version: 0.32.1
tailwindcss:
specifier: ^3.3.2
version: 3.3.2
@@ -46,6 +55,9 @@ devDependencies:
eslint-plugin-tailwindcss:
specifier: ^3.12.0
version: 3.12.0(tailwindcss@3.3.2)
+ find-up:
+ specifier: ^6.3.0
+ version: 6.3.0
prettier:
specifier: ^2.8.8
version: 2.8.8
@@ -101,7 +113,7 @@ packages:
astro: ^2.5.0
dependencies:
'@astrojs/prism': 2.1.2
- astro: 2.5.5
+ astro: 2.5.5(sharp@0.32.1)
github-slugger: 1.5.0
import-meta-resolve: 2.2.2
rehype-raw: 6.1.1
@@ -132,7 +144,7 @@ packages:
tailwindcss: ^3.0.24
dependencies:
'@proload/core': 0.3.3
- astro: 2.5.5
+ astro: 2.5.5(sharp@0.32.1)
autoprefixer: 10.4.14(postcss@8.4.24)
postcss: 8.4.24
postcss-load-config: 4.0.1(postcss@8.4.24)
@@ -157,12 +169,16 @@ packages:
- supports-color
dev: false
- /@astrojs/webapi@2.1.1:
- resolution: {integrity: sha512-mHZ7VgPNMeV3TYIw3SGHTKaJosBxA8bTzZ3QhNw509qvCJca4Lkjes8JywimuwTn+TMjEiv7ksNfwRluad3jqA==}
+ /@astrojs/webapi@2.2.0:
+ resolution: {integrity: sha512-mHAOApWyjqSe5AQMOUD9rsZJqbMQqe3Wosb1a40JV6Okvyxj1G6GTlthwYadWCymq/lbgwh0PLiY8Fr4eFxtuQ==}
dependencies:
undici: 5.22.1
dev: false
+ /@astropub/codecs@0.4.4:
+ resolution: {integrity: sha512-jHmdZK2B7dfelTsVzkWVb93WPjuKkHz07xUcyg5WtUxTeCCxdDVLnvZlsB5PC2r7HmJLf03TP1QYb1ZgrEebyQ==}
+ dev: false
+
/@babel/code-frame@7.21.4:
resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==}
engines: {node: '>=6.9.0'}
@@ -363,7 +379,6 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
regenerator-runtime: 0.13.11
- dev: true
/@babel/template@7.21.9:
resolution: {integrity: sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==}
@@ -652,6 +667,10 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
+ /@fontsource-variable/jetbrains-mono@5.0.3:
+ resolution: {integrity: sha512-Dgj2p7YD/TFDpMBiQj0ARxixE29BUkYj8zZAE8KetU0iPeCjnpAP+Hlrhcs6OVMyoMY16im2dGOraCD3a1fanA==}
+ dev: false
+
/@fullhuman/postcss-purgecss@2.3.0:
resolution: {integrity: sha512-qnKm5dIOyPGJ70kPZ5jiz0I9foVOic0j+cOzNDoo8KoCf6HjicIZ99UfO2OmE7vCYSKAAepEwJtNzpiiZAh9xw==}
dependencies:
@@ -679,6 +698,381 @@ packages:
resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
dev: true
+ /@jimp/bmp@0.14.0(@jimp/custom@0.14.0):
+ resolution: {integrity: sha512-5RkX6tSS7K3K3xNEb2ygPuvyL9whjanhoaB/WmmXlJS6ub4DjTqrapu8j4qnIWmO4YYtFeTbDTXV6v9P1yMA5A==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/utils': 0.14.0
+ bmp-js: 0.1.0
+ dev: false
+
+ /@jimp/core@0.14.0:
+ resolution: {integrity: sha512-S62FcKdtLtj3yWsGfJRdFXSutjvHg7aQNiFogMbwq19RP4XJWqS2nOphu7ScB8KrSlyy5nPF2hkWNhLRLyD82w==}
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/utils': 0.14.0
+ any-base: 1.1.0
+ buffer: 5.7.1
+ exif-parser: 0.1.12
+ file-type: 9.0.0
+ load-bmfont: 1.4.1
+ mkdirp: 0.5.6
+ phin: 2.9.3
+ pixelmatch: 4.0.2
+ tinycolor2: 1.6.0
+ dev: false
+
+ /@jimp/custom@0.14.0:
+ resolution: {integrity: sha512-kQJMeH87+kWJdVw8F9GQhtsageqqxrvzg7yyOw3Tx/s7v5RToe8RnKyMM+kVtBJtNAG+Xyv/z01uYQ2jiZ3GwA==}
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/core': 0.14.0
+ dev: false
+
+ /@jimp/gif@0.14.0(@jimp/custom@0.14.0):
+ resolution: {integrity: sha512-DHjoOSfCaCz72+oGGEh8qH0zE6pUBaBxPxxmpYJjkNyDZP7RkbBkZJScIYeQ7BmJxmGN4/dZn+MxamoQlr+UYg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/utils': 0.14.0
+ gifwrap: 0.9.4
+ omggif: 1.0.10
+ dev: false
+
+ /@jimp/jpeg@0.14.0(@jimp/custom@0.14.0):
+ resolution: {integrity: sha512-561neGbr+87S/YVQYnZSTyjWTHBm9F6F1obYHiyU3wVmF+1CLbxY3FQzt4YolwyQHIBv36Bo0PY2KkkU8BEeeQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/utils': 0.14.0
+ jpeg-js: 0.4.4
+ dev: false
+
+ /@jimp/plugin-blit@0.14.0(@jimp/custom@0.14.0):
+ resolution: {integrity: sha512-YoYOrnVHeX3InfgbJawAU601iTZMwEBZkyqcP1V/S33Qnz9uzH1Uj1NtC6fNgWzvX6I4XbCWwtr4RrGFb5CFrw==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/utils': 0.14.0
+ dev: false
+
+ /@jimp/plugin-blur@0.14.0(@jimp/custom@0.14.0):
+ resolution: {integrity: sha512-9WhZcofLrT0hgI7t0chf7iBQZib//0gJh9WcQMUt5+Q1Bk04dWs8vTgLNj61GBqZXgHSPzE4OpCrrLDBG8zlhQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/utils': 0.14.0
+ dev: false
+
+ /@jimp/plugin-circle@0.14.0(@jimp/custom@0.14.0):
+ resolution: {integrity: sha512-o5L+wf6QA44tvTum5HeLyLSc5eVfIUd5ZDVi5iRfO4o6GT/zux9AxuTSkKwnjhsG8bn1dDmywAOQGAx7BjrQVA==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/utils': 0.14.0
+ dev: false
+
+ /@jimp/plugin-color@0.14.0(@jimp/custom@0.14.0):
+ resolution: {integrity: sha512-JJz512SAILYV0M5LzBb9sbOm/XEj2fGElMiHAxb7aLI6jx+n0agxtHpfpV/AePTLm1vzzDxx6AJxXbKv355hBQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/utils': 0.14.0
+ tinycolor2: 1.6.0
+ dev: false
+
+ /@jimp/plugin-contain@0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-blit@0.14.0)(@jimp/plugin-resize@0.14.0)(@jimp/plugin-scale@0.14.0):
+ resolution: {integrity: sha512-RX2q233lGyaxiMY6kAgnm9ScmEkNSof0hdlaJAVDS1OgXphGAYAeSIAwzESZN4x3ORaWvkFefeVH9O9/698Evg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-blit': '>=0.3.5'
+ '@jimp/plugin-resize': '>=0.3.5'
+ '@jimp/plugin-scale': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/plugin-blit': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/plugin-resize': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/plugin-scale': 0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-resize@0.14.0)
+ '@jimp/utils': 0.14.0
+ dev: false
+
+ /@jimp/plugin-cover@0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-crop@0.14.0)(@jimp/plugin-resize@0.14.0)(@jimp/plugin-scale@0.14.0):
+ resolution: {integrity: sha512-0P/5XhzWES4uMdvbi3beUgfvhn4YuQ/ny8ijs5kkYIw6K8mHcl820HahuGpwWMx56DJLHRl1hFhJwo9CeTRJtQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-crop': '>=0.3.5'
+ '@jimp/plugin-resize': '>=0.3.5'
+ '@jimp/plugin-scale': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/plugin-crop': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/plugin-resize': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/plugin-scale': 0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-resize@0.14.0)
+ '@jimp/utils': 0.14.0
+ dev: false
+
+ /@jimp/plugin-crop@0.14.0(@jimp/custom@0.14.0):
+ resolution: {integrity: sha512-Ojtih+XIe6/XSGtpWtbAXBozhCdsDMmy+THUJAGu2x7ZgKrMS0JotN+vN2YC3nwDpYkM+yOJImQeptSfZb2Sug==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/utils': 0.14.0
+ dev: false
+
+ /@jimp/plugin-displace@0.14.0(@jimp/custom@0.14.0):
+ resolution: {integrity: sha512-c75uQUzMgrHa8vegkgUvgRL/PRvD7paFbFJvzW0Ugs8Wl+CDMGIPYQ3j7IVaQkIS+cAxv+NJ3TIRBQyBrfVEOg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/utils': 0.14.0
+ dev: false
+
+ /@jimp/plugin-dither@0.14.0(@jimp/custom@0.14.0):
+ resolution: {integrity: sha512-g8SJqFLyYexXQQsoh4dc1VP87TwyOgeTElBcxSXX2LaaMZezypmxQfLTzOFzZoK8m39NuaoH21Ou1Ftsq7LzVQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/utils': 0.14.0
+ dev: false
+
+ /@jimp/plugin-fisheye@0.14.0(@jimp/custom@0.14.0):
+ resolution: {integrity: sha512-BFfUZ64EikCaABhCA6mR3bsltWhPpS321jpeIQfJyrILdpFsZ/OccNwCgpW1XlbldDHIoNtXTDGn3E+vCE7vDg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/utils': 0.14.0
+ dev: false
+
+ /@jimp/plugin-flip@0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-rotate@0.14.0):
+ resolution: {integrity: sha512-WtL1hj6ryqHhApih+9qZQYA6Ye8a4HAmdTzLbYdTMrrrSUgIzFdiZsD0WeDHpgS/+QMsWwF+NFmTZmxNWqKfXw==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-rotate': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/plugin-rotate': 0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-blit@0.14.0)(@jimp/plugin-crop@0.14.0)(@jimp/plugin-resize@0.14.0)
+ '@jimp/utils': 0.14.0
+ dev: false
+
+ /@jimp/plugin-gaussian@0.14.0(@jimp/custom@0.14.0):
+ resolution: {integrity: sha512-uaLwQ0XAQoydDlF9tlfc7iD9drYPriFe+jgYnWm8fbw5cN+eOIcnneEX9XCOOzwgLPkNCxGox6Kxjn8zY6GxtQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/utils': 0.14.0
+ dev: false
+
+ /@jimp/plugin-invert@0.14.0(@jimp/custom@0.14.0):
+ resolution: {integrity: sha512-UaQW9X9vx8orQXYSjT5VcITkJPwDaHwrBbxxPoDG+F/Zgv4oV9fP+udDD6qmkgI9taU+44Fy+zm/J/gGcMWrdg==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/utils': 0.14.0
+ dev: false
+
+ /@jimp/plugin-mask@0.14.0(@jimp/custom@0.14.0):
+ resolution: {integrity: sha512-tdiGM69OBaKtSPfYSQeflzFhEpoRZ+BvKfDEoivyTjauynbjpRiwB1CaiS8En1INTDwzLXTT0Be9SpI3LkJoEA==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/utils': 0.14.0
+ dev: false
+
+ /@jimp/plugin-normalize@0.14.0(@jimp/custom@0.14.0):
+ resolution: {integrity: sha512-AfY8sqlsbbdVwFGcyIPy5JH/7fnBzlmuweb+Qtx2vn29okq6+HelLjw2b+VT2btgGUmWWHGEHd86oRGSoWGyEQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/utils': 0.14.0
+ dev: false
+
+ /@jimp/plugin-print@0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-blit@0.14.0):
+ resolution: {integrity: sha512-MwP3sH+VS5AhhSTXk7pui+tEJFsxnTKFY3TraFJb8WFbA2Vo2qsRCZseEGwpTLhENB7p/JSsLvWoSSbpmxhFAQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-blit': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/plugin-blit': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/utils': 0.14.0
+ load-bmfont: 1.4.1
+ dev: false
+
+ /@jimp/plugin-resize@0.14.0(@jimp/custom@0.14.0):
+ resolution: {integrity: sha512-qFeMOyXE/Bk6QXN0GQo89+CB2dQcXqoxUcDb2Ah8wdYlKqpi53skABkgVy5pW3EpiprDnzNDboMltdvDslNgLQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/utils': 0.14.0
+ dev: false
+
+ /@jimp/plugin-rotate@0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-blit@0.14.0)(@jimp/plugin-crop@0.14.0)(@jimp/plugin-resize@0.14.0):
+ resolution: {integrity: sha512-aGaicts44bvpTcq5Dtf93/8TZFu5pMo/61lWWnYmwJJU1RqtQlxbCLEQpMyRhKDNSfPbuP8nyGmaqXlM/82J0Q==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-blit': '>=0.3.5'
+ '@jimp/plugin-crop': '>=0.3.5'
+ '@jimp/plugin-resize': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/plugin-blit': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/plugin-crop': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/plugin-resize': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/utils': 0.14.0
+ dev: false
+
+ /@jimp/plugin-scale@0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-resize@0.14.0):
+ resolution: {integrity: sha512-ZcJk0hxY5ZKZDDwflqQNHEGRblgaR+piePZm7dPwPUOSeYEH31P0AwZ1ziceR74zd8N80M0TMft+e3Td6KGBHw==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-resize': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/plugin-resize': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/utils': 0.14.0
+ dev: false
+
+ /@jimp/plugin-shadow@0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-blur@0.14.0)(@jimp/plugin-resize@0.14.0):
+ resolution: {integrity: sha512-p2igcEr/iGrLiTu0YePNHyby0WYAXM14c5cECZIVnq/UTOOIQ7xIcWZJ1lRbAEPxVVXPN1UibhZAbr3HAb5BjQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-blur': '>=0.3.5'
+ '@jimp/plugin-resize': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/plugin-blur': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/plugin-resize': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/utils': 0.14.0
+ dev: false
+
+ /@jimp/plugin-threshold@0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-color@0.14.0)(@jimp/plugin-resize@0.14.0):
+ resolution: {integrity: sha512-N4BlDgm/FoOMV/DQM2rSpzsgqAzkP0DXkWZoqaQrlRxQBo4zizQLzhEL00T/YCCMKnddzgEhnByaocgaaa0fKw==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ '@jimp/plugin-color': '>=0.8.0'
+ '@jimp/plugin-resize': '>=0.8.0'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/plugin-color': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/plugin-resize': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/utils': 0.14.0
+ dev: false
+
+ /@jimp/plugins@0.14.0(@jimp/custom@0.14.0):
+ resolution: {integrity: sha512-vDO3XT/YQlFlFLq5TqNjQkISqjBHT8VMhpWhAfJVwuXIpilxz5Glu4IDLK6jp4IjPR6Yg2WO8TmRY/HI8vLrOw==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/plugin-blit': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/plugin-blur': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/plugin-circle': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/plugin-color': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/plugin-contain': 0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-blit@0.14.0)(@jimp/plugin-resize@0.14.0)(@jimp/plugin-scale@0.14.0)
+ '@jimp/plugin-cover': 0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-crop@0.14.0)(@jimp/plugin-resize@0.14.0)(@jimp/plugin-scale@0.14.0)
+ '@jimp/plugin-crop': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/plugin-displace': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/plugin-dither': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/plugin-fisheye': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/plugin-flip': 0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-rotate@0.14.0)
+ '@jimp/plugin-gaussian': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/plugin-invert': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/plugin-mask': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/plugin-normalize': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/plugin-print': 0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-blit@0.14.0)
+ '@jimp/plugin-resize': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/plugin-rotate': 0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-blit@0.14.0)(@jimp/plugin-crop@0.14.0)(@jimp/plugin-resize@0.14.0)
+ '@jimp/plugin-scale': 0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-resize@0.14.0)
+ '@jimp/plugin-shadow': 0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-blur@0.14.0)(@jimp/plugin-resize@0.14.0)
+ '@jimp/plugin-threshold': 0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-color@0.14.0)(@jimp/plugin-resize@0.14.0)
+ timm: 1.7.1
+ dev: false
+
+ /@jimp/png@0.14.0(@jimp/custom@0.14.0):
+ resolution: {integrity: sha512-0RV/mEIDOrPCcNfXSPmPBqqSZYwGADNRVUTyMt47RuZh7sugbYdv/uvKmQSiqRdR0L1sfbCBMWUEa5G/8MSbdA==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/utils': 0.14.0
+ pngjs: 3.4.0
+ dev: false
+
+ /@jimp/tiff@0.14.0(@jimp/custom@0.14.0):
+ resolution: {integrity: sha512-zBYDTlutc7j88G/7FBCn3kmQwWr0rmm1e0FKB4C3uJ5oYfT8645lftUsvosKVUEfkdmOaMAnhrf4ekaHcb5gQw==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ utif: 2.0.1
+ dev: false
+
+ /@jimp/types@0.14.0(@jimp/custom@0.14.0):
+ resolution: {integrity: sha512-hx3cXAW1KZm+b+XCrY3LXtdWy2U+hNtq0rPyJ7NuXCjU7lZR3vIkpz1DLJ3yDdS70hTi5QDXY3Cd9kd6DtloHQ==}
+ peerDependencies:
+ '@jimp/custom': '>=0.3.5'
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/bmp': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/custom': 0.14.0
+ '@jimp/gif': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/jpeg': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/png': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/tiff': 0.14.0(@jimp/custom@0.14.0)
+ timm: 1.7.1
+ dev: false
+
+ /@jimp/utils@0.14.0:
+ resolution: {integrity: sha512-MY5KFYUru0y74IsgM/9asDwb3ERxWxXEu3CRCZEvE7DtT86y1bR1XgtlSliMrptjz4qbivNGMQSvUBpEFJDp1A==}
+ dependencies:
+ '@babel/runtime': 7.22.3
+ regenerator-runtime: 0.13.11
+ dev: false
+
/@jridgewell/gen-mapping@0.3.3:
resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
engines: {node: '>=6.0.0'}
@@ -747,6 +1141,10 @@ packages:
escalade: 3.1.1
dev: false
+ /@tokenizer/token@0.3.0:
+ resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==}
+ dev: false
+
/@trysound/sax@0.2.0:
resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
engines: {node: '>=10.13.0'}
@@ -813,6 +1211,10 @@ packages:
'@types/unist': 2.0.6
dev: false
+ /@types/node@16.9.1:
+ resolution: {integrity: sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==}
+ dev: false
+
/@types/parse5@6.0.3:
resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==}
dev: false
@@ -987,6 +1389,10 @@ packages:
engines: {node: '>=12'}
dev: false
+ /any-base@1.1.0:
+ resolution: {integrity: sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==}
+ dev: false
+
/any-promise@1.3.0:
resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
@@ -1072,11 +1478,28 @@ packages:
- supports-color
dev: true
+ /astro-imagetools@0.8.1(astro@2.5.5):
+ resolution: {integrity: sha512-2E737IBqzuwkuK4FMYB9UmE1xmQWghn1HOHNMERrzZmGsKpGSAdQGo7nSnYwpy8amF+Do8sUx9wtCe2+6T4k+A==}
+ engines: {node: ^14.15.0 || >=16.0.0}
+ peerDependencies:
+ astro: '>=0.26 || >=1.0.0-beta'
+ dependencies:
+ '@astropub/codecs': 0.4.4
+ astro: 2.5.5(sharp@0.32.1)
+ file-type: 17.1.1
+ find-cache-dir: 3.3.2
+ find-up: 6.3.0
+ object-hash: 3.0.0
+ potrace: 2.1.8
+ optionalDependencies:
+ imagetools-core: 3.0.2
+ dev: false
+
/astro-seo@0.7.2:
resolution: {integrity: sha512-YnSqj4E6vbF7wRk3gcxOPHBjenhfgaINEJlTsnu4sovAyfyGEdQksbioYKoZ+vERRDaYvEricfSzC6fc9lieww==}
dev: false
- /astro@2.5.5:
+ /astro@2.5.5(sharp@0.32.1):
resolution: {integrity: sha512-VRwnlfRtPALeOxfE4e7To5Vlu9pGwlTRWN1zkn1QTizwfg0rLirFTm6t2MCG/fUhlu/p3QO9tz8SpAIyDq53/Q==}
engines: {node: '>=16.12.0', npm: '>=6.14.0'}
hasBin: true
@@ -1090,7 +1513,7 @@ packages:
'@astrojs/language-server': 1.0.8
'@astrojs/markdown-remark': 2.2.1(astro@2.5.5)
'@astrojs/telemetry': 2.1.1
- '@astrojs/webapi': 2.1.1
+ '@astrojs/webapi': 2.2.0
'@babel/core': 7.22.1
'@babel/generator': 7.22.3
'@babel/parser': 7.22.4
@@ -1129,6 +1552,7 @@ packages:
rehype: 12.0.1
semver: 7.5.1
server-destroy: 1.0.1
+ sharp: 0.32.1
shiki: 0.14.2
slash: 4.0.0
string-width: 5.1.2
@@ -1225,6 +1649,14 @@ packages:
resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
engines: {node: '>=8'}
+ /bl@4.1.0:
+ resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
+ dependencies:
+ buffer: 5.7.1
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+ dev: false
+
/bl@5.1.0:
resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==}
dependencies:
@@ -1233,6 +1665,10 @@ packages:
readable-stream: 3.6.2
dev: false
+ /bmp-js@0.1.0:
+ resolution: {integrity: sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==}
+ dev: false
+
/boolbase@1.0.0:
resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
dev: true
@@ -1279,6 +1715,18 @@ packages:
node-releases: 2.0.12
update-browserslist-db: 1.0.11(browserslist@4.21.7)
+ /buffer-equal@0.0.1:
+ resolution: {integrity: sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==}
+ engines: {node: '>=0.4.0'}
+ dev: false
+
+ /buffer@5.7.1:
+ resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
+ dependencies:
+ base64-js: 1.5.1
+ ieee754: 1.2.1
+ dev: false
+
/buffer@6.0.3:
resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
dependencies:
@@ -1388,6 +1836,10 @@ packages:
optionalDependencies:
fsevents: 2.3.2
+ /chownr@1.1.4:
+ resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
+ dev: false
+
/ci-info@3.8.0:
resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==}
engines: {node: '>=8'}
@@ -1448,6 +1900,14 @@ packages:
color-string: 1.9.1
dev: false
+ /color@4.2.3:
+ resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
+ engines: {node: '>=12.5.0'}
+ dependencies:
+ color-convert: 2.0.1
+ color-string: 1.9.1
+ dev: false
+
/colord@2.9.3:
resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
dev: true
@@ -1474,6 +1934,10 @@ packages:
resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==}
dev: false
+ /commondir@1.0.1:
+ resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
+ dev: false
+
/concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
@@ -1629,6 +2093,13 @@ packages:
character-entities: 2.0.2
dev: false
+ /decompress-response@6.0.0:
+ resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ mimic-response: 3.1.0
+ dev: false
+
/deep-equal@2.2.1:
resolution: {integrity: sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ==}
dependencies:
@@ -1652,6 +2123,11 @@ packages:
which-typed-array: 1.1.9
dev: true
+ /deep-extend@0.6.0:
+ resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
+ engines: {node: '>=4.0.0'}
+ dev: false
+
/deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
dev: true
@@ -1709,6 +2185,18 @@ packages:
engines: {node: '>=6'}
dev: false
+ /detect-libc@1.0.3:
+ resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
+ engines: {node: '>=0.10'}
+ hasBin: true
+ dev: false
+ optional: true
+
+ /detect-libc@2.0.1:
+ resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==}
+ engines: {node: '>=8'}
+ dev: false
+
/detective@5.2.1:
resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==}
engines: {node: '>=0.8.0'}
@@ -1756,6 +2244,10 @@ packages:
entities: 4.5.0
dev: true
+ /dom-walk@0.1.2:
+ resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==}
+ dev: false
+
/domelementtype@2.3.0:
resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
dev: true
@@ -1801,6 +2293,12 @@ packages:
/emoji-regex@9.2.2:
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+ /end-of-stream@1.4.4:
+ resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
+ dependencies:
+ once: 1.4.0
+ dev: false
+
/entities@4.5.0:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
@@ -2151,6 +2649,15 @@ packages:
signal-exit: 3.0.7
strip-final-newline: 3.0.0
+ /exif-parser@0.1.12:
+ resolution: {integrity: sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==}
+ dev: false
+
+ /expand-template@2.0.3:
+ resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==}
+ engines: {node: '>=6'}
+ dev: false
+
/extend-shallow@2.0.1:
resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
engines: {node: '>=0.10.0'}
@@ -2196,12 +2703,35 @@ packages:
flat-cache: 3.0.4
dev: true
+ /file-type@17.1.1:
+ resolution: {integrity: sha512-heRUMZHby2Qj6wZAA3YHeMlRmZNQTcb6VxctkGmM+mcM6ROQKvHpr7SS6EgdfEhH+s25LDshBjvPx/Ecm+bOVQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ readable-web-to-node-stream: 3.0.2
+ strtok3: 7.0.0
+ token-types: 5.0.1
+ dev: false
+
+ /file-type@9.0.0:
+ resolution: {integrity: sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==}
+ engines: {node: '>=6'}
+ dev: false
+
/fill-range@7.0.1:
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
engines: {node: '>=8'}
dependencies:
to-regex-range: 5.0.1
+ /find-cache-dir@3.3.2:
+ resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==}
+ engines: {node: '>=8'}
+ dependencies:
+ commondir: 1.0.1
+ make-dir: 3.1.0
+ pkg-dir: 4.2.0
+ dev: false
+
/find-up@4.1.0:
resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
engines: {node: '>=8'}
@@ -2217,6 +2747,13 @@ packages:
locate-path: 6.0.0
path-exists: 4.0.0
+ /find-up@6.3.0:
+ resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ locate-path: 7.2.0
+ path-exists: 5.0.0
+
/find-yarn-workspace-root2@1.2.16:
resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==}
dependencies:
@@ -2245,6 +2782,10 @@ packages:
/fraction.js@4.2.0:
resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
+ /fs-constants@1.0.0:
+ resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
+ dev: false
+
/fs-extra@8.1.0:
resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==}
engines: {node: '>=6 <7 || >=8'}
@@ -2307,6 +2848,17 @@ packages:
get-intrinsic: 1.2.1
dev: true
+ /gifwrap@0.9.4:
+ resolution: {integrity: sha512-MDMwbhASQuVeD4JKd1fKgNgCRL3fGqMM4WaqpNhWO0JiMOAjbQdumbs4BbBZEy9/M00EHEjKN3HieVhCUlwjeQ==}
+ dependencies:
+ image-q: 4.0.0
+ omggif: 1.0.10
+ dev: false
+
+ /github-from-package@0.0.0:
+ resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==}
+ dev: false
+
/github-slugger@1.5.0:
resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==}
dev: false
@@ -2347,6 +2899,13 @@ packages:
once: 1.4.0
path-is-absolute: 1.0.1
+ /global@4.4.0:
+ resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==}
+ dependencies:
+ min-document: 2.19.0
+ process: 0.11.10
+ dev: false
+
/globals@11.12.0:
resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
engines: {node: '>=4'}
@@ -2560,6 +3119,21 @@ packages:
engines: {node: '>= 4'}
dev: true
+ /image-q@4.0.0:
+ resolution: {integrity: sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw==}
+ dependencies:
+ '@types/node': 16.9.1
+ dev: false
+
+ /imagetools-core@3.0.2:
+ resolution: {integrity: sha512-DlArpNiefCc1syIqvOONcE8L8IahN8GjwaEjm6wIJIvuKoFoI1RcKmWWfS2dYxSlTiSp2X5b3JnHDjUXmWqlVA==}
+ engines: {node: '>=12.0.0'}
+ requiresBuild: true
+ dependencies:
+ sharp: 0.29.3
+ dev: false
+ optional: true
+
/import-fresh@3.3.0:
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
engines: {node: '>=6'}
@@ -2586,6 +3160,10 @@ packages:
/inherits@2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+ /ini@1.3.8:
+ resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
+ dev: false
+
/internal-slot@1.0.5:
resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==}
engines: {node: '>= 0.4'}
@@ -2681,6 +3259,10 @@ packages:
engines: {node: '>=8'}
dev: false
+ /is-function@1.0.2:
+ resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==}
+ dev: false
+
/is-glob@4.0.3:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
engines: {node: '>=0.10.0'}
@@ -2815,10 +3397,24 @@ packages:
/isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+ /jimp@0.14.0:
+ resolution: {integrity: sha512-8BXU+J8+SPmwwyq9ELihpSV4dWPTiOKBWCEgtkbnxxAVMjXdf3yGmyaLSshBfXc8sP/JQ9OZj5R8nZzz2wPXgA==}
+ dependencies:
+ '@babel/runtime': 7.22.3
+ '@jimp/custom': 0.14.0
+ '@jimp/plugins': 0.14.0(@jimp/custom@0.14.0)
+ '@jimp/types': 0.14.0(@jimp/custom@0.14.0)
+ regenerator-runtime: 0.13.11
+ dev: false
+
/jiti@1.18.2:
resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==}
hasBin: true
+ /jpeg-js@0.4.4:
+ resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==}
+ dev: false
+
/js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
dev: false
@@ -2919,6 +3515,19 @@ packages:
/lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+ /load-bmfont@1.4.1:
+ resolution: {integrity: sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==}
+ dependencies:
+ buffer-equal: 0.0.1
+ mime: 1.6.0
+ parse-bmfont-ascii: 1.0.6
+ parse-bmfont-binary: 1.0.6
+ parse-bmfont-xml: 1.1.4
+ phin: 2.9.3
+ xhr: 2.6.0
+ xtend: 4.0.2
+ dev: false
+
/load-yaml-file@0.2.0:
resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==}
engines: {node: '>=6'}
@@ -2942,6 +3551,12 @@ packages:
dependencies:
p-locate: 5.0.0
+ /locate-path@7.2.0:
+ resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ p-locate: 6.0.0
+
/lodash.memoize@4.1.2:
resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
dev: true
@@ -2989,6 +3604,13 @@ packages:
'@jridgewell/sourcemap-codec': 1.4.15
dev: false
+ /make-dir@3.1.0:
+ resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
+ engines: {node: '>=8'}
+ dependencies:
+ semver: 6.3.0
+ dev: false
+
/markdown-table@3.0.3:
resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==}
dev: false
@@ -3393,6 +4015,12 @@ packages:
braces: 3.0.2
picomatch: 2.3.1
+ /mime@1.6.0:
+ resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dev: false
+
/mime@3.0.0:
resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==}
engines: {node: '>=10.0.0'}
@@ -3407,6 +4035,17 @@ packages:
resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
engines: {node: '>=12'}
+ /mimic-response@3.1.0:
+ resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /min-document@2.19.0:
+ resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==}
+ dependencies:
+ dom-walk: 0.1.2
+ dev: false
+
/minimatch@3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
dependencies:
@@ -3416,6 +4055,17 @@ packages:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
dev: false
+ /mkdirp-classic@0.5.3:
+ resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
+ dev: false
+
+ /mkdirp@0.5.6:
+ resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
+ hasBin: true
+ dependencies:
+ minimist: 1.2.8
+ dev: false
+
/mri@1.2.0:
resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
engines: {node: '>=4'}
@@ -3436,6 +4086,10 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
+ /napi-build-utils@1.0.2:
+ resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==}
+ dev: false
+
/natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
dev: true
@@ -3446,6 +4100,22 @@ packages:
'@types/nlcst': 1.0.0
dev: false
+ /node-abi@3.40.0:
+ resolution: {integrity: sha512-zNy02qivjjRosswoYmPi8hIKJRr8MpQyeKT6qlcq/OnOgA3Rhoae+IYOqsM9V5+JnHWmxKnWOT2GxvtqdtOCXA==}
+ engines: {node: '>=10'}
+ dependencies:
+ semver: 7.5.1
+ dev: false
+
+ /node-addon-api@4.3.0:
+ resolution: {integrity: sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==}
+ dev: false
+ optional: true
+
+ /node-addon-api@6.1.0:
+ resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==}
+ dev: false
+
/node-emoji@1.11.0:
resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==}
dependencies:
@@ -3547,6 +4217,10 @@ packages:
es-abstract: 1.21.2
dev: true
+ /omggif@1.0.10:
+ resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==}
+ dev: false
+
/once@1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
dependencies:
@@ -3618,7 +4292,6 @@ packages:
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
dependencies:
yocto-queue: 1.0.0
- dev: false
/p-locate@4.1.0:
resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
@@ -3633,11 +4306,21 @@ packages:
dependencies:
p-limit: 3.1.0
+ /p-locate@6.0.0:
+ resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ p-limit: 4.0.0
+
/p-try@2.2.0:
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
engines: {node: '>=6'}
dev: false
+ /pako@1.0.11:
+ resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
+ dev: false
+
/parent-module@1.0.1:
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
engines: {node: '>=6'}
@@ -3645,6 +4328,25 @@ packages:
callsites: 3.1.0
dev: true
+ /parse-bmfont-ascii@1.0.6:
+ resolution: {integrity: sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==}
+ dev: false
+
+ /parse-bmfont-binary@1.0.6:
+ resolution: {integrity: sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA==}
+ dev: false
+
+ /parse-bmfont-xml@1.1.4:
+ resolution: {integrity: sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==}
+ dependencies:
+ xml-parse-from-string: 1.0.1
+ xml2js: 0.4.23
+ dev: false
+
+ /parse-headers@2.0.5:
+ resolution: {integrity: sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==}
+ dev: false
+
/parse-latin@5.0.1:
resolution: {integrity: sha512-b/K8ExXaWC9t34kKeDV8kGXBkXZ1HCSAZRYE7HR14eA1GlXX5L8iWhs8USJNhQU9q5ci413jCKF0gOyovvyRBg==}
dependencies:
@@ -3661,6 +4363,10 @@ packages:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
engines: {node: '>=8'}
+ /path-exists@5.0.0:
+ resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
/path-is-absolute@1.0.1:
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
engines: {node: '>=0.10.0'}
@@ -3685,6 +4391,15 @@ packages:
engines: {node: '>=8'}
dev: true
+ /peek-readable@5.0.0:
+ resolution: {integrity: sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==}
+ engines: {node: '>=14.16'}
+ dev: false
+
+ /phin@2.9.3:
+ resolution: {integrity: sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==}
+ dev: false
+
/picocolors@0.2.1:
resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==}
dev: false
@@ -3709,6 +4424,13 @@ packages:
resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==}
engines: {node: '>= 6'}
+ /pixelmatch@4.0.2:
+ resolution: {integrity: sha512-J8B6xqiO37sU/gkcMglv6h5Jbd9xNER7aHzpfRdNmV4IbQBzBpe4l9XmbG+xPF/znacgu2jfEw+wHffaq/YkXA==}
+ hasBin: true
+ dependencies:
+ pngjs: 3.4.0
+ dev: false
+
/pkg-dir@4.2.0:
resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
engines: {node: '>=8'}
@@ -3716,6 +4438,11 @@ packages:
find-up: 4.1.0
dev: false
+ /pngjs@3.4.0:
+ resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==}
+ engines: {node: '>=4.0.0'}
+ dev: false
+
/postcss-calc@9.0.1(postcss@8.4.24):
resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==}
engines: {node: ^14 || ^16 || >=18.0}
@@ -4114,6 +4841,31 @@ packages:
picocolors: 1.0.0
source-map-js: 1.0.2
+ /potrace@2.1.8:
+ resolution: {integrity: sha512-V9hI7UMJyEhNZjM8CbZaP/804ZRLgzWkCS9OOYnEZkszzj3zKR/erRdj0uFMcN3pp6x4B+AIZebmkQgGRinG/g==}
+ dependencies:
+ jimp: 0.14.0
+ dev: false
+
+ /prebuild-install@7.1.1:
+ resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ detect-libc: 2.0.1
+ expand-template: 2.0.3
+ github-from-package: 0.0.0
+ minimist: 1.2.8
+ mkdirp-classic: 0.5.3
+ napi-build-utils: 1.0.2
+ node-abi: 3.40.0
+ pump: 3.0.0
+ rc: 1.2.8
+ simple-get: 4.0.1
+ tar-fs: 2.1.1
+ tunnel-agent: 0.6.0
+ dev: false
+
/preferred-pm@3.0.3:
resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==}
engines: {node: '>=10'}
@@ -4218,6 +4970,11 @@ packages:
engines: {node: '>=6'}
dev: false
+ /process@0.11.10:
+ resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
+ engines: {node: '>= 0.6.0'}
+ dev: false
+
/prompts@2.4.2:
resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
engines: {node: '>= 6'}
@@ -4230,6 +4987,13 @@ packages:
resolution: {integrity: sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==}
dev: false
+ /pump@3.0.0:
+ resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
+ dependencies:
+ end-of-stream: 1.4.4
+ once: 1.4.0
+ dev: false
+
/punycode@2.3.0:
resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
engines: {node: '>=6'}
@@ -4248,6 +5012,16 @@ packages:
/queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+ /rc@1.2.8:
+ resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
+ hasBin: true
+ dependencies:
+ deep-extend: 0.6.0
+ ini: 1.3.8
+ minimist: 1.2.8
+ strip-json-comments: 2.0.1
+ dev: false
+
/read-cache@1.0.0:
resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
dependencies:
@@ -4262,6 +5036,13 @@ packages:
util-deprecate: 1.0.2
dev: false
+ /readable-web-to-node-stream@3.0.2:
+ resolution: {integrity: sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==}
+ engines: {node: '>=8'}
+ dependencies:
+ readable-stream: 3.6.2
+ dev: false
+
/readdirp@3.6.0:
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'}
@@ -4277,7 +5058,6 @@ packages:
/regenerator-runtime@0.13.11:
resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
- dev: true
/regexp.prototype.flags@1.5.0:
resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==}
@@ -4474,6 +5254,10 @@ packages:
dependencies:
suf-log: 2.5.3
+ /sax@1.2.4:
+ resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==}
+ dev: false
+
/section-matter@1.0.0:
resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==}
engines: {node: '>=4'}
@@ -4497,6 +5281,37 @@ packages:
resolution: {integrity: sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==}
dev: false
+ /sharp@0.29.3:
+ resolution: {integrity: sha512-fKWUuOw77E4nhpyzCCJR1ayrttHoFHBT2U/kR/qEMRhvPEcluG4BKj324+SCO1e84+knXHwhJ1HHJGnUt4ElGA==}
+ engines: {node: '>=12.13.0'}
+ requiresBuild: true
+ dependencies:
+ color: 4.2.3
+ detect-libc: 1.0.3
+ node-addon-api: 4.3.0
+ prebuild-install: 7.1.1
+ semver: 7.5.1
+ simple-get: 4.0.1
+ tar-fs: 2.1.1
+ tunnel-agent: 0.6.0
+ dev: false
+ optional: true
+
+ /sharp@0.32.1:
+ resolution: {integrity: sha512-kQTFtj7ldpUqSe8kDxoGLZc1rnMFU0AO2pqbX6pLy3b7Oj8ivJIdoKNwxHVQG2HN6XpHPJqCSM2nsma2gOXvOg==}
+ engines: {node: '>=14.15.0'}
+ requiresBuild: true
+ dependencies:
+ color: 4.2.3
+ detect-libc: 2.0.1
+ node-addon-api: 6.1.0
+ prebuild-install: 7.1.1
+ semver: 7.5.1
+ simple-get: 4.0.1
+ tar-fs: 2.1.1
+ tunnel-agent: 0.6.0
+ dev: false
+
/shebang-command@2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
engines: {node: '>=8'}
@@ -4527,6 +5342,18 @@ packages:
/signal-exit@3.0.7:
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+ /simple-concat@1.0.1:
+ resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==}
+ dev: false
+
+ /simple-get@4.0.1:
+ resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==}
+ dependencies:
+ decompress-response: 6.0.0
+ once: 1.4.0
+ simple-concat: 1.0.1
+ dev: false
+
/simple-swizzle@0.2.2:
resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
dependencies:
@@ -4675,11 +5502,24 @@ packages:
resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
engines: {node: '>=12'}
+ /strip-json-comments@2.0.1:
+ resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
/strip-json-comments@3.1.1:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'}
dev: true
+ /strtok3@7.0.0:
+ resolution: {integrity: sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==}
+ engines: {node: '>=14.16'}
+ dependencies:
+ '@tokenizer/token': 0.3.0
+ peek-readable: 5.0.0
+ dev: false
+
/stylehacks@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-+UT589qhHPwz6mTlCLSt/vMNTJx8dopeJlZAlBMJPWA3ORqu6wmQY7FBXf+qD+FsqoBJODyqNxOUP3jdntFRdw==}
engines: {node: ^14 || ^16 || >=18.0}
@@ -4826,6 +5666,26 @@ packages:
transitivePeerDependencies:
- ts-node
+ /tar-fs@2.1.1:
+ resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==}
+ dependencies:
+ chownr: 1.1.4
+ mkdirp-classic: 0.5.3
+ pump: 3.0.0
+ tar-stream: 2.2.0
+ dev: false
+
+ /tar-stream@2.2.0:
+ resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
+ engines: {node: '>=6'}
+ dependencies:
+ bl: 4.1.0
+ end-of-stream: 1.4.4
+ fs-constants: 1.0.0
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+ dev: false
+
/text-table@0.2.0:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
dev: true
@@ -4841,6 +5701,14 @@ packages:
dependencies:
any-promise: 1.3.0
+ /timm@1.7.1:
+ resolution: {integrity: sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==}
+ dev: false
+
+ /tinycolor2@1.6.0:
+ resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==}
+ dev: false
+
/titleize@3.0.0:
resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==}
engines: {node: '>=12'}
@@ -4856,6 +5724,14 @@ packages:
dependencies:
is-number: 7.0.0
+ /token-types@5.0.1:
+ resolution: {integrity: sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==}
+ engines: {node: '>=14.16'}
+ dependencies:
+ '@tokenizer/token': 0.3.0
+ ieee754: 1.2.1
+ dev: false
+
/trim-lines@3.0.1:
resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
dev: false
@@ -4895,6 +5771,12 @@ packages:
typescript: 5.0.4
dev: true
+ /tunnel-agent@0.6.0:
+ resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: false
+
/type-check@0.4.0:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
@@ -5037,6 +5919,12 @@ packages:
punycode: 2.3.0
dev: true
+ /utif@2.0.1:
+ resolution: {integrity: sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==}
+ dependencies:
+ pako: 1.0.11
+ dev: false
+
/util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
@@ -5263,6 +6151,32 @@ packages:
/wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+ /xhr@2.6.0:
+ resolution: {integrity: sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==}
+ dependencies:
+ global: 4.4.0
+ is-function: 1.0.2
+ parse-headers: 2.0.5
+ xtend: 4.0.2
+ dev: false
+
+ /xml-parse-from-string@1.0.1:
+ resolution: {integrity: sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==}
+ dev: false
+
+ /xml2js@0.4.23:
+ resolution: {integrity: sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==}
+ engines: {node: '>=4.0.0'}
+ dependencies:
+ sax: 1.2.4
+ xmlbuilder: 11.0.1
+ dev: false
+
+ /xmlbuilder@11.0.1:
+ resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==}
+ engines: {node: '>=4.0'}
+ dev: false
+
/xtend@4.0.2:
resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
engines: {node: '>=0.4'}
@@ -5291,7 +6205,6 @@ packages:
/yocto-queue@1.0.0:
resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
engines: {node: '>=12.20'}
- dev: false
/zod@3.21.4:
resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==}
diff --git a/public/fonts/JetBrainsMono/JetBrainsMono-Bold.woff2 b/public/fonts/JetBrainsMono/JetBrainsMono-Bold.woff2
deleted file mode 100644
index 4917f43..0000000
Binary files a/public/fonts/JetBrainsMono/JetBrainsMono-Bold.woff2 and /dev/null differ
diff --git a/public/fonts/JetBrainsMono/JetBrainsMono-BoldItalic.woff2 b/public/fonts/JetBrainsMono/JetBrainsMono-BoldItalic.woff2
deleted file mode 100644
index 536d3f7..0000000
Binary files a/public/fonts/JetBrainsMono/JetBrainsMono-BoldItalic.woff2 and /dev/null differ
diff --git a/public/fonts/JetBrainsMono/JetBrainsMono-ExtraBold.woff2 b/public/fonts/JetBrainsMono/JetBrainsMono-ExtraBold.woff2
deleted file mode 100644
index 8f88c54..0000000
Binary files a/public/fonts/JetBrainsMono/JetBrainsMono-ExtraBold.woff2 and /dev/null differ
diff --git a/public/fonts/JetBrainsMono/JetBrainsMono-ExtraBoldItalic.woff2 b/public/fonts/JetBrainsMono/JetBrainsMono-ExtraBoldItalic.woff2
deleted file mode 100644
index d1478ba..0000000
Binary files a/public/fonts/JetBrainsMono/JetBrainsMono-ExtraBoldItalic.woff2 and /dev/null differ
diff --git a/public/fonts/JetBrainsMono/JetBrainsMono-ExtraLight.woff2 b/public/fonts/JetBrainsMono/JetBrainsMono-ExtraLight.woff2
deleted file mode 100644
index b97239f..0000000
Binary files a/public/fonts/JetBrainsMono/JetBrainsMono-ExtraLight.woff2 and /dev/null differ
diff --git a/public/fonts/JetBrainsMono/JetBrainsMono-ExtraLightItalic.woff2 b/public/fonts/JetBrainsMono/JetBrainsMono-ExtraLightItalic.woff2
deleted file mode 100644
index be01aac..0000000
Binary files a/public/fonts/JetBrainsMono/JetBrainsMono-ExtraLightItalic.woff2 and /dev/null differ
diff --git a/public/fonts/JetBrainsMono/JetBrainsMono-Italic.woff2 b/public/fonts/JetBrainsMono/JetBrainsMono-Italic.woff2
deleted file mode 100644
index d60c270..0000000
Binary files a/public/fonts/JetBrainsMono/JetBrainsMono-Italic.woff2 and /dev/null differ
diff --git a/public/fonts/JetBrainsMono/JetBrainsMono-Light.woff2 b/public/fonts/JetBrainsMono/JetBrainsMono-Light.woff2
deleted file mode 100644
index 6538498..0000000
Binary files a/public/fonts/JetBrainsMono/JetBrainsMono-Light.woff2 and /dev/null differ
diff --git a/public/fonts/JetBrainsMono/JetBrainsMono-LightItalic.woff2 b/public/fonts/JetBrainsMono/JetBrainsMono-LightItalic.woff2
deleted file mode 100644
index 66ca3d2..0000000
Binary files a/public/fonts/JetBrainsMono/JetBrainsMono-LightItalic.woff2 and /dev/null differ
diff --git a/public/fonts/JetBrainsMono/JetBrainsMono-Medium.woff2 b/public/fonts/JetBrainsMono/JetBrainsMono-Medium.woff2
deleted file mode 100644
index 669d04c..0000000
Binary files a/public/fonts/JetBrainsMono/JetBrainsMono-Medium.woff2 and /dev/null differ
diff --git a/public/fonts/JetBrainsMono/JetBrainsMono-MediumItalic.woff2 b/public/fonts/JetBrainsMono/JetBrainsMono-MediumItalic.woff2
deleted file mode 100644
index 80cfd15..0000000
Binary files a/public/fonts/JetBrainsMono/JetBrainsMono-MediumItalic.woff2 and /dev/null differ
diff --git a/public/fonts/JetBrainsMono/JetBrainsMono-Regular.woff2 b/public/fonts/JetBrainsMono/JetBrainsMono-Regular.woff2
deleted file mode 100644
index 40da427..0000000
Binary files a/public/fonts/JetBrainsMono/JetBrainsMono-Regular.woff2 and /dev/null differ
diff --git a/public/fonts/JetBrainsMono/JetBrainsMono-SemiBold.woff2 b/public/fonts/JetBrainsMono/JetBrainsMono-SemiBold.woff2
deleted file mode 100644
index 5ead7b0..0000000
Binary files a/public/fonts/JetBrainsMono/JetBrainsMono-SemiBold.woff2 and /dev/null differ
diff --git a/public/fonts/JetBrainsMono/JetBrainsMono-SemiBoldItalic.woff2 b/public/fonts/JetBrainsMono/JetBrainsMono-SemiBoldItalic.woff2
deleted file mode 100644
index c5dd294..0000000
Binary files a/public/fonts/JetBrainsMono/JetBrainsMono-SemiBoldItalic.woff2 and /dev/null differ
diff --git a/public/fonts/JetBrainsMono/JetBrainsMono-Thin.woff2 b/public/fonts/JetBrainsMono/JetBrainsMono-Thin.woff2
deleted file mode 100644
index 17270e4..0000000
Binary files a/public/fonts/JetBrainsMono/JetBrainsMono-Thin.woff2 and /dev/null differ
diff --git a/public/fonts/JetBrainsMono/JetBrainsMono-ThinItalic.woff2 b/public/fonts/JetBrainsMono/JetBrainsMono-ThinItalic.woff2
deleted file mode 100644
index a643215..0000000
Binary files a/public/fonts/JetBrainsMono/JetBrainsMono-ThinItalic.woff2 and /dev/null differ
diff --git a/public/fonts/fonts.css b/public/fonts/fonts.css
deleted file mode 100644
index 8edcdc9..0000000
--- a/public/fonts/fonts.css
+++ /dev/null
@@ -1,4 +0,0 @@
-@font-face {
- font-family: JetBrainsMono-Regular;
- src: url('JetBrainsMono/JetBrainsMono-Regular.woff2');
-}
\ No newline at end of file
diff --git a/public/images/index/myself.jpg b/public/images/index/myself.jpg
new file mode 100644
index 0000000..10b0398
Binary files /dev/null and b/public/images/index/myself.jpg differ
diff --git a/public/images/index/myself.png b/public/images/index/myself.png
new file mode 100644
index 0000000..dec55d0
Binary files /dev/null and b/public/images/index/myself.png differ
diff --git a/src/components/content/index/Hero.astro b/src/components/content/index/Hero.astro
index e69de29..9ae13b4 100644
--- a/src/components/content/index/Hero.astro
+++ b/src/components/content/index/Hero.astro
@@ -0,0 +1,29 @@
+---
+import { Picture } from 'astro-imagetools/components'
+---
+
+
+ Ethan Reece
+
+ and I do
+ web stuff.
+