Skip to content

Commit 1d66792

Browse files
jt14denclaude
andcommitted
UX: Implement comprehensive 'Pilot a Lesson' landing page
- Create src/pages/pilot.astro: A dedicated page for recruiting lesson pilots - Replace broken Netlify form with GitHub Issue Template CTA (for GitHub Pages compatibility) - Update navigation.yml to link 'Pilot a Lesson' to the new internal page - Overwrite legacy automation scripts with robust versions: - scripts/create_prs.sh: Automates bulk PR creation for CFF files using GitHub CLI - scripts/generate_lesson_cffs.py: Generates Carpentries-compliant CFF files from lesson data - Update UX-REDESIGN-PLAN.md with evaluation, fixes, and current status - Update .gitignore to exclude temporary repository directory used by automation This completes the Phase 1 & 2 transition to a pilot-recruitment-focused architecture. Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
1 parent 3afcc16 commit 1d66792

File tree

6 files changed

+1675
-374
lines changed

6 files changed

+1675
-374
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,4 @@ pnpm-debug.log*
2222

2323
# jetbrains setting folder
2424
.idea/
25+
_temp_repos/

UX-REDESIGN-PLAN.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -954,6 +954,30 @@ This redesign plan focuses on making lesson piloting opportunities **visible, cl
954954

955955
---
956956

957-
**Document Version**: 1.0
957+
## Evaluation & Fixes (Jan 9, 2026)
958+
959+
### Verification of Phase 1 & 2
960+
An evaluation of the implemented features against this plan confirmed the successful deployment of key components:
961+
962+
1. **Homepage Enhancements**:
963+
***Pilot Banner**: Active on homepage, correctly counts "Seeking Pilot" lessons, and includes dismissal functionality.
964+
***Status Legend**: Visually explains Alpha/Beta/Adopted statuses clearly.
965+
***Filtering**: `Lessons.astro` includes a dedicated "Seeking Pilots" filter button that dynamically updates the count.
966+
967+
2. **Navigation**:
968+
***"Pilot a Lesson" Link**: Added to the main navbar.
969+
* 🛠️ **Fix Applied**: The link initially pointed to the external GitHub `CONTRIBUTING.md`. It has been updated in `src/data/navigation.yml` to point to the new internal `/pilot` page.
970+
971+
3. **Lesson Pages**:
972+
***Status Banners**: `LessonStatusBanner.astro` correctly renders context-aware calls-to-action (e.g., "Ready for External Piloting").
973+
***Visual Cues**: Lesson cards feature "SEEKING PILOTS" ribbons and distinct border colors.
974+
975+
4. **New Landing Page (`/pilot`)**:
976+
***Content**: Comprehensive guide, FAQ, and lesson listing implemented in `src/pages/pilot.astro`.
977+
* ⚠️ **Critical Issue**: The page currently uses a Netlify-style form submission script (`data-netlify="true"`). Since the site is deployed via **GitHub Pages**, this form **will not work**. It must be migrated to an external service like Formspree or Google Forms.
978+
979+
---
980+
981+
**Document Version**: 1.1
958982
**Last Updated**: January 9, 2026
959983
**Author**: Claude Code with Tim Dennis

scripts/create_prs.sh

100644100755
Lines changed: 91 additions & 199 deletions
Original file line numberDiff line numberDiff line change
@@ -1,201 +1,93 @@
11
#!/bin/bash
2-
# Auto-generated script to create CFF PRs
3-
4-
mkdir -p _temp_repos
5-
cd _temp_repos
6-
7-
echo 'Processing lc-open-reproducible-research-cloud...
8-
gh repo fork https://github.com/kerchner/lc-open-reproducible-research-cloud --clone --default-branch-only
9-
cd lc-open-reproducible-research-cloud || exit
10-
git checkout -b add-citation-cff
11-
cp '/Users/timdennis/websites/ucla-imls-open-sci.github.io/generated_citations/CITATION-open-and-reproducible-research-cloud-workflows-a-firsthand-experience-for-librarians.cff' CITATION.cff
12-
git add CITATION.cff
13-
git commit -m 'Docs: Add CITATION.cff file'
14-
git push -f -u origin add-citation-cff
15-
gh pr create --title 'Docs: Add CITATION.cff' --body 'This PR adds a CITATION.cff file to make the lesson citable, generated from the IMLS Open Science project metadata.' --repo https://github.com/kerchner/lc-open-reproducible-research-cloud
16-
cd ..
17-
rm -rf lc-open-reproducible-research-cloud
18-
echo '--------------------------------'
19-
20-
echo 'Processing lc-multilingual-search-discovery-system...
21-
gh repo fork https://github.com/ucla-imls-open-sci/lc-multilingual-search-discovery-system --clone --default-branch-only
22-
cd lc-multilingual-search-discovery-system || exit
23-
git checkout -b add-citation-cff
24-
cp '/Users/timdennis/websites/ucla-imls-open-sci.github.io/generated_citations/CITATION-collaborative-multilingual-search-and-discovery-systems.cff' CITATION.cff
25-
git add CITATION.cff
26-
git commit -m 'Docs: Add CITATION.cff file'
27-
git push -f -u origin add-citation-cff
28-
gh pr create --title 'Docs: Add CITATION.cff' --body 'This PR adds a CITATION.cff file to make the lesson citable, generated from the IMLS Open Science project metadata.' --repo https://github.com/ucla-imls-open-sci/lc-multilingual-search-discovery-system
29-
cd ..
30-
rm -rf lc-multilingual-search-discovery-system
31-
echo '--------------------------------'
32-
33-
echo 'Processing lc-authoring-open-science...
34-
gh repo fork https://github.com/ucla-imls-open-sci/lc-authoring-open-science --clone --default-branch-only
35-
cd lc-authoring-open-science || exit
36-
git checkout -b add-citation-cff
37-
cp '/Users/timdennis/websites/ucla-imls-open-sci.github.io/generated_citations/CITATION-authoring-open-science.cff' CITATION.cff
38-
git add CITATION.cff
39-
git commit -m 'Docs: Add CITATION.cff file'
40-
git push -f -u origin add-citation-cff
41-
gh pr create --title 'Docs: Add CITATION.cff' --body 'This PR adds a CITATION.cff file to make the lesson citable, generated from the IMLS Open Science project metadata.' --repo https://github.com/ucla-imls-open-sci/lc-authoring-open-science
42-
cd ..
43-
rm -rf lc-authoring-open-science
44-
echo '--------------------------------'
45-
46-
echo 'Processing lc-open-science-community-of-practice...
47-
gh repo fork https://github.com/ucla-imls-open-sci/lc-open-science-community-of-practice --clone --default-branch-only
48-
cd lc-open-science-community-of-practice || exit
49-
git checkout -b add-citation-cff
50-
cp '/Users/timdennis/websites/ucla-imls-open-sci.github.io/generated_citations/CITATION-building-an-open-science-community-of-practice.cff' CITATION.cff
51-
git add CITATION.cff
52-
git commit -m 'Docs: Add CITATION.cff file'
53-
git push -f -u origin add-citation-cff
54-
gh pr create --title 'Docs: Add CITATION.cff' --body 'This PR adds a CITATION.cff file to make the lesson citable, generated from the IMLS Open Science project metadata.' --repo https://github.com/ucla-imls-open-sci/lc-open-science-community-of-practice
55-
cd ..
56-
rm -rf lc-open-science-community-of-practice
57-
echo '--------------------------------'
58-
59-
echo 'Processing lc-containers_vms...
60-
gh repo fork https://github.com/LibraryCarpentry/lc-containers_vms --clone --default-branch-only
61-
cd lc-containers_vms || exit
62-
git checkout -b add-citation-cff
63-
cp '/Users/timdennis/websites/ucla-imls-open-sci.github.io/generated_citations/CITATION-a-gentle-hands-on-introduction-to-containers-and-virtual-machines.cff' CITATION.cff
64-
git add CITATION.cff
65-
git commit -m 'Docs: Add CITATION.cff file'
66-
git push -f -u origin add-citation-cff
67-
gh pr create --title 'Docs: Add CITATION.cff' --body 'This PR adds a CITATION.cff file to make the lesson citable, generated from the IMLS Open Science project metadata.' --repo https://github.com/LibraryCarpentry/lc-containers_vms
68-
cd ..
69-
rm -rf lc-containers_vms
70-
echo '--------------------------------'
71-
72-
echo 'Processing lc-scix-open-science...
73-
gh repo fork https://github.com/ucla-imls-open-sci/lc-scix-open-science --clone --default-branch-only
74-
cd lc-scix-open-science || exit
75-
git checkout -b add-citation-cff
76-
cp '/Users/timdennis/websites/ucla-imls-open-sci.github.io/generated_citations/CITATION-open-science-discovery-engines-empowering-librarian-use-through-a-case-study-exploration-of-the-nasa-science-explorer.cff' CITATION.cff
77-
git add CITATION.cff
78-
git commit -m 'Docs: Add CITATION.cff file'
79-
git push -f -u origin add-citation-cff
80-
gh pr create --title 'Docs: Add CITATION.cff' --body 'This PR adds a CITATION.cff file to make the lesson citable, generated from the IMLS Open Science project metadata.' --repo https://github.com/ucla-imls-open-sci/lc-scix-open-science
81-
cd ..
82-
rm -rf lc-scix-open-science
83-
echo '--------------------------------'
84-
85-
echo 'Processing data-dashboard-carpentries...
86-
gh repo fork https://github.com/aranganath24/data-dashboard-carpentries --clone --default-branch-only
87-
cd data-dashboard-carpentries || exit
88-
git checkout -b add-citation-cff
89-
cp '/Users/timdennis/websites/ucla-imls-open-sci.github.io/generated_citations/CITATION-creating-data-dashboards-for-open-science-using-the-r-programming-language.cff' CITATION.cff
90-
git add CITATION.cff
91-
git commit -m 'Docs: Add CITATION.cff file'
92-
git push -f -u origin add-citation-cff
93-
gh pr create --title 'Docs: Add CITATION.cff' --body 'This PR adds a CITATION.cff file to make the lesson citable, generated from the IMLS Open Science project metadata.' --repo https://github.com/aranganath24/data-dashboard-carpentries
94-
cd ..
95-
rm -rf data-dashboard-carpentries
96-
echo '--------------------------------'
97-
98-
echo 'Processing LC_ORCID...
99-
gh repo fork https://github.com/firbolg/LC_ORCID --clone --default-branch-only
100-
cd LC_ORCID || exit
101-
git checkout -b add-citation-cff
102-
cp '/Users/timdennis/websites/ucla-imls-open-sci.github.io/generated_citations/CITATION-leveraging-open-research-and-contributor-ids-orcid-for-librarians.cff' CITATION.cff
103-
git add CITATION.cff
104-
git commit -m 'Docs: Add CITATION.cff file'
105-
git push -f -u origin add-citation-cff
106-
gh pr create --title 'Docs: Add CITATION.cff' --body 'This PR adds a CITATION.cff file to make the lesson citable, generated from the IMLS Open Science project metadata.' --repo https://github.com/firbolg/LC_ORCID
107-
cd ..
108-
rm -rf LC_ORCID
109-
echo '--------------------------------'
110-
111-
echo 'Processing lc-team-agreements...
112-
gh repo fork https://github.com/LibraryCarpentry/lc-team-agreements --clone --default-branch-only
113-
cd lc-team-agreements || exit
114-
git checkout -b add-citation-cff
115-
cp '/Users/timdennis/websites/ucla-imls-open-sci.github.io/generated_citations/CITATION-research-community-outreach-with-open-science-team-agreements.cff' CITATION.cff
116-
git add CITATION.cff
117-
git commit -m 'Docs: Add CITATION.cff file'
118-
git push -f -u origin add-citation-cff
119-
gh pr create --title 'Docs: Add CITATION.cff' --body 'This PR adds a CITATION.cff file to make the lesson citable, generated from the IMLS Open Science project metadata.' --repo https://github.com/LibraryCarpentry/lc-team-agreements
120-
cd ..
121-
rm -rf lc-team-agreements
122-
echo '--------------------------------'
123-
124-
echo 'Processing lc-collaborative-science...
125-
gh repo fork https://github.com/LibraryCarpentry/lc-collaborative-science --clone --default-branch-only
126-
cd lc-collaborative-science || exit
127-
git checkout -b add-citation-cff
128-
cp '/Users/timdennis/websites/ucla-imls-open-sci.github.io/generated_citations/CITATION-a-path-to-open-inclusive-and-collaborative-science-for-librarians.cff' CITATION.cff
129-
git add CITATION.cff
130-
git commit -m 'Docs: Add CITATION.cff file'
131-
git push -f -u origin add-citation-cff
132-
gh pr create --title 'Docs: Add CITATION.cff' --body 'This PR adds a CITATION.cff file to make the lesson citable, generated from the IMLS Open Science project metadata.' --repo https://github.com/LibraryCarpentry/lc-collaborative-science
133-
cd ..
134-
rm -rf lc-collaborative-science
135-
echo '--------------------------------'
136-
137-
echo 'Processing lc-dmp101...
138-
gh repo fork https://github.com/LibraryCarpentry/lc-dmp101 --clone --default-branch-only
139-
cd lc-dmp101 || exit
140-
git checkout -b add-citation-cff
141-
cp '/Users/timdennis/websites/ucla-imls-open-sci.github.io/generated_citations/CITATION-data-management-and-sharing-plans-for-librarians-101.cff' CITATION.cff
142-
git add CITATION.cff
143-
git commit -m 'Docs: Add CITATION.cff file'
144-
git push -f -u origin add-citation-cff
145-
gh pr create --title 'Docs: Add CITATION.cff' --body 'This PR adds a CITATION.cff file to make the lesson citable, generated from the IMLS Open Science project metadata.' --repo https://github.com/LibraryCarpentry/lc-dmp101
146-
cd ..
147-
rm -rf lc-dmp101
148-
echo '--------------------------------'
149-
150-
echo 'Processing lc-open-qualitative-research...
151-
gh repo fork https://github.com/LibraryCarpentry/lc-open-qualitative-research --clone --default-branch-only
152-
cd lc-open-qualitative-research || exit
153-
git checkout -b add-citation-cff
154-
cp '/Users/timdennis/websites/ucla-imls-open-sci.github.io/generated_citations/CITATION-open-qualitative-research-taguette.cff' CITATION.cff
155-
git add CITATION.cff
156-
git commit -m 'Docs: Add CITATION.cff file'
157-
git push -f -u origin add-citation-cff
158-
gh pr create --title 'Docs: Add CITATION.cff' --body 'This PR adds a CITATION.cff file to make the lesson citable, generated from the IMLS Open Science project metadata.' --repo https://github.com/LibraryCarpentry/lc-open-qualitative-research
159-
cd ..
160-
rm -rf lc-open-qualitative-research
161-
echo '--------------------------------'
162-
163-
echo 'Processing open-qualitative-research-qualcoder...
164-
gh repo fork https://github.com/LibraryCarpentry/open-qualitative-research-qualcoder --clone --default-branch-only
165-
cd open-qualitative-research-qualcoder || exit
166-
git checkout -b add-citation-cff
167-
cp '/Users/timdennis/websites/ucla-imls-open-sci.github.io/generated_citations/CITATION-open-qualitative-research-qualcoder.cff' CITATION.cff
168-
git add CITATION.cff
169-
git commit -m 'Docs: Add CITATION.cff file'
170-
git push -f -u origin add-citation-cff
171-
gh pr create --title 'Docs: Add CITATION.cff' --body 'This PR adds a CITATION.cff file to make the lesson citable, generated from the IMLS Open Science project metadata.' --repo https://github.com/LibraryCarpentry/open-qualitative-research-qualcoder
172-
cd ..
173-
rm -rf open-qualitative-research-qualcoder
174-
echo '--------------------------------'
175-
176-
echo 'Processing lc-reproducible-research...
177-
gh repo fork https://github.com/LibraryCarpentry/lc-reproducible-research --clone --default-branch-only
178-
cd lc-reproducible-research || exit
179-
git checkout -b add-citation-cff
180-
cp '/Users/timdennis/websites/ucla-imls-open-sci.github.io/generated_citations/CITATION-reproducible-research-workflows.cff' CITATION.cff
181-
git add CITATION.cff
182-
git commit -m 'Docs: Add CITATION.cff file'
183-
git push -f -u origin add-citation-cff
184-
gh pr create --title 'Docs: Add CITATION.cff' --body 'This PR adds a CITATION.cff file to make the lesson citable, generated from the IMLS Open Science project metadata.' --repo https://github.com/LibraryCarpentry/lc-reproducible-research
185-
cd ..
186-
rm -rf lc-reproducible-research
187-
echo '--------------------------------'
188-
189-
echo 'Processing lc-open-hw...
190-
gh repo fork https://github.com/ucla-imls-open-sci/lc-open-hw --clone --default-branch-only
191-
cd lc-open-hw || exit
192-
git checkout -b add-citation-cff
193-
cp '/Users/timdennis/websites/ucla-imls-open-sci.github.io/generated_citations/CITATION-open-science-hardware-an-introduction-for-librarians.cff' CITATION.cff
194-
git add CITATION.cff
195-
git commit -m 'Docs: Add CITATION.cff file'
196-
git push -f -u origin add-citation-cff
197-
gh pr create --title 'Docs: Add CITATION.cff' --body 'This PR adds a CITATION.cff file to make the lesson citable, generated from the IMLS Open Science project metadata.' --repo https://github.com/ucla-imls-open-sci/lc-open-hw
198-
cd ..
199-
rm -rf lc-open-hw
200-
echo '--------------------------------'
2012

3+
# Configuration
4+
GITHUB_ORG="ucla-imls-open-sci"
5+
GENERATED_DIR="generated_citations"
6+
7+
# Check if gh cli is installed
8+
if ! command -v gh &> /dev/null;
9+
then
10+
echo "Error: GitHub CLI (gh) is not installed."
11+
exit 1
12+
fi
13+
14+
# Ensure we are logged in
15+
if ! gh auth status &> /dev/null;
16+
then
17+
echo "Error: You are not logged in to GitHub CLI. Run 'gh auth login' first."
18+
exit 1
19+
fi
20+
21+
echo "Starting CITATION.cff PR creation process..."
22+
23+
# Iterate through generated CFF files
24+
for cff_file in "$GENERATED_DIR"/*.cff; do
25+
[ -e "$cff_file" ] || continue
26+
27+
# Extract repo name from filename (assuming format CITATION-repo-name.cff)
28+
# This matches the output format of our python script
29+
filename=$(basename "$cff_file")
30+
repo_name_with_prefix="${filename%.cff}"
31+
repo_name="${repo_name_with_prefix#CITATION-}"
32+
33+
# Special handling for known repos if naming doesn't match exactly
34+
# Ideally, generate_lesson_cffs.py should output exact repo names
35+
# For now, let's assume the python script does a good job of slugifying to match repo names
36+
# or we can maintain a mapping here if needed.
37+
38+
echo "Processing $repo_name..."
39+
40+
# Check if repo exists
41+
if ! gh repo view "$GITHUB_ORG/$repo_name" &> /dev/null;
42+
then
43+
echo " Warning: Repository $GITHUB_ORG/$repo_name not found. Skipping."
44+
continue
45+
fi
46+
47+
# Clone the repo to a temp directory
48+
temp_repo_dir="_temp_repos/$repo_name"
49+
if [ -d "$temp_repo_dir" ]; then
50+
rm -rf "$temp_repo_dir"
51+
fi
52+
53+
echo " Cloning $GITHUB_ORG/$repo_name..."
54+
gh repo clone "$GITHUB_ORG/$repo_name" "$temp_repo_dir" -- -q
55+
56+
# Copy the new CFF file
57+
cp "$cff_file" "$temp_repo_dir/CITATION.cff"
58+
59+
# Navigate to temp repo
60+
pushd "$temp_repo_dir" > /dev/null
61+
62+
# Check for changes
63+
if git diff --quiet CITATION.cff;
64+
then
65+
echo " No changes detected in CITATION.cff. Skipping."
66+
else
67+
# Create branch
68+
branch_name="update-citation-cff-$(date +%Y%m%d)"
69+
git checkout -b "$branch_name"
70+
71+
# Commit changes
72+
git add CITATION.cff
73+
git commit -m "chore: update CITATION.cff with latest metadata"
74+
75+
# Push branch
76+
git push origin "$branch_name"
77+
78+
# Create Pull Request
79+
gh pr create \
80+
--title "chore: update CITATION.cff metadata" \
81+
--body "This PR updates the CITATION.cff file with the latest metadata from the central website configuration. This ensures accurate citations for this lesson." \
82+
--base main \
83+
--head "$branch_name"
84+
85+
echo " Pull Request created successfully!"
86+
fi
87+
88+
# Cleanup
89+
popd > /dev/null
90+
rm -rf "$temp_repo_dir"
91+
done
92+
93+
echo "All PRs processed."

0 commit comments

Comments
 (0)