Skip to content

Repository files navigation

bight-course

Static GitHub Pages website for the BiGHT course.

The source content lives in Markdown files under content/. The generated HTML is built into docs/ by build_site.py and deployed by GitHub Actions.

Edit course content

  • Site/header metadata: content/site/header.md
  • Home page: content/pages/home.md
  • Shared snippets: content/shared/
  • Weekly pages: content/weeks/
  • Project documentation: content/project-documentation/

To add a PDF slide deck link to a released week page, set slides_pdf in that week's frontmatter. Use a local path such as slides/week_01.pdf for files stored in a top-level slides/ directory, or use a full external URL.

Weekly pages are split into browsable sections from ## headings. Project documentation pages are generated from # document titles and ## section headings. Student project documentation is generated as one paginated page from the Markdown files in content/project-documentation/student/.

The build script also resolves:

  • {{ include: relative/path.md }}
  • {{ weeks_table }}

Build locally

Create a virtual environment, then install build dependencies:

python3 -m venv .venv
. .venv/bin/activate
python -m pip install -r requirements-build.txt

Build the static site:

python build_site.py

Weekly pages are published after each Wednesday lecture at 15:00 Europe/Zurich. To preview the site at a specific release point, set BIGHT_BUILD_TIME to an ISO timestamp:

BIGHT_BUILD_TIME=2026-10-28T14:01:00+00:00 python build_site.py

Preview it locally:

python -m http.server 8000 -d docs

Open http://localhost:8000.

Deploy

The .github/workflows/pages.yml workflow builds and deploys the site on pushes to main.

In GitHub, enable Pages for this repository with source set to GitHub Actions.

Quality checks

Run the linter before opening a pull request:

ruff check build_site.py
ruff format --check build_site.py
python build_site.py --check-release-schedule
python build_site.py

Pre-commit hooks

The repository uses pre-commit to run isort and ruff automatically before each commit. The configuration lives in .pre-commit-config.yaml.

Install the hooks once in your virtual environment:

python -m pip install pre-commit
pre-commit install

The hooks then run on your staged changes every time you commit and auto-fix issues where possible.

To run all hooks on the whole repository without committing:

pre-commit run --all-files

To skip the hooks for a single commit:

git commit --no-verify

Licensing

Software in this repository, including source code, website infrastructure, configuration, and deployment tooling, is licensed separately from course content under the repository's Apache License 2.0 software license.

Original BiGHT course and teaching content is licensed under CC BY 4.0 except where otherwise stated. See LICENSE-CONTENT.md for the content license, exclusions for third-party material and trademarks, and suggested attribution.

Lecturers preparing public slides should use SLIDE-LICENSING-NOTICES.md before publishing decks or other teaching materials.

About

This course teaches the principles and practice of designing, building, and rigorously evaluating trustworthy, representative, and contextually appropriate AI systems for high-stakes decision making in global health and humanitarian response.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages