diff --git a/package.json b/package.json index a9f17ed..6fec7ed 100644 --- a/package.json +++ b/package.json @@ -49,11 +49,15 @@ "@atcute/bluesky": "^4.0.7", "@atcute/client": "^5.0.0", "@atcute/lexicons": "^2.0.0", + "@fontsource/ubuntu": "^5.2.8", + "@resvg/resvg-js": "^2.6.2", "@shikijs/core": "^4.2.0", "@shikijs/engine-javascript": "^4.2.0", "@shikijs/langs": "^4.2.0", "dexie": "^4.4.3", "flexsearch": "^0.8.212", + "satori": "^0.26.0", + "satori-html": "^0.3.2", "shiki": "^4.2.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a6781d4..803058c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,6 +20,12 @@ importers: '@atcute/lexicons': specifier: ^2.0.0 version: 2.0.0 + '@fontsource/ubuntu': + specifier: ^5.2.8 + version: 5.2.8 + '@resvg/resvg-js': + specifier: ^2.6.2 + version: 2.6.2 '@shikijs/core': specifier: ^4.2.0 version: 4.2.0 @@ -35,6 +41,12 @@ importers: flexsearch: specifier: ^0.8.212 version: 0.8.212 + satori: + specifier: ^0.26.0 + version: 0.26.0 + satori-html: + specifier: ^0.3.2 + version: 0.3.2 shiki: specifier: ^4.2.0 version: 4.2.0 @@ -406,6 +418,9 @@ packages: '@fontsource/ubuntu-mono@5.2.8': resolution: {integrity: sha512-N4nT8+GYWWcDODVSBLU4f3PycZQH9YIF6SypDI0rti3HrLqcXFS9u6wMvAd9vx1FmjAQkYv7Ld9CZ8XYTEOD0A==} + '@fontsource/ubuntu@5.2.8': + resolution: {integrity: sha512-esSJCpgigwWOm4Ug9f7AMozUyBq5Iobea5C9QYsl2OlCb62wZABBUbXahHLdFv5Ru4lJCD9tUX6xEAeLwUTNBg==} + '@humanfs/core@0.19.2': resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==} engines: {node: '>=18.18.0'} @@ -619,6 +634,86 @@ packages: '@poppinss/exception@1.2.3': resolution: {integrity: sha512-dCED+QRChTVatE9ibtoaxc+WkdzOSjYTKi/+uacHWIsfodVfpsueo3+DKpgU5Px8qXjgmXkSvhXvSCz3fnP9lw==} + '@resvg/resvg-js-android-arm-eabi@2.6.2': + resolution: {integrity: sha512-FrJibrAk6v29eabIPgcTUMPXiEz8ssrAk7TXxsiZzww9UTQ1Z5KAbFJs+Z0Ez+VZTYgnE5IQJqBcoSiMebtPHA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + + '@resvg/resvg-js-android-arm64@2.6.2': + resolution: {integrity: sha512-VcOKezEhm2VqzXpcIJoITuvUS/fcjIw5NA/w3tjzWyzmvoCdd+QXIqy3FBGulWdClvp4g+IfUemigrkLThSjAQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@resvg/resvg-js-darwin-arm64@2.6.2': + resolution: {integrity: sha512-nmok2LnAd6nLUKI16aEB9ydMC6Lidiiq2m1nEBDR1LaaP7FGs4AJ90qDraxX+CWlVuRlvNjyYJTNv8qFjtL9+A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@resvg/resvg-js-darwin-x64@2.6.2': + resolution: {integrity: sha512-GInyZLjgWDfsVT6+SHxQVRwNzV0AuA1uqGsOAW+0th56J7Nh6bHHKXHBWzUrihxMetcFDmQMAX1tZ1fZDYSRsw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@resvg/resvg-js-linux-arm-gnueabihf@2.6.2': + resolution: {integrity: sha512-YIV3u/R9zJbpqTTNwTZM5/ocWetDKGsro0SWp70eGEM9eV2MerWyBRZnQIgzU3YBnSBQ1RcxRZvY/UxwESfZIw==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@resvg/resvg-js-linux-arm64-gnu@2.6.2': + resolution: {integrity: sha512-zc2BlJSim7YR4FZDQ8OUoJg5holYzdiYMeobb9pJuGDidGL9KZUv7SbiD4E8oZogtYY42UZEap7dqkkYuA91pg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@resvg/resvg-js-linux-arm64-musl@2.6.2': + resolution: {integrity: sha512-3h3dLPWNgSsD4lQBJPb4f+kvdOSJHa5PjTYVsWHxLUzH4IFTJUAnmuWpw4KqyQ3NA5QCyhw4TWgxk3jRkQxEKg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@resvg/resvg-js-linux-x64-gnu@2.6.2': + resolution: {integrity: sha512-IVUe+ckIerA7xMZ50duAZzwf1U7khQe2E0QpUxu5MBJNao5RqC0zwV/Zm965vw6D3gGFUl7j4m+oJjubBVoftw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@resvg/resvg-js-linux-x64-musl@2.6.2': + resolution: {integrity: sha512-UOf83vqTzoYQO9SZ0fPl2ZIFtNIz/Rr/y+7X8XRX1ZnBYsQ/tTb+cj9TE+KHOdmlTFBxhYzVkP2lRByCzqi4jQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@resvg/resvg-js-win32-arm64-msvc@2.6.2': + resolution: {integrity: sha512-7C/RSgCa+7vqZ7qAbItfiaAWhyRSoD4l4BQAbVDqRRsRgY+S+hgS3in0Rxr7IorKUpGE69X48q6/nOAuTJQxeQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@resvg/resvg-js-win32-ia32-msvc@2.6.2': + resolution: {integrity: sha512-har4aPAlvjnLcil40AC77YDIk6loMawuJwFINEM7n0pZviwMkMvjb2W5ZirsNOZY4aDbo5tLx0wNMREp5Brk+w==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@resvg/resvg-js-win32-x64-msvc@2.6.2': + resolution: {integrity: sha512-ZXtYhtUr5SSaBrUDq7DiyjOFJqBVL/dOBN7N/qmi/pO0IgiWW/f/ue3nbvu9joWE5aAKDoIzy/CxsY0suwGosQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@resvg/resvg-js@2.6.2': + resolution: {integrity: sha512-xBaJish5OeGmniDj9cW5PRa/PtmuVU3ziqrbr5xJj901ZDN4TosrVaNZpEiLZAxdfnhAe7uQ7QFWfjPe9d9K2Q==} + engines: {node: '>= 10'} + '@rolldown/binding-android-arm64@1.0.3': resolution: {integrity: sha512-454rs7jHngixp/NMxd5srYD57OnzSlZ/eFTETjORQHLwJG1lRtmNOJcBerZlfu4GjKqeq8aCCIQrMdHyhI51Hw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -748,6 +843,11 @@ packages: '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + '@shuding/opentype.js@1.4.0-beta.0': + resolution: {integrity: sha512-3NgmNyH3l/Hv6EvsWJbsvpcpUba6R8IREQ83nH83cyakCw7uM1arZKNfHwv1Wz6jgqrF/j4x5ELvR6PnK9nTcA==} + engines: {node: '>= 8.0.0'} + hasBin: true + '@sindresorhus/is@7.2.0': resolution: {integrity: sha512-P1Cz1dWaFfR4IR+U13mqqiGsLFf1KbayybWwdd2vfctdV6hDpUkgCY0nKOLLTMSoRd/jJNjtbqzf13K8DCCXQw==} engines: {node: '>=18'} @@ -971,6 +1071,10 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} + base64-js@0.0.8: + resolution: {integrity: sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==} + engines: {node: '>= 0.4'} + blake3-wasm@2.1.5: resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} @@ -978,6 +1082,9 @@ packages: resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==} engines: {node: 18 || 20 || >=22} + camelize@1.0.1: + resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} + ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -999,6 +1106,9 @@ packages: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} @@ -1017,6 +1127,23 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + css-background-parser@0.1.0: + resolution: {integrity: sha512-2EZLisiZQ+7m4wwur/qiYJRniHX4K5Tc9w93MT3AS0WS1u5kaZ4FKXlOTBhOjc+CgEgPiGY+fX1yWD8UwpEqUA==} + + css-box-shadow@1.0.0-3: + resolution: {integrity: sha512-9jaqR6e7Ohds+aWwmhe6wILJ99xYQbfmK9QQB9CcMjDbTxPZjwEmUQpU91OG05Xgm8BahT5fW+svbsQGjS/zPg==} + + css-color-keywords@1.0.0: + resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==} + engines: {node: '>=4'} + + css-gradient-parser@0.0.17: + resolution: {integrity: sha512-w2Xy9UMMwlKtou0vlRnXvWglPAceXCTtcmVSo8ZBUvqCV5aXEFP/PC6d+I464810I9FT++UACwTD5511bmGPUg==} + engines: {node: '>=16'} + + css-to-react-native@3.2.0: + resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==} + cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -1055,6 +1182,10 @@ packages: dexie@4.4.3: resolution: {integrity: sha512-N+3IGQ3HPlyO2YAkntGAwitm42BpBGV86MttzUMiRzWLa4NGh0pltVRcUVF4ybL/OnXjCrr9k7SDPIKkFYP2Lg==} + emoji-regex-xs@2.0.1: + resolution: {integrity: sha512-1QFuh8l7LqUcKe24LsPUNzjrzJQ7pgRwp1QMcZ5MX6mFplk2zQ08NVCM84++1cveaUUYtcCYHmeFEuNg16sU4g==} + engines: {node: '>=10.0.0'} + error-stack-parser-es@1.0.5: resolution: {integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==} @@ -1066,6 +1197,9 @@ packages: engines: {node: '>=18'} hasBin: true + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -1180,6 +1314,9 @@ packages: picomatch: optional: true + fflate@0.7.4: + resolution: {integrity: sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==} + file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} @@ -1226,6 +1363,10 @@ packages: hast-util-whitespace@3.0.0: resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + hex-rgb@4.3.0: + resolution: {integrity: sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw==} + engines: {node: '>=6'} + html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} @@ -1356,6 +1497,9 @@ packages: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} + linebreak@1.1.0: + resolution: {integrity: sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==} + locate-character@3.0.0: resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} @@ -1439,6 +1583,12 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} + pako@0.2.9: + resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} + + parse-css-color@0.2.1: + resolution: {integrity: sha512-bwS/GGIFV3b6KS4uwpzCFj4w297Yl3uqnSgIPsoQkx7GMLROXfMnWvxfNkL0oh8HVhZA4hvJoEoEIqonfJ3BWg==} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -1502,6 +1652,9 @@ packages: resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} engines: {node: '>=4'} + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + postcss@8.5.15: resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==} engines: {node: ^10 || ^12 || >=14} @@ -1557,6 +1710,13 @@ packages: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} + satori-html@0.3.2: + resolution: {integrity: sha512-wjTh14iqADFKDK80e51/98MplTGfxz2RmIzh0GqShlf4a67+BooLywF17TvJPD6phO0Hxm7Mf1N5LtRYvdkYRA==} + + satori@0.26.0: + resolution: {integrity: sha512-tkMFrfIs3l2mQ2JEcyW0ADTy3zGggFRFzi6Ef8YozQSFsFKEqaSO1Y8F9wJg4//PJGQauMalHGTUEkPrFwhVPA==} + engines: {node: '>=16'} + semver@7.8.3: resolution: {integrity: sha512-wnilbGyMxzbY7dNOl7jpKbLSjcfeweJWU5j4+u5qW+6/wuGD9KzIGOyZnQVSBM9E7DtWaaH3CyHkppYrKYoxwg==} engines: {node: '>=10'} @@ -1601,6 +1761,9 @@ packages: std-env@4.1.0: resolution: {integrity: sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==} + string.prototype.codepointat@0.2.1: + resolution: {integrity: sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==} + stringify-entities@4.0.4: resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} @@ -1629,6 +1792,9 @@ packages: resolution: {integrity: sha512-w7JvrM5IFl5cmfbY0TLik9o7mjRUJmRMhOR51tBPu708Gr/MjbGs7VnJnr/B0CaXeI4vtnOh7RKxDr0cwhMdDA==} engines: {node: '>=18'} + tiny-inflate@1.0.3: + resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} + tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} @@ -1676,6 +1842,9 @@ packages: engines: {node: '>=14.17'} hasBin: true + ultrahtml@1.6.0: + resolution: {integrity: sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==} + undici-types@7.18.2: resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} @@ -1689,6 +1858,9 @@ packages: unicode-segmenter@0.14.5: resolution: {integrity: sha512-jHGmj2LUuqDcX3hqY12Ql+uhUTn8huuxNZGq7GvtF6bSybzH3aFgedYu/KTzQStEgt1Ra2F3HxadNXsNjb3m3g==} + unicode-trie@2.0.0: + resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} + unist-util-is@4.1.0: resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} @@ -1898,6 +2070,9 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + yoga-layout@3.2.1: + resolution: {integrity: sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ==} + youch-core@0.3.3: resolution: {integrity: sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==} @@ -2109,6 +2284,8 @@ snapshots: '@fontsource/ubuntu-mono@5.2.8': {} + '@fontsource/ubuntu@5.2.8': {} + '@humanfs/core@0.19.2': dependencies: '@humanfs/types': 0.15.0 @@ -2268,6 +2445,57 @@ snapshots: '@poppinss/exception@1.2.3': {} + '@resvg/resvg-js-android-arm-eabi@2.6.2': + optional: true + + '@resvg/resvg-js-android-arm64@2.6.2': + optional: true + + '@resvg/resvg-js-darwin-arm64@2.6.2': + optional: true + + '@resvg/resvg-js-darwin-x64@2.6.2': + optional: true + + '@resvg/resvg-js-linux-arm-gnueabihf@2.6.2': + optional: true + + '@resvg/resvg-js-linux-arm64-gnu@2.6.2': + optional: true + + '@resvg/resvg-js-linux-arm64-musl@2.6.2': + optional: true + + '@resvg/resvg-js-linux-x64-gnu@2.6.2': + optional: true + + '@resvg/resvg-js-linux-x64-musl@2.6.2': + optional: true + + '@resvg/resvg-js-win32-arm64-msvc@2.6.2': + optional: true + + '@resvg/resvg-js-win32-ia32-msvc@2.6.2': + optional: true + + '@resvg/resvg-js-win32-x64-msvc@2.6.2': + optional: true + + '@resvg/resvg-js@2.6.2': + optionalDependencies: + '@resvg/resvg-js-android-arm-eabi': 2.6.2 + '@resvg/resvg-js-android-arm64': 2.6.2 + '@resvg/resvg-js-darwin-arm64': 2.6.2 + '@resvg/resvg-js-darwin-x64': 2.6.2 + '@resvg/resvg-js-linux-arm-gnueabihf': 2.6.2 + '@resvg/resvg-js-linux-arm64-gnu': 2.6.2 + '@resvg/resvg-js-linux-arm64-musl': 2.6.2 + '@resvg/resvg-js-linux-x64-gnu': 2.6.2 + '@resvg/resvg-js-linux-x64-musl': 2.6.2 + '@resvg/resvg-js-win32-arm64-msvc': 2.6.2 + '@resvg/resvg-js-win32-ia32-msvc': 2.6.2 + '@resvg/resvg-js-win32-x64-msvc': 2.6.2 + '@rolldown/binding-android-arm64@1.0.3': optional: true @@ -2359,6 +2587,11 @@ snapshots: '@shikijs/vscode-textmate@10.0.2': {} + '@shuding/opentype.js@1.4.0-beta.0': + dependencies: + fflate: 0.7.4 + string.prototype.codepointat: 0.2.1 + '@sindresorhus/is@7.2.0': {} '@speed-highlight/core@1.2.16': {} @@ -2631,12 +2864,16 @@ snapshots: balanced-match@4.0.4: {} + base64-js@0.0.8: {} + blake3-wasm@2.1.5: {} brace-expansion@5.0.6: dependencies: balanced-match: 4.0.4 + camelize@1.0.1: {} + ccount@2.0.1: {} chai@6.2.2: {} @@ -2651,6 +2888,8 @@ snapshots: clsx@2.1.1: {} + color-name@1.1.4: {} + comma-separated-tokens@2.0.3: {} convert-source-map@2.0.0: {} @@ -2665,6 +2904,20 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + css-background-parser@0.1.0: {} + + css-box-shadow@1.0.0-3: {} + + css-color-keywords@1.0.0: {} + + css-gradient-parser@0.0.17: {} + + css-to-react-native@3.2.0: + dependencies: + camelize: 1.0.1 + css-color-keywords: 1.0.0 + postcss-value-parser: 4.2.0 + cssesc@3.0.0: {} debug@4.4.3: @@ -2687,6 +2940,8 @@ snapshots: dexie@4.4.3: {} + emoji-regex-xs@2.0.1: {} + error-stack-parser-es@1.0.5: {} es-module-lexer@2.1.0: {} @@ -2720,6 +2975,8 @@ snapshots: '@esbuild/win32-ia32': 0.27.3 '@esbuild/win32-x64': 0.27.3 + escape-html@1.0.3: {} + escape-string-regexp@4.0.0: {} eslint-config-prettier@10.1.8(eslint@10.4.1): @@ -2847,6 +3104,8 @@ snapshots: optionalDependencies: picomatch: 4.0.4 + fflate@0.7.4: {} + file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 @@ -2897,6 +3156,8 @@ snapshots: dependencies: '@types/hast': 3.0.4 + hex-rgb@4.3.0: {} + html-void-elements@3.0.0: {} ignore@5.3.2: {} @@ -2987,6 +3248,11 @@ snapshots: lilconfig@2.1.0: {} + linebreak@1.1.0: + dependencies: + base64-js: 0.0.8 + unicode-trie: 2.0.0 + locate-character@3.0.0: {} locate-path@6.0.0: @@ -3089,6 +3355,13 @@ snapshots: dependencies: p-limit: 3.1.0 + pako@0.2.9: {} + + parse-css-color@0.2.1: + dependencies: + color-name: 1.1.4 + hex-rgb: 4.3.0 + path-exists@4.0.0: {} path-key@3.1.1: {} @@ -3131,6 +3404,8 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 + postcss-value-parser@4.2.0: {} + postcss@8.5.15: dependencies: nanoid: 3.3.12 @@ -3191,6 +3466,24 @@ snapshots: dependencies: mri: 1.2.0 + satori-html@0.3.2: + dependencies: + ultrahtml: 1.6.0 + + satori@0.26.0: + dependencies: + '@shuding/opentype.js': 1.4.0-beta.0 + css-background-parser: 0.1.0 + css-box-shadow: 1.0.0-3 + css-gradient-parser: 0.0.17 + css-to-react-native: 3.2.0 + emoji-regex-xs: 2.0.1 + escape-html: 1.0.3 + linebreak: 1.1.0 + parse-css-color: 0.2.1 + postcss-value-parser: 4.2.0 + yoga-layout: 3.2.1 + semver@7.8.3: {} set-cookie-parser@3.1.0: {} @@ -3259,6 +3552,8 @@ snapshots: std-env@4.1.0: {} + string.prototype.codepointat@0.2.1: {} + stringify-entities@4.0.4: dependencies: character-entities-html4: 2.1.0 @@ -3312,6 +3607,8 @@ snapshots: transitivePeerDependencies: - '@typescript-eslint/types' + tiny-inflate@1.0.3: {} + tinybench@2.9.0: {} tinyexec@1.2.4: {} @@ -3351,6 +3648,8 @@ snapshots: typescript@6.0.3: {} + ultrahtml@1.6.0: {} + undici-types@7.18.2: {} undici@7.24.8: {} @@ -3361,6 +3660,11 @@ snapshots: unicode-segmenter@0.14.5: {} + unicode-trie@2.0.0: + dependencies: + pako: 0.2.9 + tiny-inflate: 1.0.3 + unist-util-is@4.1.0: {} unist-util-is@6.0.1: @@ -3519,6 +3823,8 @@ snapshots: yocto-queue@0.1.0: {} + yoga-layout@3.2.1: {} + youch-core@0.3.3: dependencies: '@poppinss/exception': 1.2.3 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index efc037a..5ba62b2 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,2 +1,4 @@ onlyBuiltDependencies: - esbuild + - sharp + - workerd diff --git a/src/lib/components/Opengraph.svelte b/src/lib/components/Opengraph.svelte new file mode 100644 index 0000000..18d0920 --- /dev/null +++ b/src/lib/components/Opengraph.svelte @@ -0,0 +1,97 @@ + + +
+
+
+
+
+
+
+ +
+
+ ApplicationsPlacesSystem +
+
+ Made by@desertthunder.dev +
+
+ +
+
+ +
Intrepid Ibex — ATProto Browser
+
+
+ − +
+
+ × +
+
+
+ +
+
+
at://browser
+
+ repos +
+
+ collections +
+
+ records +
+
+ +
+
+ A silly desktop-like UI for browsing the atmosphere +
+
+ Ubuntu 8.10 meets the ATmosphere. +
+
+ Browse records like its 2008. +
+
+
GNOME(-ish)
+
Svelte 5
+
+
+
+
+ +
+
+ Intrepid Ibex +
+ tangled.org/desertthunder.dev/ibex +
+
diff --git a/src/routes/og.png/+server.ts b/src/routes/og.png/+server.ts new file mode 100644 index 0000000..da09246 --- /dev/null +++ b/src/routes/og.png/+server.ts @@ -0,0 +1,52 @@ +import { readFile } from 'node:fs/promises'; +import { join } from 'node:path'; + +import { Resvg } from '@resvg/resvg-js'; +import Opengraph from '$lib/components/Opengraph.svelte'; +import satori from 'satori'; +import { html } from 'satori-html'; +import { render } from 'svelte/server'; + +export const prerender = true; + +const width = 1200; +const height = 630; + +const staticPath = (file: string) => join(process.cwd(), 'static', file); + +const toArrayBuffer = (buffer: Buffer): ArrayBuffer => + buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength) as ArrayBuffer; + +const toDataUri = (mimeType: string, buffer: Buffer): string => `data:${mimeType};base64,${buffer.toString('base64')}`; + +const stripSvelteComments = (value: string) => value.replace(//g, ''); + +export async function GET() { + const [ubuntu, ubuntuBold, ubuntuMono, ubuntuMonoBold, browserIcon] = await Promise.all([ + readFile(staticPath('og/fonts/ubuntu-latin-400-normal.woff')).then(toArrayBuffer), + readFile(staticPath('og/fonts/ubuntu-latin-700-normal.woff')).then(toArrayBuffer), + readFile(staticPath('og/fonts/ubuntu-mono-latin-400-normal.woff')).then(toArrayBuffer), + readFile(staticPath('og/fonts/ubuntu-mono-latin-700-normal.woff')).then(toArrayBuffer), + readFile(staticPath('icons/humanity/apps/web-browser.svg')).then((buffer) => toDataUri('image/svg+xml', buffer)) + ]); + + const { body } = render(Opengraph, { props: { browserIcon, width, height } }); + const markup = html(stripSvelteComments(body)); + + const svg = await satori(markup, { + width, + height, + fonts: [ + { name: 'Ubuntu Sans', data: ubuntu, weight: 400, style: 'normal' }, + { name: 'Ubuntu Sans', data: ubuntuBold, weight: 700, style: 'normal' }, + { name: 'Ubuntu Mono', data: ubuntuMono, weight: 400, style: 'normal' }, + { name: 'Ubuntu Mono', data: ubuntuMonoBold, weight: 700, style: 'normal' } + ] + }); + + const png = new Resvg(svg, { fitTo: { mode: 'width', value: width } }).render().asPng(); + + return new Response(toArrayBuffer(png), { + headers: { 'content-type': 'image/png', 'cache-control': 'public, immutable, max-age=31536000' } + }); +} diff --git a/static/og/fonts/ubuntu-latin-400-normal.woff b/static/og/fonts/ubuntu-latin-400-normal.woff new file mode 100644 index 0000000000000000000000000000000000000000..f47e8bb48d188e95ccbf9cde81014e242b1992c0 GIT binary patch literal 17340 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 literal 0 HcmV?d00001 diff --git a/static/og/fonts/ubuntu-latin-700-normal.woff b/static/og/fonts/ubuntu-latin-700-normal.woff new file mode 100644 index 0000000000000000000000000000000000000000..ce410e40c31ae4de90292d4ed59a014c52727aee GIT binary patch literal 18256 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 literal 0 HcmV?d00001 diff --git a/static/og/fonts/ubuntu-mono-latin-400-normal.woff b/static/og/fonts/ubuntu-mono-latin-400-normal.woff new file mode 100644 index 0000000000000000000000000000000000000000..af41b8014b8629d5b071d9ef3c0f095c52b29639 GIT binary patch literal 14984 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È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 z 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