feat: migrate learning-hub articles into Astro website

- Add Astro Content Collection for learning-hub articles
- Move 5 fundamentals articles into website/src/content/learning-hub/
- Create ArticleLayout.astro for rendering markdown articles
- Create index page listing all articles in recommended reading order
- Create dynamic [slug].astro route for individual articles
- Add Learning Hub to main navigation and homepage cards
- Add article prose and index page CSS styles
- Update internal links to use website URLs
This commit is contained in:
Aaron Powell
2026-02-10 17:30:30 +11:00
parent 7aff2eecd3
commit a124e133cb
12 changed files with 1760 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
import { defineCollection, z } from "astro:content";
import { glob } from "astro/loaders";
const learningHub = defineCollection({
loader: glob({ pattern: "**/*.md", base: "./src/content/learning-hub" }),
schema: z.object({
title: z.string(),
description: z.string(),
authors: z.array(z.string()).optional(),
lastUpdated: z.string().optional(),
estimatedReadingTime: z.string().optional(),
tags: z.array(z.string()).optional(),
relatedArticles: z.array(z.string()).optional(),
prerequisites: z.array(z.string()).optional(),
}),
});
export const collections = {
"learning-hub": learningHub,
};