Skip to content

Commit 1fc957d

Browse files
authored
Migrate to Jekyll (#113)
Refactored the structure of every page into a shared layout with some nested includes. Refactored basic information about the organization into sitewide configuration variables. This is the bare minimum needed to migrate to Jekyll, without taking advantage of many of its features, for example, stable links, collections (a more manageable alternative to the project information loaded from a CSV at runtime), and reusable plugins. There’s also a lot of outdated information, broken links, and typos that I didn’t touch. If we decide to keep this site largely as it is, we can still optimize it further in subsequent PRs. Fixes #95 and fixes #111 and fixes #114.
1 parent 74b0b8b commit 1fc957d

19 files changed

+1424
-1659
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
.DS_Store
22
_site
33
.sass-cache
4+
.jekyll-cache
45
.jekyll-metadata
56
*.gem
67
.bundle

404.html

+4-9
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
---
2+
---
13
<!DOCTYPE html>
24
<html lang="en">
35

@@ -10,14 +12,7 @@
1012

1113
<link rel="stylesheet" href="./assets/css/404.min.css">
1214

13-
<!-- Global site tag (gtag.js) - Google Analytics -->
14-
<script async src="https://www.googletagmanager.com/gtag/js?id=G-26B6FB8T8P"></script>
15-
<script>
16-
window.dataLayer = window.dataLayer || [];
17-
function gtag(){dataLayer.push(arguments);}
18-
gtag('js', new Date());
19-
gtag('config', 'G-26B6FB8T8P');
20-
</script>
15+
{% include analytics.html %}
2116
</head>
2217

2318
<body>
@@ -29,4 +24,4 @@ <h1>Page not found</h1>
2924
</div>
3025
</body>
3126

32-
</html>
27+
</html>

Gemfile

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
source "https://rubygems.org"
2+
# To upgrade, run `bundle update github-pages`.
3+
gem "github-pages", group: :jekyll_plugins
4+
group :jekyll_plugins do
5+
gem "jekyll-feed", "~> 0.12"
6+
end
7+
8+
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
9+
# and associated library.
10+
platforms :mingw, :x64_mingw, :mswin, :jruby do
11+
gem "tzinfo", ">= 1", "< 3"
12+
gem "tzinfo-data"
13+
end
14+
15+
# Performance-booster for watching directories on Windows
16+
gem "wdm", "~> 0.1", :platforms => [:mingw, :x64_mingw, :mswin]
17+
18+
# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem
19+
# do not have a Java counterpart.
20+
gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby]

Gemfile.lock

+317
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,317 @@
1+
GEM
2+
remote: https://rubygems.org/
3+
specs:
4+
activesupport (8.0.1)
5+
base64
6+
benchmark (>= 0.3)
7+
bigdecimal
8+
concurrent-ruby (~> 1.0, >= 1.3.1)
9+
connection_pool (>= 2.2.5)
10+
drb
11+
i18n (>= 1.6, < 2)
12+
logger (>= 1.4.2)
13+
minitest (>= 5.1)
14+
securerandom (>= 0.3)
15+
tzinfo (~> 2.0, >= 2.0.5)
16+
uri (>= 0.13.1)
17+
addressable (2.8.7)
18+
public_suffix (>= 2.0.2, < 7.0)
19+
base64 (0.2.0)
20+
benchmark (0.4.0)
21+
bigdecimal (3.1.9)
22+
coffee-script (2.4.1)
23+
coffee-script-source
24+
execjs
25+
coffee-script-source (1.12.2)
26+
colorator (1.1.0)
27+
commonmarker (0.23.11)
28+
concurrent-ruby (1.3.5)
29+
connection_pool (2.5.0)
30+
csv (3.3.2)
31+
dnsruby (1.72.4)
32+
base64 (~> 0.2.0)
33+
logger (~> 1.6.5)
34+
simpleidn (~> 0.2.1)
35+
drb (2.2.1)
36+
em-websocket (0.5.3)
37+
eventmachine (>= 0.12.9)
38+
http_parser.rb (~> 0)
39+
ethon (0.16.0)
40+
ffi (>= 1.15.0)
41+
eventmachine (1.2.7)
42+
execjs (2.10.0)
43+
faraday (2.12.2)
44+
faraday-net_http (>= 2.0, < 3.5)
45+
json
46+
logger
47+
faraday-net_http (3.4.0)
48+
net-http (>= 0.5.0)
49+
ffi (1.17.1)
50+
ffi (1.17.1-aarch64-linux-gnu)
51+
ffi (1.17.1-aarch64-linux-musl)
52+
ffi (1.17.1-arm-linux-gnu)
53+
ffi (1.17.1-arm-linux-musl)
54+
ffi (1.17.1-arm64-darwin)
55+
ffi (1.17.1-x86-linux-gnu)
56+
ffi (1.17.1-x86-linux-musl)
57+
ffi (1.17.1-x86_64-darwin)
58+
ffi (1.17.1-x86_64-linux-gnu)
59+
ffi (1.17.1-x86_64-linux-musl)
60+
forwardable-extended (2.6.0)
61+
gemoji (4.1.0)
62+
github-pages (232)
63+
github-pages-health-check (= 1.18.2)
64+
jekyll (= 3.10.0)
65+
jekyll-avatar (= 0.8.0)
66+
jekyll-coffeescript (= 1.2.2)
67+
jekyll-commonmark-ghpages (= 0.5.1)
68+
jekyll-default-layout (= 0.1.5)
69+
jekyll-feed (= 0.17.0)
70+
jekyll-gist (= 1.5.0)
71+
jekyll-github-metadata (= 2.16.1)
72+
jekyll-include-cache (= 0.2.1)
73+
jekyll-mentions (= 1.6.0)
74+
jekyll-optional-front-matter (= 0.3.2)
75+
jekyll-paginate (= 1.1.0)
76+
jekyll-readme-index (= 0.3.0)
77+
jekyll-redirect-from (= 0.16.0)
78+
jekyll-relative-links (= 0.6.1)
79+
jekyll-remote-theme (= 0.4.3)
80+
jekyll-sass-converter (= 1.5.2)
81+
jekyll-seo-tag (= 2.8.0)
82+
jekyll-sitemap (= 1.4.0)
83+
jekyll-swiss (= 1.0.0)
84+
jekyll-theme-architect (= 0.2.0)
85+
jekyll-theme-cayman (= 0.2.0)
86+
jekyll-theme-dinky (= 0.2.0)
87+
jekyll-theme-hacker (= 0.2.0)
88+
jekyll-theme-leap-day (= 0.2.0)
89+
jekyll-theme-merlot (= 0.2.0)
90+
jekyll-theme-midnight (= 0.2.0)
91+
jekyll-theme-minimal (= 0.2.0)
92+
jekyll-theme-modernist (= 0.2.0)
93+
jekyll-theme-primer (= 0.6.0)
94+
jekyll-theme-slate (= 0.2.0)
95+
jekyll-theme-tactile (= 0.2.0)
96+
jekyll-theme-time-machine (= 0.2.0)
97+
jekyll-titles-from-headings (= 0.5.3)
98+
jemoji (= 0.13.0)
99+
kramdown (= 2.4.0)
100+
kramdown-parser-gfm (= 1.1.0)
101+
liquid (= 4.0.4)
102+
mercenary (~> 0.3)
103+
minima (= 2.5.1)
104+
nokogiri (>= 1.16.2, < 2.0)
105+
rouge (= 3.30.0)
106+
terminal-table (~> 1.4)
107+
webrick (~> 1.8)
108+
github-pages-health-check (1.18.2)
109+
addressable (~> 2.3)
110+
dnsruby (~> 1.60)
111+
octokit (>= 4, < 8)
112+
public_suffix (>= 3.0, < 6.0)
113+
typhoeus (~> 1.3)
114+
html-pipeline (2.14.3)
115+
activesupport (>= 2)
116+
nokogiri (>= 1.4)
117+
http_parser.rb (0.8.0)
118+
i18n (1.14.7)
119+
concurrent-ruby (~> 1.0)
120+
jekyll (3.10.0)
121+
addressable (~> 2.4)
122+
colorator (~> 1.0)
123+
csv (~> 3.0)
124+
em-websocket (~> 0.5)
125+
i18n (>= 0.7, < 2)
126+
jekyll-sass-converter (~> 1.0)
127+
jekyll-watch (~> 2.0)
128+
kramdown (>= 1.17, < 3)
129+
liquid (~> 4.0)
130+
mercenary (~> 0.3.3)
131+
pathutil (~> 0.9)
132+
rouge (>= 1.7, < 4)
133+
safe_yaml (~> 1.0)
134+
webrick (>= 1.0)
135+
jekyll-avatar (0.8.0)
136+
jekyll (>= 3.0, < 5.0)
137+
jekyll-coffeescript (1.2.2)
138+
coffee-script (~> 2.2)
139+
coffee-script-source (~> 1.12)
140+
jekyll-commonmark (1.4.0)
141+
commonmarker (~> 0.22)
142+
jekyll-commonmark-ghpages (0.5.1)
143+
commonmarker (>= 0.23.7, < 1.1.0)
144+
jekyll (>= 3.9, < 4.0)
145+
jekyll-commonmark (~> 1.4.0)
146+
rouge (>= 2.0, < 5.0)
147+
jekyll-default-layout (0.1.5)
148+
jekyll (>= 3.0, < 5.0)
149+
jekyll-feed (0.17.0)
150+
jekyll (>= 3.7, < 5.0)
151+
jekyll-gist (1.5.0)
152+
octokit (~> 4.2)
153+
jekyll-github-metadata (2.16.1)
154+
jekyll (>= 3.4, < 5.0)
155+
octokit (>= 4, < 7, != 4.4.0)
156+
jekyll-include-cache (0.2.1)
157+
jekyll (>= 3.7, < 5.0)
158+
jekyll-mentions (1.6.0)
159+
html-pipeline (~> 2.3)
160+
jekyll (>= 3.7, < 5.0)
161+
jekyll-optional-front-matter (0.3.2)
162+
jekyll (>= 3.0, < 5.0)
163+
jekyll-paginate (1.1.0)
164+
jekyll-readme-index (0.3.0)
165+
jekyll (>= 3.0, < 5.0)
166+
jekyll-redirect-from (0.16.0)
167+
jekyll (>= 3.3, < 5.0)
168+
jekyll-relative-links (0.6.1)
169+
jekyll (>= 3.3, < 5.0)
170+
jekyll-remote-theme (0.4.3)
171+
addressable (~> 2.0)
172+
jekyll (>= 3.5, < 5.0)
173+
jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0)
174+
rubyzip (>= 1.3.0, < 3.0)
175+
jekyll-sass-converter (1.5.2)
176+
sass (~> 3.4)
177+
jekyll-seo-tag (2.8.0)
178+
jekyll (>= 3.8, < 5.0)
179+
jekyll-sitemap (1.4.0)
180+
jekyll (>= 3.7, < 5.0)
181+
jekyll-swiss (1.0.0)
182+
jekyll-theme-architect (0.2.0)
183+
jekyll (> 3.5, < 5.0)
184+
jekyll-seo-tag (~> 2.0)
185+
jekyll-theme-cayman (0.2.0)
186+
jekyll (> 3.5, < 5.0)
187+
jekyll-seo-tag (~> 2.0)
188+
jekyll-theme-dinky (0.2.0)
189+
jekyll (> 3.5, < 5.0)
190+
jekyll-seo-tag (~> 2.0)
191+
jekyll-theme-hacker (0.2.0)
192+
jekyll (> 3.5, < 5.0)
193+
jekyll-seo-tag (~> 2.0)
194+
jekyll-theme-leap-day (0.2.0)
195+
jekyll (> 3.5, < 5.0)
196+
jekyll-seo-tag (~> 2.0)
197+
jekyll-theme-merlot (0.2.0)
198+
jekyll (> 3.5, < 5.0)
199+
jekyll-seo-tag (~> 2.0)
200+
jekyll-theme-midnight (0.2.0)
201+
jekyll (> 3.5, < 5.0)
202+
jekyll-seo-tag (~> 2.0)
203+
jekyll-theme-minimal (0.2.0)
204+
jekyll (> 3.5, < 5.0)
205+
jekyll-seo-tag (~> 2.0)
206+
jekyll-theme-modernist (0.2.0)
207+
jekyll (> 3.5, < 5.0)
208+
jekyll-seo-tag (~> 2.0)
209+
jekyll-theme-primer (0.6.0)
210+
jekyll (> 3.5, < 5.0)
211+
jekyll-github-metadata (~> 2.9)
212+
jekyll-seo-tag (~> 2.0)
213+
jekyll-theme-slate (0.2.0)
214+
jekyll (> 3.5, < 5.0)
215+
jekyll-seo-tag (~> 2.0)
216+
jekyll-theme-tactile (0.2.0)
217+
jekyll (> 3.5, < 5.0)
218+
jekyll-seo-tag (~> 2.0)
219+
jekyll-theme-time-machine (0.2.0)
220+
jekyll (> 3.5, < 5.0)
221+
jekyll-seo-tag (~> 2.0)
222+
jekyll-titles-from-headings (0.5.3)
223+
jekyll (>= 3.3, < 5.0)
224+
jekyll-watch (2.2.1)
225+
listen (~> 3.0)
226+
jemoji (0.13.0)
227+
gemoji (>= 3, < 5)
228+
html-pipeline (~> 2.2)
229+
jekyll (>= 3.0, < 5.0)
230+
json (2.10.1)
231+
kramdown (2.4.0)
232+
rexml
233+
kramdown-parser-gfm (1.1.0)
234+
kramdown (~> 2.0)
235+
liquid (4.0.4)
236+
listen (3.9.0)
237+
rb-fsevent (~> 0.10, >= 0.10.3)
238+
rb-inotify (~> 0.9, >= 0.9.10)
239+
logger (1.6.6)
240+
mercenary (0.3.6)
241+
minima (2.5.1)
242+
jekyll (>= 3.5, < 5.0)
243+
jekyll-feed (~> 0.9)
244+
jekyll-seo-tag (~> 2.1)
245+
minitest (5.25.4)
246+
net-http (0.6.0)
247+
uri
248+
nokogiri (1.18.3-arm64-darwin)
249+
racc (~> 1.4)
250+
octokit (4.25.1)
251+
faraday (>= 1, < 3)
252+
sawyer (~> 0.9)
253+
pathutil (0.16.2)
254+
forwardable-extended (~> 2.6)
255+
public_suffix (5.1.1)
256+
racc (1.8.1)
257+
rb-fsevent (0.11.2)
258+
rb-inotify (0.11.1)
259+
ffi (~> 1.0)
260+
rexml (3.4.1)
261+
rouge (3.30.0)
262+
rubyzip (2.4.1)
263+
safe_yaml (1.0.5)
264+
sass (3.7.4)
265+
sass-listen (~> 4.0.0)
266+
sass-listen (4.0.0)
267+
rb-fsevent (~> 0.9, >= 0.9.4)
268+
rb-inotify (~> 0.9, >= 0.9.7)
269+
sawyer (0.9.2)
270+
addressable (>= 2.3.5)
271+
faraday (>= 0.17.3, < 3)
272+
securerandom (0.4.1)
273+
simpleidn (0.2.3)
274+
terminal-table (1.8.0)
275+
unicode-display_width (~> 1.1, >= 1.1.1)
276+
typhoeus (1.4.1)
277+
ethon (>= 0.9.0)
278+
tzinfo (2.0.6)
279+
concurrent-ruby (~> 1.0)
280+
unicode-display_width (1.8.0)
281+
uri (1.0.3)
282+
webrick (1.9.1)
283+
284+
PLATFORMS
285+
aarch64-linux
286+
aarch64-linux-android
287+
aarch64-linux-gnu
288+
aarch64-linux-musl
289+
arm-linux-androideabi
290+
arm-linux-gnu
291+
arm-linux-gnueabihf
292+
arm-linux-musl
293+
arm-linux-musleabihf
294+
arm64-darwin
295+
riscv64-linux-android
296+
riscv64-linux-gnu
297+
riscv64-linux-musl
298+
ruby
299+
x86-linux
300+
x86-linux-gnu
301+
x86-linux-musl
302+
x86_64-darwin
303+
x86_64-linux
304+
x86_64-linux-android
305+
x86_64-linux-gnu
306+
x86_64-linux-musl
307+
308+
DEPENDENCIES
309+
github-pages
310+
http_parser.rb (~> 0.6.0)
311+
jekyll-feed (~> 0.12)
312+
tzinfo (>= 1, < 3)
313+
tzinfo-data
314+
wdm (~> 0.1)
315+
316+
BUNDLED WITH
317+
2.6.5

README.md

+7-1
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,17 @@ For set up, open the command line and run the following code.
1919
3. **Change Branch** moves to the redesign branch so your work is committed to the right place.
2020
`git checkout 2020_redesign`
2121

22-
4. Open your browser and enter the path to this file:
22+
4. [Install and build the site with Jekyll](https://docs.github.com/en/pages/setting-up-a-github-pages-site-with-jekyll/testing-your-github-pages-site-locally-with-jekyll):
23+
```bash
24+
bundle exec jekyll serve
25+
```
26+
27+
5. Open your browser and enter the path to this file:
2328
`codeforsanjose.github.io/index.html`
2429

2530
## Technologies
2631

32+
- [Jekyll](https://jekyllrb.com/)
2733
- HTML
2834
- SASS/CSS
2935
- JavaScript

0 commit comments

Comments
 (0)