
content-structure
by tylermorganme
SKILL.md
name: content-structure description: Reference for bgf_2024 website content architecture. Use when working with crops, recipes, guides, courses, or the Learn section. Explains how content collections relate and how courses string guides together.
bgf_2024 Content Structure
Overview
The site uses Astro content collections with three main types plus a course system:
| Collection | Location | Format | Purpose |
|---|---|---|---|
| crops | src/content/crops/ | .md | Individual vegetable/herb info pages |
| recipes | src/content/recipes/ | .md | Recipe pages with ingredients/instructions |
| guides | src/content/guides/ | .mdx | Deep-dive technique articles |
Courses are defined in src/data/guides.ts and string multiple guides into a learning path.
URL Migration (Important!)
Read docs/url-migration-strategy.md for full context.
We are transitioning from long URLs to short URLs:
- Old (long):
/learn/crops/kale/,/learn/recipes/market-soup/ - New (short):
/crops/kale/,/recipes/market-soup/
Current state: Both paths serve content (no redirects) to preserve SEO equity while building authority on the new short URLs.
When linking internally: Use short URLs (/crops/, /recipes/)
The /learn/ path still exists for guides and courses - it's not going away. We're just moving crops and recipes out from under it.
Key Relationships
Header Nav
├── Crops → /crops/ (preferred) or /learn/crops/ (legacy)
├── Recipes → /recipes/ (preferred) or /learn/recipes/ (legacy)
├── Learn → /learn/ (courses + guides - NOT crops/recipes)
└── ...
/learn/
├── Courses (e.g., "The Lazy Cook's Guide to Great Vegetables")
│ └── Each course = ordered array of guide slugs
└── Link to /guides/
/guides/
└── Lists all guides from content/guides/
Scripts
Run these to see current structure from source:
scripts/show-schemas.sh- View content collection schemas (src/content/config.ts)scripts/show-courses.sh- View course definitions (src/data/guides.ts)scripts/list-content.sh- List all content files by collection
Content Collection Schemas
Defined in bgf_2024/src/content.config.ts. Key fields:
crops
Two types of crop pages:
Full crops (placeholder: false or omitted):
type: 'crop'- Required:
name,description,storage,shelfLife,flavorTexture,prepTips,howToUse[],tastesGreatWith - Optional:
recipes[],faq[],watchOutFor,funFact,tags[],draft
Placeholder crops (placeholder: true):
type: 'crop',placeholder: true- Required:
name,description - Optional:
tags[](to link to parent index) - Renders a "coming soon" page until converted to full crop
Index pages (category listings):
type: 'index'name,description- Child crops link via
tags[]matching the index slug
recipes
title,description,ingredients[],instructions[]- Each ingredient:
{ item, amount, cropSlug?, note? }
guides
title,description,tags[],learningPoints[]draftboolean for visibility control
Course System
Courses live in src/data/guides.ts:
interface Course {
slug: string;
title: string;
description: string;
lessons: string[]; // Guide slugs in order
}
Example:
{
slug: "csa-basics",
title: "The Lazy Cook's Guide to Great Vegetables",
lessons: ["cook-any-vegetable", "think-about-salad", "three-dressings"]
}
Page Routes
Crops & Recipes (dual paths during migration):
| Route | Source | Notes |
|---|---|---|
/crops/ | pages/crops/index.astro | Crop listing (preferred) |
/crops/[slug] | pages/crops/[...slug].astro | Individual crop (preferred) |
/learn/crops/ | pages/learn/crops/index.astro | Legacy path, same content |
/learn/crops/[slug] | pages/learn/crops/[...slug].astro | Legacy path, same content |
/recipes/ | pages/recipes/index.astro | Recipe listing (preferred) |
/recipes/[slug] | pages/recipes/[slug].astro | Individual recipe (preferred) |
/learn/recipes/ | pages/learn/recipes.astro | Legacy path, same content |
/learn/recipes/[slug] | pages/learn/recipes/[slug].astro | Legacy path, same content |
Guides & Courses (unchanged):
| Route | Source | Content |
|---|---|---|
/guides/ | pages/guides/index.astro | All guides listing |
/guides/[slug] | pages/guides/[slug].astro | Individual guide |
/learn/ | pages/learn/index.astro | Courses hub |
/learn/[course]/ | pages/learn/csa-basics/index.astro | Course landing |
/learn/[course]/[num] | pages/learn/[courseSlug]/[lessonNum].astro | Lesson (guide in course context) |
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon