Skip to content

Commit a594e78

Browse files
committed
add workshop pages
1 parent b8c2a5e commit a594e78

File tree

66 files changed

+2702
-1268
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+2702
-1268
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: Update Workshop Catalog from Google Sheets
2+
3+
on:
4+
schedule:
5+
# Run daily at 9 AM UTC (2 AM PST)
6+
- cron: '0 9 * * *'
7+
workflow_dispatch: # Allow manual triggering
8+
9+
jobs:
10+
update-catalog:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Checkout repository
15+
uses: actions/checkout@v3
16+
with:
17+
token: ${{ secrets.GITHUB_TOKEN }}
18+
19+
- name: Set up Python
20+
uses: actions/setup-python@v4
21+
with:
22+
python-version: '3.9'
23+
24+
- name: Install dependencies
25+
run: |
26+
python -m pip install --upgrade pip
27+
pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client pyyaml
28+
29+
- name: Fetch workshop catalog from Google Sheets
30+
env:
31+
GOOGLE_WORKSHOPS_SHEET_ID: ${{ secrets.GOOGLE_WORKSHOPS_SHEET_ID }}
32+
GOOGLE_SERVICE_ACCOUNT_KEY: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_KEY }}
33+
run: |
34+
python scripts/fetch_workshop_catalog.py
35+
36+
- name: Generate workshop pages for new workshops
37+
run: |
38+
python scripts/generate_workshop_pages.py
39+
40+
- name: Commit and push changes
41+
run: |
42+
git config --local user.email "action@github.com"
43+
git config --local user.name "GitHub Action"
44+
git add _data/workshops.yml workshop/
45+
if git diff --staged --quiet; then
46+
echo "No changes to commit"
47+
else
48+
git commit -m "Update workshop catalog and generate new workshop pages [skip ci]"
49+
git push
50+
fi

Gemfile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ gem "rexml", ">= 3.3.6"
2323
gem "addressable", ">= 2.8.6"
2424
gem "webrick", ">= 1.8.2"
2525

26+
# Ruby 3.4 compatibility
27+
gem "csv"
28+
gem "logger"
29+
gem "base64"
30+
2631
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
2732
# and associated library.
2833
platforms :mingw, :x64_mingw, :mswin, :jruby do

