Create i18n blog posts

Content stored in /src/content/blog/[slug]/<lang>.md
TODO: fix missing content in language
TODO: main blog page
This commit is contained in:
2024-05-29 08:05:39 +02:00
parent fdc43aa699
commit 18eb59ff2a
8 changed files with 155 additions and 29 deletions

View File

@ -1,15 +1,12 @@
---
layout: ../../layouts/PostLayout.astro
title: "Astro, Vite and MDX test DE"
description: "Lorem ipsum dolor sit amet"
author: "Iniubong Obonguko"
publishDate: 2020-01-01T00:00:00Z
image: "https://images.unsplash.com/photo-1664380619395-a25d867b5fb9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&q=80&w=1080"
slug: "blog-post-1"
lang: "de"
language: "de"
---
## Story about Old days
DEDEDE
In the olden days, Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Vitae ultricies leo integer malesuada nunc vel risus commodo viverra. Adipiscing enim eu turpis egestas pretium. Euismod elementum nisi quis eleifend quam adipiscing. In hac habitasse platea dictumst vestibulum. Sagittis purus sit amet volutpat. Netus et malesuada fames ac turpis egestas. Eget magna fermentum iaculis eu non diam phasellus vestibulum lorem. Varius sit amet mattis vulputate enim. Habitasse platea dictumst quisque sagittis. Integer quis auctor elit sed vulputate mi. Dictumst quisque sagittis purus sit amet.
## Conclusion

View File

@ -4,8 +4,7 @@ description: "Lorem ipsum dolor sit amet"
author: "Iniubong Obonguko"
publishDate: 2020-01-01T00:00:00Z
image: "https://images.unsplash.com/photo-1664380619395-a25d867b5fb9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&q=80&w=1080"
lang: "en"
slug: "blog-post-1"
language: "en"
---
## Story about Old days
In the olden days, Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Vitae ultricies leo integer malesuada nunc vel risus commodo viverra. Adipiscing enim eu turpis egestas pretium. Euismod elementum nisi quis eleifend quam adipiscing. In hac habitasse platea dictumst vestibulum. Sagittis purus sit amet volutpat. Netus et malesuada fames ac turpis egestas. Eget magna fermentum iaculis eu non diam phasellus vestibulum lorem. Varius sit amet mattis vulputate enim. Habitasse platea dictumst quisque sagittis. Integer quis auctor elit sed vulputate mi. Dictumst quisque sagittis purus sit amet.

View File

@ -1,5 +1,5 @@
// 1. Import utilities from `astro:content`
import { z, defineCollection } from 'astro:content';
import { z, defineCollection, getCollection } from 'astro:content';
// 2. Define your collection(s)
const blogCollection = defineCollection({
type: "content",
@ -17,4 +17,16 @@ const blogCollection = defineCollection({
// This key should match your collection directory name in "src/content"
export const collections = {
'blog': blogCollection,
};
};
export async function getBlogPosts() {
const posts = await getCollection('blog');
return posts.map((post) => {
const blog_slug = post.slug.split('/')[0];
return {
...post,
blog_slug
}
})
}