@@ -987,30 +987,7 @@ defineOgImageComponent('Package', {
987987 </ClientOnly >
988988
989989 <!-- Keywords -->
990- <section id =" keywords" v-if =" displayVersion?.keywords?.length" class =" scroll-mt-20" >
991- <h2
992- id =" keywords-heading"
993- class =" group text-xs text-fg-subtle uppercase tracking-wider mb-3"
994- >
995- <a
996- href =" #keywords"
997- class =" inline-flex items-center gap-1.5 text-fg-subtle hover:text-fg-muted transition-colors duration-200 no-underline"
998- >
999- {{ $t('package.keywords_title') }}
1000- <span
1001- class =" i-carbon:link w-3 h-3 opacity-0 group-hover:opacity-100 transition-opacity duration-200"
1002- aria-hidden =" true"
1003- />
1004- </a >
1005- </h2 >
1006- <ul class =" flex flex-wrap gap-1.5 list-none m-0 p-0" >
1007- <li v-for =" keyword in displayVersion.keywords.slice(0, 15)" :key =" keyword" >
1008- <NuxtLink :to =" { name: 'search', query: { q: `keywords:${keyword}` } }" class =" tag" >
1009- {{ keyword }}
1010- </NuxtLink >
1011- </li >
1012- </ul >
1013- </section >
990+ <PackageKeywords :keywords =" displayVersion?.keywords" />
1014991
1015992 <!-- Agent Skills -->
1016993 <ClientOnly >
@@ -1031,43 +1008,7 @@ defineOgImageComponent('Package', {
10311008 :links =" readmeData.playgroundLinks"
10321009 />
10331010
1034- <section
1035- id =" compatibility"
1036- v-if ="
1037- displayVersion?.engines && (displayVersion.engines.node || displayVersion.engines.npm)
1038- "
1039- class =" scroll-mt-20"
1040- >
1041- <h2
1042- id =" compatibility-heading"
1043- class =" group text-xs text-fg-subtle uppercase tracking-wider mb-3"
1044- >
1045- <a
1046- href =" #compatibility"
1047- class =" inline-flex items-center gap-1.5 text-fg-subtle hover:text-fg-muted transition-colors duration-200 no-underline"
1048- >
1049- {{ $t('package.compatibility') }}
1050- <span
1051- class =" i-carbon:link w-3 h-3 opacity-0 group-hover:opacity-100 transition-opacity duration-200"
1052- aria-hidden =" true"
1053- />
1054- </a >
1055- </h2 >
1056- <dl class =" space-y-2" >
1057- <div v-if =" displayVersion.engines.node" class =" flex justify-between gap-4 py-1" >
1058- <dt class =" text-fg-muted text-sm shrink-0" >node</dt >
1059- <dd class =" font-mono text-sm text-fg text-end" :title =" displayVersion.engines.node" >
1060- {{ displayVersion.engines.node }}
1061- </dd >
1062- </div >
1063- <div v-if =" displayVersion.engines.npm" class =" flex justify-between gap-4 py-1" >
1064- <dt class =" text-fg-muted text-sm shrink-0" >npm</dt >
1065- <dd class =" font-mono text-sm text-fg text-end" :title =" displayVersion.engines.npm" >
1066- {{ displayVersion.engines.npm }}
1067- </dd >
1068- </div >
1069- </dl >
1070- </section >
1011+ <PackageCompatibility :engines =" displayVersion?.engines" />
10711012
10721013 <!-- Versions (grouped by release channel) -->
10731014 <PackageVersions
0 commit comments