Skip to content

Commit 289d2df

Browse files
authored
Initial commit
0 parents  commit 289d2df

23 files changed

+1342
-0
lines changed

.github/workflows/deploy.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Build and Deploy to GitHub Pages
2+
3+
on:
4+
# Auto-run when gh-pages branch is updated.
5+
push:
6+
branches: ["gh-pages"]
7+
# Or we can mangually run it.
8+
workflow_dispatch:
9+
10+
# GITHUB_TOKEN stuff for deployment to GitHub Pages
11+
permissions:
12+
contents: read
13+
pages: write
14+
id-token: write
15+
16+
# If there's a stack of queued workflows, only run the latest.
17+
concurrency:
18+
group: "pages"
19+
cancel-in-progress: false
20+
21+
jobs:
22+
# Build job
23+
build:
24+
runs-on: ubuntu-latest
25+
steps:
26+
- name: Checking out repository
27+
uses: actions/checkout@v4
28+
- name: Setting up pages
29+
uses: actions/configure-pages@v5
30+
- name: Building with Jekyll
31+
uses: actions/jekyll-build-pages@v1
32+
with:
33+
source: ./
34+
destination: ./_site
35+
- name: Uploading artifacts
36+
uses: actions/upload-pages-artifact@v3
37+
# Deployment job
38+
deploy:
39+
environment:
40+
name: github-pages
41+
url: ${{ steps.deployment.outputs.page_url }}
42+
runs-on: ubuntu-latest
43+
needs: build
44+
steps:
45+
- name: Deploy to GitHub Pages
46+
id: deployment
47+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
_site/
2+
.sass-cache/
3+
.jekyll-cache/
4+
.jekyll-metadata
5+
# Ignore folders generated by Bundler
6+
.bundle/
7+
vendor/
8+
9+
Gemfile.lock

Gemfile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
source "https://rubygems.org"
2+
gem "jekyll"
3+
gem "jekyll-sass-converter"
4+
gem "jekyll-remote-theme"
5+
gem "jekyll-sitemap"
6+
gem "jekyll-feed"
7+
gem "jekyll-seo-tag"

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# The AI ABCs Course Website Template
2+
3+
This repository contains the template of the course websites for the A.I. ABCs
4+
workshop. You should be able to use this repository as a template and edit the
5+
`_config.yml` configuration to build a course website for the A.I. ABCs.
6+
7+
This repository is intended for use within the eScience Institute. If you
8+
intend to use this repository to run a course outside of eScience, you will
9+
need to edit the individual pages; for example, the `code-of-conduct.md` page
10+
contains eScience-specific information.
11+
12+

_config.yml

