From 59c6f07210432b039433a1c1de471e7debec0647 Mon Sep 17 00:00:00 2001 From: hunghg255 Date: Tue, 16 Jul 2024 20:21:32 +0700 Subject: [PATCH] docs: update gen og image --- docs/.vitepress/config.ts | 7 +- docs/.vitepress/locale.ts | 35 ++-- docs/.vitepress/transformHead.ts | 74 +++++++ docs/package.json | 1 + docs/public/android-chrome-192x192.png | Bin 0 -> 5830 bytes docs/public/android-chrome-512x512.png | Bin 0 -> 17657 bytes docs/public/apple-touch-icon.png | Bin 0 -> 5264 bytes docs/public/favicon-16x16.png | Bin 0 -> 404 bytes docs/public/favicon-32x32.png | Bin 0 -> 776 bytes pnpm-lock.yaml | 271 ++++++++++++++++++++++++- scripts/og-template.svg | 29 +++ 11 files changed, 391 insertions(+), 26 deletions(-) create mode 100644 docs/.vitepress/transformHead.ts create mode 100644 docs/public/android-chrome-192x192.png create mode 100644 docs/public/android-chrome-512x512.png create mode 100644 docs/public/apple-touch-icon.png create mode 100644 docs/public/favicon-16x16.png create mode 100644 docs/public/favicon-32x32.png create mode 100644 scripts/og-template.svg diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index eda135f..9664112 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -2,11 +2,13 @@ import { defineConfig } from 'vitepress' import { defaultHoverInfoProcessor, transformerTwoslash } from '@shikijs/vitepress-twoslash' import { transformerRemoveNotationEscape } from '@shikijs/transformers' import { getLocaleConfig } from './locale' +import { transformHead } from './transformHead' const docsLink = 'https://js-utils-es.vercel.app' export default defineConfig({ - lastUpdated: true, + lang: 'en-US', + ignoreDeadLinks: true, locales: { root: getLocaleConfig('en'), }, @@ -39,6 +41,7 @@ export default defineConfig({ sitemap: { hostname: docsLink, }, + transformHead, markdown: { codeTransformers: [ { @@ -97,4 +100,4 @@ export default defineConfig({ transformerRemoveNotationEscape(), ], }, -}) +}); diff --git a/docs/.vitepress/locale.ts b/docs/.vitepress/locale.ts index 35ce040..708581e 100644 --- a/docs/.vitepress/locale.ts +++ b/docs/.vitepress/locale.ts @@ -15,13 +15,12 @@ export function getLocaleConfig(lang: string) { const head: HeadConfig[] = [ ['meta', { property: 'og:title', content: title }], ['meta', { property: 'og:description', content: description }], - ['meta', { property: 'og:image', content: `${docsLink}/og.png` }], ['meta', { property: 'og:type', content: 'website' }], ['meta', { property: 'og:url', content: docsLink }], ['meta', { property: 'twitter:card', content: 'summary_large_image' }], - ['meta', { property: 'twitter:image', content: `${docsLink}/og.png` }], ['link', { rel: 'icon', href: '/logo.svg', type: 'image/svg+xml' }], ['meta', { name: 'theme-color', content: '#914796' }], + ['link', { rel: 'apple-touch-icon', href: '/apple-touch-icon.png', sizes: '180x180' }], ] const nav: DefaultTheme.NavItem[] = [ @@ -194,22 +193,22 @@ export function getLocaleConfig(lang: string) { }, } - if (lang === 'zh-CN') { - Object.assign(themeConfig, { - outline: { - label: '页面导航', - }, - lastUpdatedText: '最后更新于', - darkModeSwitchLabel: '外观', - sidebarMenuLabel: '目录', - returnToTopLabel: '返回顶部', - langMenuLabel: '选择语言', - docFooter: { - prev: '上一页', - next: '下一页', - }, - } satisfies DefaultTheme.Config) - } + // if (lang === 'zh-CN') { + // Object.assign(themeConfig, { + // outline: { + // label: '页面导航', + // }, + // lastUpdatedText: '最后更新于', + // darkModeSwitchLabel: '外观', + // sidebarMenuLabel: '目录', + // returnToTopLabel: '返回顶部', + // langMenuLabel: '选择语言', + // docFooter: { + // prev: '上一页', + // next: '下一页', + // }, + // } satisfies DefaultTheme.Config) + // } const localeConfig: LocaleConfig[string] = { label: t('English'), diff --git a/docs/.vitepress/transformHead.ts b/docs/.vitepress/transformHead.ts new file mode 100644 index 0000000..0cb6547 --- /dev/null +++ b/docs/.vitepress/transformHead.ts @@ -0,0 +1,74 @@ +import fs from 'node:fs/promises' +import sharp from 'sharp' +// import removeMD from 'remove-markdown' +import type { HeadConfig, TransformContext } from 'vitepress' +import funcUtils from '../../scripts/funcUtils.json'; + +const ogSVGPromise = fs.readFile('../scripts/og-template.svg', 'utf-8') + +export async function transformHead({ pageData }: TransformContext) { + const head: HeadConfig[] = []; + + if (pageData.relativePath === 'index.md') { + head.push( + ['meta', { property: 'og:image', content: 'https://js-utils-es.vercel.app/og.png' }], + ['meta', { property: 'twitter:image', content: 'https://js-utils-es.vercel.app/og.png' }], + ) + return head + } + + const fn = funcUtils.find(i => i.name === `${pageData.title}.ts`); + if (fn?.name) { + const ogName = fn.name.replace('.ts', ''); + await generateSVG(fn, `../docs/.vitepress/dist/og-${ogName}.png`); + head.push( + ['meta', { property: 'og:image', content: `https://js-utils-es.vercel.app/og-${ogName}.png` }], + ['meta', { property: 'twitter:image', content: `https://js-utils-es.vercel.app/og-${ogName}.png` }], + ) + } + else { + head.push( + ['meta', { property: 'og:image', content: 'https://js-utils-es.vercel.app/og.png' }], + ['meta', { property: 'twitter:image', content: 'https://js-utils-es.vercel.app/og.png' }], + ) + } + + return head; +} + +async function generateSVG(fn: any, output: string) { + // let desc = removeMD(fn.description!) + // .replace(/&/g, '&') + // .replace(//g, '>') + // desc = desc[0].toUpperCase() + desc.slice(1) + // const lines = desc.replace(/(?![^\n]{1,45}$)([^\n]{1,45})\s/g, '$1\n') + // .split('\n'); + + const ogName = fn.name.replace('.ts', ''); + + const data = { + name: ogName, + package: `js-utils-es/${fn.package}`, + line1: 'A state-of-the-art, high-performance JavaScript utility', + line2: '', + line3: '', + } + const ogSVg = await ogSVGPromise + const svg = ogSVg.replace(/\{\{([^}]+)\}\}/g, (_, name: keyof typeof data) => data[name]) + + // eslint-disable-next-line no-console + console.log(`Generating ${output}`); + + try { + // eslint-disable-next-line node/prefer-global/buffer + await sharp(Buffer.from(svg)) + .resize(1200 * 1.1, 630 * 1.1) + .png() + .toFile(output) + } + catch (e) { + console.error('Error generating', { filename: output, ...data, svg }) + console.error(e) + } +} diff --git a/docs/package.json b/docs/package.json index 3f8c546..1f5c491 100644 --- a/docs/package.json +++ b/docs/package.json @@ -20,6 +20,7 @@ "@nolebase/vitepress-plugin-highlight-targeted-heading": "^2.2.1", "@shikijs/vitepress-twoslash": "^1.10.3", "@vitejs/plugin-vue-jsx": "^4.0.0", + "sharp": "^0.33.4", "unocss": "^0.61.3", "vite": "^5.3.3", "vitepress": "^1.3.0", diff --git a/docs/public/android-chrome-192x192.png b/docs/public/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..f5095287083c5912f6ba5c2b178e36210d3e5e2f GIT binary patch literal 5830 zcmeHL_ct6&+n&`{e+VH#v_y?=5u%G;qeQgmb(OG)ZV@Cz$@3u5g6O?%5G9D-#acCb z)T|c0zx%%D`_B3Pf$z8XhnYEN=FELxGjm<{%-nDFbW|xw8At&D6zXbE^l@$5zY8%D zuGatQ3dJ=LgubdGs2FD21b_~y{zSph@5Oc|iJzfzUC&KR9(ua5maB~Sam<@Vnx0ha z@%@|z)-1A^j-oeG@yp*4FGugPkQTj(mxg#+(|(9viHeEG|I1V9P)VNF6LMSmSUzQk zZ!R+AK|yRM6Xl4lOZT}FDWCqQUxU4v*li$DbT9L1JE%|3 znIK5(mDqkH8m$DVR2Sh82-0IVb}f-vJ_GrcFb`_A1Ab!YK|>%wToHmb$~KE&2(k$( zG-(O`JM`b(_&?kryO&+k2&s;0SmLs?f3)N!N&X?X9_hpvpQgu@^AevoT-f#M8|8v) zslg3>QA|!Vd(=#$icHH3s8^7{X{~v$+N%o9*uj($LNm6{5t|%Kkzgj+MEVy@{40)kLvb%;q&E<+p{ggkT}yKYGq+vG6o49vL+pjFj)-T!yX&k;<$nBxVBkv?VWMMg zG4uEdJiKJ#=Dh%pXO(2R(o_Z>Au>7(GY9(mOnZ)!!r8BQyFVpIDqOXgmO7mK;2}3T z-T10jo`%0D(+V*b4& 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 literal 0 HcmV?d00001 diff --git a/docs/public/android-chrome-512x512.png b/docs/public/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..85a0d23420b38b1178ea9907a4dafa2cdd0c4f65 GIT binary patch literal 17657 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'} @@ -760,6 +766,119 @@ packages: '@iconify/utils@2.1.25': resolution: {integrity: sha512-Y+iGko8uv/Fz5bQLLJyNSZGOdMW0G7cnlEX1CiNcKsRXX9cq/y/vwxrIAtLCZhKHr3m0VJmsjVPsvnM4uX8YLg==} + '@img/sharp-darwin-arm64@0.33.4': + resolution: {integrity: sha512-p0suNqXufJs9t3RqLBO6vvrgr5OhgbWp76s5gTRvdmxmuv9E1rcaqGUsl3l4mKVmXPkTkTErXediAui4x+8PSA==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.33.4': + resolution: {integrity: sha512-0l7yRObwtTi82Z6ebVI2PnHT8EB2NxBgpK2MiKJZJ7cz32R4lxd001ecMhzzsZig3Yv9oclvqqdV93jo9hy+Dw==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-darwin-arm64@1.0.2': + resolution: {integrity: sha512-tcK/41Rq8IKlSaKRCCAuuY3lDJjQnYIW1UXU1kxcEKrfL8WR7N6+rzNoOxoQRJWTAECuKwgAHnPvqXGN8XfkHA==} + engines: {macos: '>=11', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.0.2': + resolution: {integrity: sha512-Ofw+7oaWa0HiiMiKWqqaZbaYV3/UGL2wAPeLuJTx+9cXpCRdvQhCLG0IH8YGwM0yGWGLpsF4Su9vM1o6aer+Fw==} + engines: {macos: '>=10.13', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.0.2': + resolution: {integrity: sha512-x7kCt3N00ofFmmkkdshwj3vGPCnmiDh7Gwnd4nUwZln2YjqPxV1NlTyZOvoDWdKQVDL911487HOueBvrpflagw==} + engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linux-arm@1.0.2': + resolution: {integrity: sha512-iLWCvrKgeFoglQxdEwzu1eQV04o8YeYGFXtfWU26Zr2wWT3q3MTzC+QTCO3ZQfWd3doKHT4Pm2kRmLbupT+sZw==} + engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm] + os: [linux] + + '@img/sharp-libvips-linux-s390x@1.0.2': + resolution: {integrity: sha512-cmhQ1J4qVhfmS6szYW7RT+gLJq9dH2i4maq+qyXayUSn9/3iY2ZeWpbAgSpSVbV2E1JUL2Gg7pwnYQ1h8rQIog==} + engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [s390x] + os: [linux] + + '@img/sharp-libvips-linux-x64@1.0.2': + resolution: {integrity: sha512-E441q4Qdb+7yuyiADVi5J+44x8ctlrqn8XgkDTwr4qPJzWkaHwD489iZ4nGDgcuya4iMN3ULV6NwbhRZJ9Z7SQ==} + engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-arm64@1.0.2': + resolution: {integrity: sha512-3CAkndNpYUrlDqkCM5qhksfE+qSIREVpyoeHIU6jd48SJZViAmznoQQLAv4hVXF7xyUB9zf+G++e2v1ABjCbEQ==} + engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-x64@1.0.2': + resolution: {integrity: sha512-VI94Q6khIHqHWNOh6LLdm9s2Ry4zdjWJwH56WoiJU7NTeDwyApdZZ8c+SADC8OH98KWNQXnE01UdJ9CSfZvwZw==} + engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [linux] + + '@img/sharp-linux-arm64@0.33.4': + resolution: {integrity: sha512-2800clwVg1ZQtxwSoTlHvtm9ObgAax7V6MTAB/hDT945Tfyy3hVkmiHpeLPCKYqYR1Gcmv1uDZ3a4OFwkdBL7Q==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [linux] + + '@img/sharp-linux-arm@0.33.4': + resolution: {integrity: sha512-RUgBD1c0+gCYZGCCe6mMdTiOFS0Zc/XrN0fYd6hISIKcDUbAW5NtSQW9g/powkrXYm6Vzwd6y+fqmExDuCdHNQ==} + engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm] + os: [linux] + + '@img/sharp-linux-s390x@0.33.4': + resolution: {integrity: sha512-h3RAL3siQoyzSoH36tUeS0PDmb5wINKGYzcLB5C6DIiAn2F3udeFAum+gj8IbA/82+8RGCTn7XW8WTFnqag4tQ==} + engines: {glibc: '>=2.31', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [s390x] + os: [linux] + + '@img/sharp-linux-x64@0.33.4': + resolution: {integrity: sha512-GoR++s0XW9DGVi8SUGQ/U4AeIzLdNjHka6jidVwapQ/JebGVQIpi52OdyxCNVRE++n1FCLzjDovJNozif7w/Aw==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [linux] + + '@img/sharp-linuxmusl-arm64@0.33.4': + resolution: {integrity: sha512-nhr1yC3BlVrKDTl6cO12gTpXMl4ITBUZieehFvMntlCXFzH2bvKG76tBL2Y/OqhupZt81pR7R+Q5YhJxW0rGgQ==} + engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [linux] + + '@img/sharp-linuxmusl-x64@0.33.4': + resolution: {integrity: sha512-uCPTku0zwqDmZEOi4ILyGdmW76tH7dm8kKlOIV1XC5cLyJ71ENAAqarOHQh0RLfpIpbV5KOpXzdU6XkJtS0daw==} + engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [linux] + + '@img/sharp-wasm32@0.33.4': + resolution: {integrity: sha512-Bmmauh4sXUsUqkleQahpdNXKvo+wa1V9KhT2pDA4VJGKwnKMJXiSTGphn0gnJrlooda0QxCtXc6RX1XAU6hMnQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [wasm32] + + '@img/sharp-win32-ia32@0.33.4': + resolution: {integrity: sha512-99SJ91XzUhYHbx7uhK3+9Lf7+LjwMGQZMDlO/E/YVJ7Nc3lyDFZPGhjwiYdctoH2BOzW9+TnfqcaMKt0jHLdqw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.33.4': + resolution: {integrity: sha512-3QLocdTRVIrFNye5YocZl+KKpYKP+fksi1QhmOArgx7GyhIbQp/WrJRu176jm8IxromS7RIkzMiMINVdBtC8Aw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [win32] + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -1681,6 +1800,13 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + + color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + colord@2.9.3: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} @@ -1841,6 +1967,10 @@ packages: destr@2.0.3: resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} + detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} + devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} @@ -2409,6 +2539,9 @@ packages: is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} @@ -2503,9 +2636,6 @@ packages: js-tokens@9.0.0: resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} - js-utils-es@1.0.7: - resolution: {integrity: sha512-9zMeLfNy82KXlIJZV4ONTL42BfYby83CywV7BILlQ05ktkc3LWfxK+W/FqiPsN+pT9rT1OKE/b+z9xMCzMesWw==} - js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true @@ -3413,6 +3543,10 @@ packages: engines: {node: '>=10'} hasBin: true + sharp@0.33.4: + resolution: {integrity: sha512-7i/dt5kGl7qR4gwPRD2biwD2/SvBn3O04J77XKFgL2OnZtQw+AG9wnuS/csmu80nPRHLYE9E41fyEiG8nhH6/Q==} + engines: {libvips: '>=8.15.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0} + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -3434,6 +3568,9 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + sirv@2.0.4: resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} engines: {node: '>= 10'} @@ -4453,6 +4590,11 @@ snapshots: transitivePeerDependencies: - '@algolia/client-search' + '@emnapi/runtime@1.2.0': + dependencies: + tslib: 2.6.3 + optional: true + '@es-joy/jsdoccomment@0.43.1': dependencies: '@types/eslint': 8.56.10 @@ -4676,6 +4818,81 @@ snapshots: transitivePeerDependencies: - supports-color + '@img/sharp-darwin-arm64@0.33.4': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.0.2 + optional: true + + '@img/sharp-darwin-x64@0.33.4': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.0.2 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.0.2': + optional: true + + '@img/sharp-libvips-darwin-x64@1.0.2': + optional: true + + '@img/sharp-libvips-linux-arm64@1.0.2': + optional: true + + '@img/sharp-libvips-linux-arm@1.0.2': + optional: true + + '@img/sharp-libvips-linux-s390x@1.0.2': + optional: true + + '@img/sharp-libvips-linux-x64@1.0.2': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.0.2': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.0.2': + optional: true + + '@img/sharp-linux-arm64@0.33.4': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.0.2 + optional: true + + '@img/sharp-linux-arm@0.33.4': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.0.2 + optional: true + + '@img/sharp-linux-s390x@0.33.4': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.0.2 + optional: true + + '@img/sharp-linux-x64@0.33.4': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.0.2 + optional: true + + '@img/sharp-linuxmusl-arm64@0.33.4': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.0.2 + optional: true + + '@img/sharp-linuxmusl-x64@0.33.4': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.0.2 + optional: true + + '@img/sharp-wasm32@0.33.4': + dependencies: + '@emnapi/runtime': 1.2.0 + optional: true + + '@img/sharp-win32-ia32@0.33.4': + optional: true + + '@img/sharp-win32-x64@0.33.4': + optional: true + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -5918,6 +6135,16 @@ snapshots: color-name@1.1.4: {} + color-string@1.9.1: + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + + color@4.2.3: + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + colord@2.9.3: {} colorette@2.0.20: {} @@ -6071,6 +6298,8 @@ snapshots: destr@2.0.3: {} + detect-libc@2.0.3: {} + devlop@1.1.0: dependencies: dequal: 2.0.3 @@ -6791,6 +7020,8 @@ snapshots: is-arrayish@0.2.1: {} + is-arrayish@0.3.2: {} + is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 @@ -6857,8 +7088,6 @@ snapshots: js-tokens@9.0.0: {} - js-utils-es@1.0.7: {} - js-yaml@4.1.0: dependencies: argparse: 2.0.1 @@ -7866,6 +8095,32 @@ snapshots: semver@7.6.2: {} + sharp@0.33.4: + dependencies: + color: 4.2.3 + detect-libc: 2.0.3 + semver: 7.6.2 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.33.4 + '@img/sharp-darwin-x64': 0.33.4 + '@img/sharp-libvips-darwin-arm64': 1.0.2 + '@img/sharp-libvips-darwin-x64': 1.0.2 + '@img/sharp-libvips-linux-arm': 1.0.2 + '@img/sharp-libvips-linux-arm64': 1.0.2 + '@img/sharp-libvips-linux-s390x': 1.0.2 + '@img/sharp-libvips-linux-x64': 1.0.2 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.2 + '@img/sharp-libvips-linuxmusl-x64': 1.0.2 + '@img/sharp-linux-arm': 0.33.4 + '@img/sharp-linux-arm64': 0.33.4 + '@img/sharp-linux-s390x': 0.33.4 + '@img/sharp-linux-x64': 0.33.4 + '@img/sharp-linuxmusl-arm64': 0.33.4 + '@img/sharp-linuxmusl-x64': 0.33.4 + '@img/sharp-wasm32': 0.33.4 + '@img/sharp-win32-ia32': 0.33.4 + '@img/sharp-win32-x64': 0.33.4 + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -7883,6 +8138,10 @@ snapshots: signal-exit@4.1.0: {} + simple-swizzle@0.2.2: + dependencies: + is-arrayish: 0.3.2 + sirv@2.0.4: dependencies: '@polka/url': 1.0.0-next.25 diff --git a/scripts/og-template.svg b/scripts/og-template.svg new file mode 100644 index 0000000..0580876 --- /dev/null +++ b/scripts/og-template.svg @@ -0,0 +1,29 @@ + + + + + +{{name}} +{{line1}} {{line2}} {{line3}} +{{package}} + + + + + + + + + + + + + + + + + + + + +