Last Updated: January 9, 2026 Status: Active Development (UX Phase 2 Complete)
This repository hosts the UCLA IMLS Open Science for Librarians curriculum hub. It serves as a catalog of open educational resources (OER) designed to teach librarians technical skills and open science principles.
Primary Goal: Recruit instructors to "Pilot" (beta test) these lessons in their own institutions.
- Framework: Astro v5 (Static Site Generation)
- Styling: SCSS + Bootstrap 4 (Legacy integration) + Custom CSS Variables
- Data Source: YAML files in
src/data/(Single Source of Truth) - Deployment: GitHub Pages (via GitHub Actions)
lessons.yml: The database of all 15+ lessons. Controls metadata, authors, status (Alpha/Beta), and pilot history.sitetext.yml: Internationalization (i18n) strings and author profiles.navigation.yml: Global navigation structure.
- Strategy: GitHub-centric workflow. We do not use web forms.
- Components:
src/pages/pilot.astro: Dedicated landing page with benefits, FAQs, and filtered lesson lists.PilotBanner.astro: Homepage banner that dynamically counts lessons seeking pilots.LessonStatusBanner.astro: Context-aware banner on lesson pages (e.g., "Ready for External Piloting").
- Conversion Point: Users are directed to a pre-filled GitHub Issue Template (
.github/ISSUE_TEMPLATE/pilot-interest.yml).
- Implementation: Custom CSS Variable engine in
src/styles/_sass/base/_dark-mode.scss. - Palette:
- Background: UCLA Darkest Blue (
#003B5C) - Accents: UCLA Gold (
#FFD100)
- Background: UCLA Darkest Blue (
- Features:
- Persistent toggle in Navbar (saved to
localStorage). - FOUC (Flash of Unstyled Content) prevention script in
Layout.astro. - Comprehensive overrides for Bootstrap components (Tables, Cards, Modals).
- Persistent toggle in Navbar (saved to
- Files:
CITATION.cfffiles are generated for each individual lesson. - Automation:
scripts/generate_lesson_cffs.py: Parseslessons.ymland outputs standard CFF files togenerated_citations/.scripts/create_prs.sh: A helper script (requiresghCLI) to clone lesson repos and open Pull Requests with the updated citation files.
- Add entry to
src/data/lessons.yml. - Add authors to
src/data/sitetext.yml. - Astro automatically generates the page at
/lessons/[slug].
- Run
python scripts/generate_lesson_cffs.py. - Run
./scripts/create_prs.sh(requires GitHub Auth).
- Edit
src/styles/_sass/base/_dark-mode.scss. - Note: Use
!importantsparingly, but it is necessary for overriding some scoped Astro styles or Bootstrap defaults.
- Migration: Moved from Jekyll to Astro v5.
- UX Redesign: Implemented "Pilot First" design strategy.
- Optimization: Fixed navigation links and mobile responsiveness for tables.