This repository is a GitHub Skills tutorial that teaches users how to build a digital collection using CollectionBuilder-CSV. It uses GitHub's skills tutorial conventions with automated workflow triggers.
| Path | Purpose |
|---|---|
.github/steps/0-welcome.md |
Initial welcome message posted to the Issue |
.github/steps/1-step.md through 7-step.md |
Step-by-step tutorial content |
.github/steps/x-review.md |
Final review/congratulations content |
.github/workflows/0-start-exercise.yml |
Initiates the tutorial, creates Issue |
.github/workflows/1-step.yml through 7-last-step.yml |
Workflow triggers for each step |
.github/course-details.json |
Tutorial metadata |
- User clicks "Use this template" to create their own repo
0-start-exercise.ymlruns on first push, creates an Issue with welcome content- Each step workflow watches for specific file changes (paths trigger)
- When triggered, workflow posts next step content as Issue comment
- Workflows enable/disable each other sequentially
Each workflow:
- Watches specific file paths for changes
- Runs validation checks on the work
- Posts feedback and next step content to the Issue
- Disables itself and enables the next workflow
Example trigger:
on:
push:
branches:
- main
paths:
- '_config.yml' # Triggers when this file changes| Step | Trigger File(s) | Activity |
|---|---|---|
| 0 | Push to main (any) | Create Issue, post Step 1 |
| 1 | _config.yml |
Edit author field |
| 2 | _data/psychiana.csv |
Explore & edit metadata (combined with old Step 3) |
| 3 | _data/psychiana.csv |
Configure site for Psychiana |
| 4 | _config.yml |
Configure metadata setting |
| 5 | _data/theme.yml |
Preview collection, edit theme |
| 6 | pages/about.md |
Customize About page |
| 7 | _config.yml |
Publish to GitHub Pages |
- Required:
objectid,title - Display control:
display_template,object_location,image_small,image_thumb - Visualizations:
latitude/longitude(map),date(timeline),subject(word cloud)
Values: image, pdf, video, audio, record, panorama, compound_object, multiple
_config.yml- Site-wide Jekyll settings_data/theme.yml- Theme options (featured-image, map settings, etc.)_data/psychiana.csv- Collection metadata
These notes from the maintainer should guide future edits:
- ✅ Added note to refresh page and link to GitHub Skills
- ✅ Added navigation instructions (right-click Code button, open in new tab)
- ✅ Added "Having trouble" dropdown with Codespace link
- ✅ Added CB-Examples link to explore while waiting
- ✅ Added Part 6 to view diff on GitHub
- Remove line about Excel/LibreCalc being alternatives
- De-emphasize
formatfield (not required for CSV) - Remove
filenameas required (not accurate for CSV) - Focus on
display_template,object_location,image_small,image_thumb - Link to https://collectionbuilder.github.io/cb-docs/docs/metadata/csv_metadata/#display-template
- Combine with Step 3 (old) - add activity to edit psychiana001 title
- Explain psychiana001 is a YouTube video from Northwest Public Broadcasting
- Note the title has commas so it's in quotes (CSV learning moment)
- Have them view the diff before committing
- Content should merge into Step 2 to reduce redundancy
- Note that suggested values are just suggestions - users can customize!
- Should come BEFORE the config changes step
- User sees demo data first, then makes changes
- Remove the
echo "Previewed collection locally" > .preview-completecommand (confusing) - Add activity: Change
featured-imageintheme.ymltodemo_006 - Have them explore Browse page ("32 IMAGE" link), grab objectid from URL
- Link to theme docs: https://collectionbuilder.github.io/cb-docs/docs/theme/#theme-configuration-options
- Have them also edit subjects section and map zoom in theme.yml
- Keep as-is mostly
- Have them STOP the Codespace first (click Codespaces button at bottom, "Stop Codespace")
- Go back to Issue tab, right-click Code menu, open in new tab
- Note they're editing
_config.ymlvia GitHub web interface (not Codespace) - Click pencil to edit, commit changes button at top right
- Add reminder to click "Sync Changes" button
- Add reminder to refresh page (
Cmd+R/Ctrl+R)
Many workflows may not be triggering properly. Check:
- Workflow names match exactly in enable/disable commands
- Path triggers match the files users actually edit
- Workflows are initially disabled (except Step 0)
- CollectionBuilder Docs: https://collectionbuilder.github.io/cb-docs/
- CSV Metadata: https://collectionbuilder.github.io/cb-docs/docs/metadata/csv_metadata/
- Theme Options: https://collectionbuilder.github.io/cb-docs/docs/theme/
- CB Examples: https://collectionbuilder.github.io/cb-examples/
- GitHub Skills: https://skills.github.com/
The tutorial uses the Psychiana Digital Collection from University of Idaho Library.
- Full collection: https://www.lib.uidaho.edu/digital/psychiana/
- Item
psychiana001: YouTube video from Northwest Public Broadcasting about Psychiana - Item
demo_006: An image item good for featured-image examples