Gemfile.lock

Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
GEM
2+
remote: https://rubygems.org/
3+
specs:
4+
addressable (2.8.7)
5+
public_suffix (>= 2.0.2, < 7.0)
6+
base64 (0.3.0)
7+
bigdecimal (3.2.2)
8+
colorator (1.1.0)
9+
concurrent-ruby (1.3.5)
10+
csv (3.3.5)
11+
em-websocket (0.5.3)
12+
eventmachine (>= 0.12.9)
13+
http_parser.rb (~> 0)
14+
eventmachine (1.2.7)
15+
ffi (1.17.2)
16+
ffi (1.17.2-aarch64-linux-gnu)
17+
ffi (1.17.2-aarch64-linux-musl)
18+
ffi (1.17.2-arm-linux-gnu)
19+
ffi (1.17.2-arm-linux-musl)
20+
ffi (1.17.2-arm64-darwin)
21+
ffi (1.17.2-x86-linux-gnu)
22+
ffi (1.17.2-x86-linux-musl)
23+
ffi (1.17.2-x86_64-darwin)
24+
ffi (1.17.2-x86_64-linux-gnu)
25+
ffi (1.17.2-x86_64-linux-musl)
26+
forwardable-extended (2.6.0)
27+
google-protobuf (4.31.1)
28+
bigdecimal
29+
rake (>= 13)
30+
google-protobuf (4.31.1-aarch64-linux-gnu)
31+
bigdecimal
32+
rake (>= 13)
33+
google-protobuf (4.31.1-aarch64-linux-musl)
34+
bigdecimal
35+
rake (>= 13)
36+
google-protobuf (4.31.1-arm64-darwin)
37+
bigdecimal
38+
rake (>= 13)
39+
google-protobuf (4.31.1-x86-linux-gnu)
40+
bigdecimal
41+
rake (>= 13)
42+
google-protobuf (4.31.1-x86-linux-musl)
43+
bigdecimal
44+
rake (>= 13)
45+
google-protobuf (4.31.1-x86_64-darwin)
46+
bigdecimal
47+
rake (>= 13)
48+
google-protobuf (4.31.1-x86_64-linux-gnu)
49+
bigdecimal
50+
rake (>= 13)
51+
google-protobuf (4.31.1-x86_64-linux-musl)
52+
bigdecimal
53+
rake (>= 13)
54+
http_parser.rb (0.8.0)
55+
i18n (1.14.7)
56+
concurrent-ruby (~> 1.0)
57+
jekyll (4.3.4)
58+
addressable (~> 2.4)
59+
colorator (~> 1.0)
60+
em-websocket (~> 0.5)
61+
i18n (~> 1.0)
62+
jekyll-sass-converter (>= 2.0, < 4.0)
63+
jekyll-watch (~> 2.0)
64+
kramdown (~> 2.3, >= 2.3.1)
65+
kramdown-parser-gfm (~> 1.0)
66+
liquid (~> 4.0)
67+
mercenary (>= 0.3.6, < 0.5)
68+
pathutil (~> 0.9)
69+
rouge (>= 3.0, < 5.0)
70+
safe_yaml (~> 1.0)
71+
terminal-table (>= 1.8, < 4.0)
72+
webrick (~> 1.7)
73+
jekyll-feed (0.17.0)
74+
jekyll (>= 3.7, < 5.0)
75+
jekyll-sass-converter (3.1.0)
76+
sass-embedded (~> 1.75)
77+
jekyll-seo-tag (2.8.0)
78+
jekyll (>= 3.8, < 5.0)
79+
jekyll-watch (2.2.1)
80+
listen (~> 3.0)
81+
kramdown (2.5.1)
82+
rexml (>= 3.3.9)
83+
kramdown-parser-gfm (1.1.0)
84+
kramdown (~> 2.0)
85+
liquid (4.0.4)
86+
listen (3.9.0)
87+
rb-fsevent (~> 0.10, >= 0.10.3)
88+
rb-inotify (~> 0.9, >= 0.9.10)
89+
logger (1.7.0)
90+
mercenary (0.4.0)
91+
minima (2.5.2)
92+
jekyll (>= 3.5, < 5.0)
93+
jekyll-feed (~> 0.9)
94+
jekyll-seo-tag (~> 2.1)
95+
pathutil (0.16.2)
96+
forwardable-extended (~> 2.6)
97+
public_suffix (6.0.2)
98+
rake (13.3.0)
99+
rb-fsevent (0.11.2)
100+
rb-inotify (0.11.1)
101+
ffi (~> 1.0)
102+
rexml (3.4.1)
103+
rouge (4.6.0)
104+
safe_yaml (1.0.5)
105+
sass-embedded (1.89.2)
106+
google-protobuf (~> 4.31)
107+
rake (>= 13)
108+
sass-embedded (1.89.2-aarch64-linux-android)
109+
google-protobuf (~> 4.31)
110+
sass-embedded (1.89.2-aarch64-linux-gnu)
111+
google-protobuf (~> 4.31)
112+
sass-embedded (1.89.2-aarch64-linux-musl)
113+
google-protobuf (~> 4.31)
114+
sass-embedded (1.89.2-arm-linux-androideabi)
115+
google-protobuf (~> 4.31)
116+
sass-embedded (1.89.2-arm-linux-gnueabihf)
117+
google-protobuf (~> 4.31)
118+
sass-embedded (1.89.2-arm-linux-musleabihf)
119+
google-protobuf (~> 4.31)
120+
sass-embedded (1.89.2-arm64-darwin)
121+
google-protobuf (~> 4.31)
122+
sass-embedded (1.89.2-riscv64-linux-android)
123+
google-protobuf (~> 4.31)
124+
sass-embedded (1.89.2-riscv64-linux-gnu)
125+
google-protobuf (~> 4.31)
126+
sass-embedded (1.89.2-riscv64-linux-musl)
127+
google-protobuf (~> 4.31)
128+
sass-embedded (1.89.2-x86_64-darwin)
129+
google-protobuf (~> 4.31)
130+
sass-embedded (1.89.2-x86_64-linux-android)
131+
google-protobuf (~> 4.31)
132+
sass-embedded (1.89.2-x86_64-linux-gnu)
133+
google-protobuf (~> 4.31)
134+
sass-embedded (1.89.2-x86_64-linux-musl)
135+
google-protobuf (~> 4.31)
136+
terminal-table (3.0.2)
137+
unicode-display_width (>= 1.1.1, < 3)
138+
unicode-display_width (2.6.0)
139+
webrick (1.9.1)
140+
141+
PLATFORMS
142+
aarch64-linux-android
143+
aarch64-linux-gnu
144+
aarch64-linux-musl
145+
arm-linux-androideabi
146+
arm-linux-gnu
147+
arm-linux-gnueabihf
148+
arm-linux-musl
149+
arm-linux-musleabihf
150+
arm64-darwin
151+
riscv64-linux-android
152+
riscv64-linux-gnu
153+
riscv64-linux-musl
154+
ruby
155+
x86-linux-gnu
156+
x86-linux-musl
157+
x86_64-darwin
158+
x86_64-linux-android
159+
x86_64-linux-gnu
160+
x86_64-linux-musl
161+
162+
DEPENDENCIES
163+
addressable (>= 2.8.6)
164+
base64
165+
csv
166+
http_parser.rb (~> 0.6.0)
167+
jekyll (~> 4.3.2)
168+
jekyll-feed (~> 0.12)
169+
logger
170+
minima (~> 2.5)
171+
rexml (>= 3.3.6)
172+
tzinfo (>= 1, < 3)
173+
tzinfo-data
174+
wdm (~> 0.1.1)
175+
webrick (>= 1.8.2)
176+
177+
BUNDLED WITH
178+
2.7.1

