You've already forked zblade.dev
feat(blog): add blog section and rss feed
- Add blog content collection schema and welcome post - Create blog index, post layout components, and dynamic routing - Add `@astrojs/rss` dependency and implement RSS feed generation - Add blog links to header and footer navigation - Update changelog with Gemini 3.1 Pro enhancement notes
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: "Welcome to the Zaguán Blade Blog"
|
||||
description: "Announcing our new blog where we'll share updates, tutorials, and insights about AI-powered development."
|
||||
pubDate: 2026-02-22
|
||||
tags: ["announcement"]
|
||||
categories: ["General"]
|
||||
draft: true
|
||||
---
|
||||
|
||||
# Welcome to the Zaguán Blade Blog
|
||||
|
||||
This is a placeholder post. Replace me with your actual blog content!
|
||||
|
||||
## What's Coming
|
||||
|
||||
- Release announcements and changelogs
|
||||
- Tutorials and how-to guides
|
||||
- Tips and tricks for getting the most out of Zaguán Blade
|
||||
- Insights into AI-powered development
|
||||
|
||||
Stay tuned for more!
|
||||
@@ -0,0 +1,17 @@
|
||||
import { defineCollection, z } from 'astro:content';
|
||||
|
||||
const blog = defineCollection({
|
||||
type: 'content',
|
||||
schema: z.object({
|
||||
title: z.string(),
|
||||
description: z.string(),
|
||||
pubDate: z.coerce.date(),
|
||||
updatedDate: z.coerce.date().optional(),
|
||||
heroImage: z.string().optional(),
|
||||
tags: z.array(z.string()).default([]),
|
||||
categories: z.array(z.string()).default([]),
|
||||
draft: z.boolean().default(false),
|
||||
}),
|
||||
});
|
||||
|
||||
export const collections = { blog };
|
||||
Reference in New Issue
Block a user