uu_framework Developer Guide
A static site generator for ITAM course materials, built on Eleventy with Python preprocessing.
Quick Start
# Start dev server (auto-detects repo from git remote)
docker compose -f uu_framework/docker/docker-compose.yaml up dev
# Visit http://localhost:3000/{repo-name}/ (e.g., /ia_p26/)
Architecture Overview
Markdown (clase/)
→ Python preprocessing (scripts/)
→ JSON data files (_data/)
→ Eleventy build (.eleventy.js)
→ HTML output (_site/)
Documentation
| Guide | Description |
|---|---|
| Architecture | Complete data flow and pipeline |
| Preprocessing | Python scripts (extract, generate, aggregate) |
| Eleventy | Filters, collections, transforms |
| Theming | CSS variables, themes, accessibility |
| Components | All 6 component types and how to add new |
| Templates | Nunjucks layouts and macros |
| Troubleshooting | Common issues and solutions |
Key Files
| File | Purpose |
|---|---|
.eleventy.js |
Main Eleventy configuration |
scripts/preprocess.py |
Orchestrates preprocessing |
_includes/layouts/base.njk |
Master HTML template |
_includes/components/nav.njk |
Sidebar navigation |
config/site.yaml |
Site configuration |
Build Commands
# Full build
docker compose -f uu_framework/docker/docker-compose.yaml run build
# Dev server with hot reload
docker compose -f uu_framework/docker/docker-compose.yaml up dev
# Preprocessing only (debug)
docker compose -f uu_framework/docker/docker-compose.yaml run preprocess
Directory Structure
uu_framework/
├── config/ # Site and theme configuration
├── scripts/ # Python preprocessing
├── eleventy/ # Eleventy SSG
│ ├── _data/ # Generated JSON
│ ├── _includes/ # Templates
│ └── src/css/ # Stylesheets
├── docker/ # Docker config
└── docs/ # This documentation