R.html

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,35 @@
11
---
22
layout: default
3-
title: R Workshops
4-
permalink: /R
3+
title: R Workshops - D-Lab
54
---
65

7-
<div class="container mt-5 pt-5">
8-
<div class="row mb-3">
6+
<div class="container" style="margin-top: 70px;">
7+
<div class="row mb-4">
98
<div class="col-12">
10-
<a href="index.html" class="btn btn-secondary">
11-
<i class="fas fa-arrow-left"></i> Back to Home
12-
</a>
9+
<nav aria-label="breadcrumb">
10+
<ol class="breadcrumb">
11+
<li class="breadcrumb-item"><a href="index.html">Home</a></li>
12+
<li class="breadcrumb-item active" aria-current="page">R Workshops</li>
13+
</ol>
14+
</nav>
1315
</div>
1416
</div>
15-
<div class="row">
17+
18+
<div class="row mb-4">
1619
<div class="col-12">
17-
<h1 class="mb-4">R Workshops</h1>
18-
<p class="lead">Master R programming for statistical analysis, data visualization, and machine learning.</p>
19-
20-
<div class="mb-4">
21-
<span class="badge badge-success">Introductory</span>
22-
<span class="badge badge-warning">Intermediate</span>
23-
<span class="badge badge-danger">Advanced</span>
20+
<div class="d-flex align-items-center">
21+
<i class="fab fa-r-project me-3" style="font-size: 2.5rem; color: #276DC3;"></i>
22+
<div>
23+
<h1 class="mb-0">R Workshops</h1>
24+
<p class="text-muted mb-0">Learn R programming for data analysis and statistics</p>
25+
</div>
2426
</div>
2527
</div>
2628
</div>
27-
28-
{% include workshop-list-sorted.html category='r' %}
29-
30-
<div class="row mt-4">
31-
<div class="col-12">
32-
<h2>Learning Path</h2>
33-
<p>Not sure where to start? Check out our <a href="R_path">R Learning Path</a> for a guided journey through our R workshops.</p>
34-
</div>
35-
</div>
29+
30+
{% assign include_category = "r" %}
31+
{% assign pathway_url = "R_path.html" %}
32+
{% assign pathway_title = "View R Learning Pathways" %}
33+
{% include workshop-list-with-pathways.html category=include_category pathway_url=pathway_url pathway_title=pathway_title %}
34+
3635
</div>

0 commit comments

Comments
 (0)