This document covers the technical infrastructure that powers the OSSU Computer Science curriculum website and repository. This includes the Jekyll-based static site generation, domain configuration, repository automation, and development environment setup that enables the curriculum to be delivered as a public website.
For detailed curriculum content and structure, see Curriculum Structure. For community support systems, see Community and Support.
The OSSU Computer Science curriculum operates as a GitHub Pages-hosted static website built with Jekyll. The technical infrastructure serves as the coordination layer for the broader OSSU ecosystem, connecting students to external educational platforms while providing community support systems and automated repository maintenance.
OSSU Technical Infrastructure Architecture
Sources: CNAME1 _config.yml1-9 .github/workflows/delete-empty-issues.yml1-36
The website is powered by Jekyll using the minima theme. The _config.yml file drives the site generation, while custom includes in the _includes/ directory handle specific metadata like favicons and navigation.
Jekyll Configuration and Component Map
For details on site customization, see Website Configuration.
Sources: _config.yml1-9 _includes/custom-head.html1-3 _includes/nav-items.html1-8 _includes/footer.html1-17
To maintain repository quality, OSSU utilizes GitHub Actions to automate administrative tasks. A primary automation is the delete-empty-issues.yml workflow, which manages the influx of issue reports.
Key Automation Logic:
opened [.github/workflows/delete-empty-issues.yml2-5]actions-cool/issues-helper to create a polite explanatory comment [.github/workflows/delete-empty-issues.yml14-29]Sources: .github/workflows/delete-empty-issues.yml1-36
The development environment is configured to support standard Jekyll workflows while keeping the repository clean of IDE-specific files.
| Component | File/Path | Role |
|---|---|---|
| Domain | CNAME | Maps the site to cs.ossu.dev [CNAME1] |
| Theme | _config.yml | Sets minima as the remote theme with auto skin [_config.yml2-4] |
| Templates | _layouts/page.html | Defines the standard article wrapper for site pages [_layouts/page.html1-11] |
| Navigation | _includes/nav-items.html | Dynamically generates links for nav_pages and a hardcoded GitHub link [_includes/nav-items.html1-7] |
For information on setting up a local environment for contributions, see Development Setup.
Sources: CNAME1 _config.yml1-9 _layouts/page.html1-11 _includes/nav-items.html1-8