Lines changed: 206 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,206 @@
1+
# Configuration ###############################################################
2+
#
3+
# This file contains the configuration of the AI ABCs course webpage!
4+
# The first section contains items that either must or should be filled out for
5+
# each workshop; the remainder of the file contains items that should probably
6+
# not be changed.
7+
8+
# Always Edit -----------------------------------------------------------------
9+
#
10+
# Most of the configuration items in this section need to be updated for
11+
# every workshop website. It is recommended that you go through each of these
12+
# each time you use the template.
13+
14+
# The base URL of the github IO page.
15+
# This should be the name of this github repository preceded by a /
16+
# character. For example, for the repo located at
17+
# https://github.com/uwescience/ai-abcs_2025-10-27, this would be:
18+
# baseurl: /ai-abcs_2025-10-27
19+
baseurl: FIX ME
20+
21+
# The course contact email.
22+
# This is currently only listed on the code-of-conduct page as one of the ways
23+
# to report a CoC violation.
24+
# Please note, however, that if you are running a workshop outside of eScience
25+
# you need to manually change the code-of-conduct.md page to reflect your
26+
# code of conduct and reporting mechanisms.
27+
contact:
28+
name: FIX ME
29+
email: FIX ME
30+
31+
# The dates of the course in plain language.
32+
# For example, the pilot AI ABC's program used this datestring:
33+
# datestring: Oct. 27–30 (Mon.–Thu.), 2025
34+
datesstring: FIX ME
35+
36+
# The verbose start date of the course in plain language.
37+
# For example, Monday October 27th.
38+
firstdate: FIX ME
39+
40+
# The verbose last date of the course in plain language.
41+
# For example, Thursday October 30th.
42+
lastdate: FIX ME
43+
44+
# The attendance modality the course is using.
45+
# This can be any of the following:
46+
# attendance: online
47+
# attendance: in-person
48+
# attendance: hybrid
49+
attendance: in-person
50+
51+
# Instructors.
52+
# This should be a list of each instructor, including email addresses, github
53+
# ID, and a photo URL; all of these are optional. If photo is excluded but
54+
# github is included, the github profile picture is used.
55+
# There's no photo in the example, but note that for a photo, it needs to be
56+
# a full https://... URL; if you use a local URL, it needs to start with
57+
# /<baseurl>, e.g., /ai-abcs_2025-10-27/images/logo.svg, not images/logo.svg.
58+
instructors:
59+
- name: Noah C. Benson
60+
url: https://nben.net/
61+
div: eScience Institute
62+
org: University of Washington
63+
email: nben@uw.edu
64+
github: noahbenson
65+
# - name: second instructor name
66+
# email: instructor2@uw.edu
67+
# github: instructor2
68+
69+
# Helpers
70+
# This should be a list of helpers just like the instructors list. If empty,
71+
# it won't be included.
72+
helpers:
73+
74+
# Administrators
75+
# This should be a list of administrators just like the instructors and helpers
76+
# lists. If empty, it won't be included.
77+
admin:
78+
79+
# Registration information
80+
# The cost of the event and the link to a site where they can register.
81+
registration:
82+
cost: $10.00
83+
link: FIX ME
84+
85+
86+
# Sometimes Edit --------------------------------------------------------------
87+
#
88+
# These configuration items probably don't need to change every time, but they
89+
# get changed sometimes.
90+
91+
# The time of the course.
92+
# For example, the pilot AI ABC's program used this timestring, which is when
93+
# we do most of our SWC-like workshops:
94+
# timestring: 9:00am&ndash;noon
95+
timestring: 9:00&ndash;noon
96+
97+
# The physical location where the workshop is being held.
98+
# If blank, no location will be given (for example, if you want to send the
99+
# location only after registration).
100+
location: |
101+
the WRF Data Science Studio on the 6th floor of the Physics/Astronomy Tower
102+
at the University of Washington
103+
104+
# A google-map link to the location, if desired.
105+
# If blank, no link is included.
106+
loclink: https://maps.app.goo.gl/RMzp9vGYJ4XfXv7d8
107+
108+
109+
# Rarely Edit -----------------------------------------------------------------
110+
#
111+
# If you're using this template outside of UW eScience, then you will likely
112+
# need to edit several of these, and you may want to create your own fork of
113+
# this template repo with your custom values.
114+
# Otherwise, these configuration items might occasionally need to be updated,
115+
# but they probably don't need to be updated for a typical workshop (at least
116+
# for UW eScience).
117+
118+
# The name used in the title of the webpage.
119+
title: The A.I. ABCs
120+
121+
# The URL of the AI ABCs Jupyter Book.
122+
bookurl: https://noahbenson.github.io/AI-ABCs
123+
124+
# The name of the department/division that is putting on the workshop. You can
125+
# leave this blank to exclude mention of a department.
126+
# div_name: the Department of Data Science
127+
divname: the eScience Institute
128+
129+
# The URL of the department/division. If blank, there won't be a link in the
130+
# footer for the division name.
131+
divurl: https://escience.washington.edu/
132+
133+
# The logo of the department/division. If blank, then this won't be included
134+
# in the footer of the website. This must be a file in this repository, and
135+
# the address should be relative to the baseurl. For example, if the cloned
136+
# github repo is uwescience/ai-abcs_2025-10-27 and the file is in the repo as
137+
# /_static/logo.svg, then this setting should be _static/logo.svg, and the
138+
# logo file will be publicly exposed as
139+
# https://uwescience.github.io/ai-abcs_2025-10-27/_static/logo.svg---in other
140+
# words, don't include the ai-abcs_2025-10-27 in this address.
141+
divlogo: images/escience-logo.png
142+
143+
# The name of the organization that is putting on the workshop. You can leave
144+
# this blank to exclude mention of an organization. If you provide only one of
145+
# the divname and the orgname, it will use that one; if you provide neither,
146+
# then no sponsor is noted.
147+
orgname: the University of Washington
148+
149+
# The URL for the organization.
150+
orgurl: https://washington.edu/
151+
152+
# The logo of the organization. See the comments on the divlogo setting above
153+
# for information on how to specify this.
154+
orglogo: images/washington-logo.png
155+
156+
# The URL for this website (Used for Sitemap.xml).
157+
url: http://uwescience.github.io
158+
159+
# URL for the AI ABCs logo/avatar image.
160+
avatar: https://noahbenson.github.io/AI-ABCs/_static/logo.svg
161+
162+
# The theme we use:
163+
remote_theme: pages-themes/cayman@v0.2.0
164+
show_downloads: false
165+
166+
# Enter a Google Analytics web tracking code (e.g. UA-2110908-2) to activate
167+
# tracking.
168+
google_analytics:
169+
170+
171+
# Static Configuration --------------------------------------------------------
172+
#
173+
# Don't change the items below this line unless you know what you're doing.
174+
175+
permalink: /:title/
176+
177+
# The release of Jekyll Now that you're using
178+
version: v3.1.0
179+
180+
# Jekyll 3 now only supports Kramdown for Markdown
181+
kramdown:
182+
# Use GitHub flavored markdown, including triple backtick fenced code blocks
183+
input: GFM
184+
# Jekyll 3 and GitHub Pages now only support rouge for syntax highlighting
185+
syntax_highlighter: rouge
186+
syntax_highlighter_opts:
187+
# Use existing pygments syntax highlighting css
188+
css_class: 'highlight'
189+
190+
# Set the Sass partials directory, as we're using @imports
191+
sass:
192+
style: :expanded # You might prefer to minify using :compressed
193+
194+
# Use the following plug-ins
195+
plugins:
196+
- jekyll-sitemap # Create a sitemap using the official Jekyll sitemap gem
197+
- jekyll-feed # Create an Atom feed using the official Jekyll feed gem
198+
- jekyll-remote-theme
199+
200+
# Exclude these files from your production _site
201+
exclude:
202+
- Gemfile
203+
- Gemfile.lock
204+
- LICENSE
205+
- README.md
206+
- CNAME

