Skip to content

Commit c266ee0

Browse files
committed
fix: apply explicit seo meta tags globally
1 parent bf0c8f7 commit c266ee0

File tree

12 files changed

+73
-2
lines changed

12 files changed

+73
-2
lines changed

app/pages/@[org].vue

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<script setup lang="ts">
22
import type { FilterChip, SortOption } from '#shared/types/preferences'
3-
import { debounce } from 'perfect-debounce'
43
import { normalizeSearchParam } from '#shared/utils/url'
4+
import { debounce } from 'perfect-debounce'
55
66
definePageMeta({
77
name: 'org',
@@ -131,7 +131,11 @@ useHead({
131131
132132
useSeoMeta({
133133
title: () => `@${orgName.value} - npmx`,
134+
ogTitle: () => `@${orgName.value} - npmx`,
135+
twitterTitle: () => `@${orgName.value} - npmx`,
134136
description: () => `npm packages published by the ${orgName.value} organization`,
137+
ogDescription: () => `npm packages published by the ${orgName.value} organization`,
138+
twitterDescription: () => `npm packages published by the ${orgName.value} organization`,
135139
})
136140
137141
defineOgImageComponent('Default', {

app/pages/about.vue

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@ interface GitHubContributor {
99
1010
useSeoMeta({
1111
title: () => `${$t('about.title')} - npmx`,
12+
ogTitle: () => `${$t('about.title')} - npmx`,
13+
twitterTitle: () => `${$t('about.title')} - npmx`,
1214
description: () => $t('about.meta_description'),
15+
ogDescription: () => $t('about.meta_description'),
16+
twitterDescription: () => $t('about.meta_description'),
1317
})
1418
1519
defineOgImageComponent('Default', {

app/pages/compare.vue

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,26 @@ useSeoMeta({
5050
packages.value.length > 0
5151
? $t('compare.packages.meta_title', { packages: packages.value.join(' vs ') })
5252
: $t('compare.packages.meta_title_empty'),
53+
ogTitle: () =>
54+
packages.value.length > 0
55+
? $t('compare.packages.meta_title', { packages: packages.value.join(' vs ') })
56+
: $t('compare.packages.meta_title_empty'),
57+
twitterTitle: () =>
58+
packages.value.length > 0
59+
? $t('compare.packages.meta_title', { packages: packages.value.join(' vs ') })
60+
: $t('compare.packages.meta_title_empty'),
5361
description: () =>
5462
packages.value.length > 0
5563
? $t('compare.packages.meta_description', { packages: packages.value.join(', ') })
5664
: $t('compare.packages.meta_description_empty'),
65+
ogDescription: () =>
66+
packages.value.length > 0
67+
? $t('compare.packages.meta_description', { packages: packages.value.join(', ') })
68+
: $t('compare.packages.meta_description_empty'),
69+
twitterDescription: () =>
70+
packages.value.length > 0
71+
? $t('compare.packages.meta_description', { packages: packages.value.join(', ') })
72+
: $t('compare.packages.meta_description_empty'),
5773
})
5874
</script>
5975

app/pages/index.vue

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ useSeoMeta({
2727
title: () => $t('seo.home.title'),
2828
ogTitle: () => $t('seo.home.title'),
2929
twitterTitle: () => $t('seo.home.title'),
30-
twitterCard: 'summary_large_image',
3130
description: () => $t('seo.home.description'),
3231
ogDescription: () => $t('seo.home.description'),
3332
twitterDescription: () => $t('seo.home.description'),

app/pages/package-code/[...path].vue

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,21 @@ useSeoMeta({
283283
}
284284
return `Code - ${packageName.value}@${version.value} - npmx`
285285
},
286+
ogTitle: () => {
287+
if (filePath.value) {
288+
return `${filePath.value} - ${packageName.value}@${version.value} - npmx`
289+
}
290+
return `Code - ${packageName.value}@${version.value} - npmx`
291+
},
292+
twitterTitle: () => {
293+
if (filePath.value) {
294+
return `${filePath.value} - ${packageName.value}@${version.value} - npmx`
295+
}
296+
return `Code - ${packageName.value}@${version.value} - npmx`
297+
},
286298
description: () => `Browse source code for ${packageName.value}@${version.value}`,
299+
ogDescription: () => `Browse source code for ${packageName.value}@${version.value}`,
300+
twitterDescription: () => `Browse source code for ${packageName.value}@${version.value}`,
287301
})
288302
289303
defineOgImageComponent('Default', {

app/pages/package-docs/[...path].vue

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,11 @@ const pageTitle = computed(() => {
9595
9696
useSeoMeta({
9797
title: () => pageTitle.value,
98+
ogTitle: () => pageTitle.value,
99+
twitterTitle: () => pageTitle.value,
100+
description: () => pkg.value?.license ?? '',
101+
ogDescription: () => pkg.value?.license ?? '',
102+
twitterDescription: () => pkg.value?.license ?? '',
98103
})
99104
100105
defineOgImageComponent('Default', {

app/pages/package/[...package].vue

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -443,7 +443,11 @@ useHead({
443443
444444
useSeoMeta({
445445
title: () => (pkg.value?.name ? `${pkg.value.name} - npmx` : 'Package - npmx'),
446+
ogTitle: () => (pkg.value?.name ? `${pkg.value.name} - npmx` : 'Package - npmx'),
447+
twitterTitle: () => (pkg.value?.name ? `${pkg.value.name} - npmx` : 'Package - npmx'),
446448
description: () => pkg.value?.description ?? '',
449+
ogDescription: () => pkg.value?.description ?? '',
450+
twitterDescription: () => pkg.value?.description ?? '',
447451
})
448452
449453
onKeyStroke(

app/pages/search.vue

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -583,10 +583,22 @@ onKeyDown(['ArrowDown', 'ArrowUp', 'Enter'], handleResultsKeydown)
583583
useSeoMeta({
584584
title: () =>
585585
`${query.value ? $t('search.title_search', { search: query.value }) : $t('search.title_packages')} - npmx`,
586+
ogTitle: () =>
587+
`${query.value ? $t('search.title_search', { search: query.value }) : $t('search.title_packages')} - npmx`,
588+
twitterTitle: () =>
589+
`${query.value ? $t('search.title_search', { search: query.value }) : $t('search.title_packages')} - npmx`,
586590
description: () =>
587591
query.value
588592
? $t('search.meta_description', { search: query.value })
589593
: $t('search.meta_description_packages'),
594+
ogDescription: () =>
595+
query.value
596+
? $t('search.meta_description', { search: query.value })
597+
: $t('search.meta_description_packages'),
598+
twitterDescription: () =>
599+
query.value
600+
? $t('search.meta_description', { search: query.value })
601+
: $t('search.meta_description_packages'),
590602
})
591603
592604
defineOgImageComponent('Default', {

app/pages/settings.vue

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@ onKeyStroke(
2020
2121
useSeoMeta({
2222
title: () => `${$t('settings.title')} - npmx`,
23+
ogTitle: () => `${$t('settings.title')} - npmx`,
24+
twitterTitle: () => `${$t('settings.title')} - npmx`,
2325
description: () => $t('settings.meta_description'),
26+
ogDescription: () => $t('settings.meta_description'),
27+
twitterDescription: () => $t('settings.meta_description'),
2428
})
2529
2630
defineOgImageComponent('Default', {

app/pages/~[username]/index.vue

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,11 @@ watch(username, () => {
163163
164164
useSeoMeta({
165165
title: () => `~${username.value} - npmx`,
166+
ogTitle: () => `~${username.value} - npmx`,
167+
twitterTitle: () => `~${username.value} - npmx`,
166168
description: () => `npm packages maintained by ${username.value}`,
169+
ogDescription: () => `npm packages maintained by ${username.value}`,
170+
twitterDescription: () => `npm packages maintained by ${username.value}`,
167171
})
168172
169173
defineOgImageComponent('Default', {

0 commit comments

Comments
 (0)