-
+
Help Resources
@@ -146,6 +146,10 @@
diff --git a/pages/imprint.vue b/pages/imprint.vue
index f1e6113..3c0cf79 100644
--- a/pages/imprint.vue
+++ b/pages/imprint.vue
@@ -8,7 +8,7 @@
diff --git a/pages/mailing-lists.vue b/pages/mailing-lists.vue
index e8b2b30..19dd683 100644
--- a/pages/mailing-lists.vue
+++ b/pages/mailing-lists.vue
@@ -65,6 +65,6 @@
diff --git a/pages/news/[year]/[title].vue b/pages/news/[year]/[title].vue
index f63b478..5c3bdc3 100644
--- a/pages/news/[year]/[title].vue
+++ b/pages/news/[year]/[title].vue
@@ -129,11 +129,19 @@ if (!data.value) {
throw createError({ statusCode: 404, statusMessage: 'Page Not Found', fatal: true })
}
-const imgPath = route.path + '/' + data.value.image
+const imgPath = route.path.replace(/\/$/, '') + '/' + data.value.image
const author = getAuthors(data.value.authors)[0]
const authorPicture = getAuthorPicture(data.value.authors[0])
useHead({
title: data.value.title + ' | Manjaro News',
+ titleTemplate: '',
+})
+useServerSeoMeta({
+ ogTitle: data.value.title,
+ description: data.value.description,
+ ogImage: 'https://manjaro.org' + imgPath,
+ twitterCard: 'summary_large_image',
+ twitterImage: 'https://manjaro.org' + imgPath,
})
diff --git a/pages/news/index.vue b/pages/news/index.vue
index 2975db8..f839782 100644
--- a/pages/news/index.vue
+++ b/pages/news/index.vue
@@ -44,31 +44,20 @@
import { useTimeAgo } from '@vueuse/core'
useHead({
- title: 'News' + ' – manjaro.org',
+ title: 'News',
+})
+useServerSeoMeta({
+ ogTitle: 'Manjaro News',
+ description: 'Articles about development and organization of the Manjaro project.',
})
const getImagePath = (path: string, file: string) => {
return path + '/' + file
}
-const props = defineProps({ pageNumber: { type: Number, required: true } })
-const postsPerPage = 10
-
-const allPostsCountResponse = await useAsyncData('news-items-all',
- () => queryContent('/news').count())
-
-const allPostsCount = allPostsCountResponse.data.value!
-const totalPages = Math.ceil(allPostsCount / postsPerPage)
-
-if (props.pageNumber < 1 || props.pageNumber > totalPages) {
- showError({ statusCode: 404, statusMessage: 'Page Not Found', fatal: true })
-}
-
-const { data } = await useAsyncData(`news-items-list-${props.pageNumber}`, () =>
+const { data } = await useAsyncData('news-items-list', () =>
queryContent('/news')
.sort({ date: -1 })
- .skip((props.pageNumber - 1) * postsPerPage)
- .limit(postsPerPage)
.find(),
)
diff --git a/pages/partners.vue b/pages/partners.vue
index 2fede6b..8513aa3 100644
--- a/pages/partners.vue
+++ b/pages/partners.vue
@@ -105,6 +105,10 @@
diff --git a/pages/privacy-policy.vue b/pages/privacy-policy.vue
index 5801d83..f8ef18a 100644
--- a/pages/privacy-policy.vue
+++ b/pages/privacy-policy.vue
@@ -8,7 +8,7 @@