_includes/analytics.html

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{% if site.google_analytics %}
2+
<!-- Google Analytics -->
3+
<script>
4+
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
5+
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
6+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
7+
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
8+
9+
ga('create', '{{ site.google_analytics }}', 'auto');
10+
ga('send', 'pageview', {
11+
'page': '{{ site.baseurl }}{{ page.url }}',
12+
'title': '{{ page.title | replace: "'", "\\'" }}'
13+
});
14+
</script>
15+
<!-- End Google Analytics -->
16+
{% endif %}

_includes/meta.html

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<meta charset="utf-8" />
2+
<meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
3+
<meta http-equiv='X-UA-Compatible' content='IE=edge'>
4+
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0'>
5+
6+
{% if page.excerpt %}
7+
<meta name="description" content="{{ page.excerpt| strip_html }}" />
8+
<meta property="og:description" content="{{ page.excerpt| strip_html }}" />
9+
{% else %}
10+
<meta name="description" content="{{ site.description }}">
11+
<meta property="og:description" content="{{ site.description }}" />
12+
{% endif %}
13+
14+
<meta name="author" content="{{ site.title }}" />
15+
16+
{% if page.title %}
17+
<meta property="og:title" content="{{ page.title }}" />
18+
<meta property="twitter:title" content="{{ page.title }}" />
19+
{% endif %}

_includes/scripts.html

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
2+
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
3+
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
4+
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
5+
6+
<script>
7+
$(function() {
8+
$( ".accordion" ).accordion();
9+
$(".accordion").accordion({ header: "li", collapsible: true, active: false, heightStyle: "content" });
10+
});
11+
</script>
12+
13+
<style>
14+
div.toTop {width: 100%; vertical-align: middle; text-align: right; margin-top: -20px; margin-bottom: 0px; font-size: 10pt;}
15+
</style>
16+
17+

0 commit comments

Comments
 (0)