Project Structure Overview
The project is organized into two main areas: framework code (in src/) and user content (in dynamic_data/).
Top-Level Structure
project/
├── dynamic_data/ # User content & configuration
│ ├── assets/ # Static assets (logos, images)
│ ├── config/ # Configuration files
│ ├── data/ # Content (docs, blog, pages)
│ └── themes/ # Custom themes
│
├── src/ # Framework code (don't modify)
│ ├── layouts/ # Layout components
│ ├── loaders/ # Config & data loaders
│ ├── pages/ # Astro pages
│ └── styles/ # Global styles
│
├── .env # Environment configuration
├── astro.config.mjs # Astro configuration
└── package.json
Separation of Concerns
| Directory | Purpose | Modify? |
|---|---|---|
dynamic_data/ |
Your content, config, and assets | Yes |
src/ |
Framework layouts and loaders | No |
.env |
Environment-specific settings | Yes |
Key Principles
- Content lives in
dynamic_data/- All your documentation, blog posts, and configuration - Framework code in
src/- Layouts, loaders, and routing logic (don't modify) - Configuration via YAML - Easy to edit without touching code
- Path aliases - Use
@data/,@assets/, etc. for clean references
Next Steps
- Code Structure - Understanding the
src/framework - Dynamic Data Structure - Working with your content