CAIA Center Dev Log 003
Lessons from CAIA Center
Building a well-structured website is more than just placing pages and posts—it’s about creating a logical framework that makes content easy to navigate, expand, and maintain. This post breaks down how we approached the CAIA Center’s architecture and provides a step-by-step guide for structuring your own site, especially when using Jekyll or other static site generators.
1. Why Structure Matters
Many projects start small and grow organically, but without a proper content hierarchy, websites can quickly become a mess. A clear structure helps:
- Ensure scalability as new content is added.
- Make navigation intuitive for users.
- Keep the backend organized, reducing maintenance headaches.
- Improve SEO & accessibility by maintaining a logical URL structure.
At CAIA Center, we followed a structured topic-based approach that fits within Jekyll’s architecture while maintaining flexibility for growth.
2. Defining What You Want to Display
Before mapping out the technical structure, you need to ask:
- What kind of content will the site feature?
- Is it primarily blog posts, reference material, project pages, or a mix?
- How many categories & topics make sense?
- Too few = content becomes too broad.
- Too many = navigation gets overwhelming.
- How will users navigate between sections?
- Will they use a sidebar, a breadcrumb system, or a homepage overview?
For CAIA Center, we structured content into four main areas:
- Projects (Development & research logs)
- Research (AI concepts, models, and theory)
- Advocacy (Laws, regulations, and ethics)
- About (Team, blog, and general info)
3. Understanding Data Types: Posts vs. Pages
Jekyll offers two primary types of content:
📌 Posts (_posts/
folder) – Time-based content
- Automatically sorted by date.
- Best for blogs, logs, and news.
- Uses filename format:
YYYY-MM-DD-title.md
.
📌 Pages (_pages/
folder or root) – Static content
- Manually structured.
- Best for about pages, documentation, or project descriptions.
- Doesn’t follow a date-based structure.
🔹 Why we chose posts for most content: For CAIA Center, even development logs and research articles are stored as posts, because:
- Sorting by date ensures latest research is always surfaced.
- Tags & categories make cross-linking more dynamic.
- Easier to integrate with Jekyll’s built-in navigation features.
4. Mapping the Structure into Jekyll’s System
Once the content needs were clear, we designed the URL and category structure:
🔹 URL Format:
caia.center/<topic>/<subtopic>/<information>
Or in Jeckyll's terms:
caia.center/<category 1>/<category 2>/<post>
that translate to the post's frotmatter:
categories: category 1, category 2
permalink: /projects/caia-center-development/:title/
🔹 Jekyll Folder Structure:
caia.center/
│── _posts/ # Blog, research, and logs (date-based)
│── _pages/ # Static pages
│── _categories/ # Category index (if using collections)
│── assets/ # Images, styles, and scripts
│── _includes/ # Reusable components (navbars, footers, etc.)
│── _layouts/ # Page layouts
│── _config.yml # Jekyll site settings
🔹 Example Post Organization:
caia.center/projects/caia-center-development/the-birth-of-caia/
Maps to:
_posts/projects/caia-center-development/2025-02-15-the-birth-of-caia.md
5. Configuring Jekyll for This Structure
To make Jekyll handle this layout properly, we configured _config.yml
:
permalink: /:categories/:title/
categories: [projects, research, advocacy, about]
collections:
pages:
output: true
permalink: /:path/
🔹 This setup ensures:
- Posts follow the category-based URL structure.
- Collections allow us to manage static pages separately.
- The site remains dynamic and scalable.
6. Final Thoughts: Structuring for the Future
A well-designed website architecture helps you avoid chaotic content sprawl and makes adding new content seamless. When planning your own site, remember to: 1️⃣ Decide what content you need (topics & categories). 2️⃣ Choose between posts & pages based on time relevance. 3️⃣ Map out a logical URL structure for easy navigation. 4️⃣ Configure Jekyll accordingly to keep things organized.
This structured approach keeps your content scalable, maintainable, and user-friendly—whether you’re building a small blog or a large knowledge hub like CAIA Center. 🚀
📢 Need help structuring your Jekyll site? Let us know in the comments! 😃