Skip to content

Commit 5d334a6

Browse files
meazizulclaude
andcommitted
Interactive Computing Lab website
Static single-page site published at https://interactivecomputinglab.github.io/. See README.md for the maintainer guide. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
0 parents  commit 5d334a6

94 files changed

Lines changed: 11793 additions & 0 deletions

File tree

Some content is hidden

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

‎.gitignore‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.DS_Store

‎.nojekyll‎

Whitespace-only changes.

‎README.md‎

Lines changed: 257 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,257 @@
1+
# Interactive Computing Lab — Website Maintainer Guide
2+
3+
This is the source of the Interactive Computing Lab website (Stevens Institute of Technology, Dr. Jonggi Hong).
4+
It is a **single static web page**: plain HTML, CSS, and JavaScript. There is nothing to install, compile, or build.
5+
If you can edit a text file and upload it to GitHub, you can maintain this site.
6+
7+
**Live site:** https://interactivecomputinglab.github.io/
8+
**Repository:** https://github.com/InteractiveComputingLab/interactivecomputinglab.github.io (the site files are at the top level of the repository)
9+
10+
The repository name is special: GitHub publishes a repository called `<organization>.github.io` at that address automatically, from the `main` branch. Do not rename it.
11+
12+
A mirror of the same files is kept at https://github.com/meazizul/ICLAB (live at https://azizulhaque.me/ICLAB/).
13+
14+
---
15+
16+
## 1. How the site is organised
17+
18+
```
19+
(repository root)
20+
├── index.html ← THE ENTIRE SITE. 95% of edits happen in this one file.
21+
├── style.css Template stylesheet. Do not edit. Override in css/custom.css instead.
22+
├── css/custom.css Our small set of style overrides (hero, publication cards).
23+
├── js/main.js Menu, publication filters, and the two hero animations.
24+
├── css/, fonts/, js/ Template libraries (Bootstrap 3, Ionicons, Isotope). Leave as they are.
25+
├── img/team/ One portrait per person, 600×820 px JPG, named firstname-lastname.jpg
26+
├── img/portfolio/ One square thumbnail per paper, 600×600 px JPG, named project-<id>.jpg
27+
├── img/class/ Course card images, 1500×460 px
28+
├── img/favicon.png Browser tab icon
29+
└── .nojekyll Tells GitHub Pages to publish the files exactly as they are. Keep it.
30+
```
31+
32+
The page has these sections, in order. Each starts with an HTML comment you can search for in `index.html`:
33+
34+
| Section | Search for | What is in it |
35+
|---|---|---|
36+
| Hero | `<!-- basic-slider start -->` | Lab name, tagline, animated background, optional video |
37+
| About us + Recent News | `<!-- about-us area start -->` | Lab description (left) and dated news items (right) |
38+
| Our Team + Alumni | `<!-- team area start -->` | Photo cards, four per row |
39+
| Publications | `<!-- basic-portfolio-area start -->` | Filter buttons and one card per paper |
40+
| Classes | `<a name="classes">` | Courses taught by Dr. Hong |
41+
| Videos | `<!-- videos area start -->` | Embedded YouTube talks |
42+
| Lab Openings | `<!-- apply area start -->` | Recruiting text and contact details |
43+
44+
---
45+
46+
## 2. Two ways to make a change
47+
48+
### Option A — edit in the browser (no software needed)
49+
50+
1. Open the repository on GitHub.
51+
2. Click the file you want to change (usually `index.html`), then click the **pencil icon** (Edit).
52+
3. Make your change. Use Ctrl+F / Cmd+F to find the section.
53+
4. Click **Commit changes**, write a one-line note such as "Add ASSETS 2027 paper", and commit to `main`.
54+
5. Wait one to two minutes. Reload the live site. If you still see the old version, hard-refresh (Cmd+Shift+R or Ctrl+F5).
55+
56+
To add an image in the browser: open the right folder (for example `img/team`), click **Add file → Upload files**, drop the image in, and commit.
57+
58+
### Option B — edit on your computer (recommended for bigger changes)
59+
60+
```bash
61+
git clone https://github.com/InteractiveComputingLab/interactivecomputinglab.github.io.git
62+
cd interactivecomputinglab.github.io
63+
python3 -m http.server 8080 # preview at http://localhost:8080
64+
# ... edit index.html and images, refresh the browser to check ...
65+
git add -A
66+
git commit -m "Describe your change"
67+
git push
68+
```
69+
70+
The live site updates automatically one to two minutes after `git push`.
71+
72+
---
73+
74+
## 3. Recipes for common updates
75+
76+
Every recipe is "copy an existing block, then change the words". Never delete the surrounding `<div>` tags.
77+
78+
### 3.1 Post a news item
79+
80+
Find `<h2>Recent News</h2>`. The items are lines inside one `<p>`. Add the newest at the top:
81+
82+
```html
83+
<strong>Oct 2026:</strong> Our paper <em>Paper Title</em> is accepted to <strong>CHI 2027</strong>!<br>
84+
```
85+
86+
Keep the list to roughly the last two years; delete old lines from the bottom.
87+
88+
### 3.2 Add or change a team member
89+
90+
1. Save a portrait photo as `img/team/firstname-lastname.jpg`. Crop it to a **portrait ratio of about 3:4** (600 × 820 px). Square or landscape photos will look wrong next to the others.
91+
2. Find `<h2>Our Team</h2>`. Members are in rows of four (`<div class="row">` ... four `col-sm-6 col-md-3` columns). Copy one member block and edit it:
92+
93+
```html
94+
<div class="col-sm-6 col-md-3">
95+
<div class="team-item">
96+
<div class="team-item-image">
97+
<img src="img/team/firstname-lastname.jpg" alt="Headshot of Full Name">
98+
<div class="team-item-detail">
99+
<h5 class="team-item-title">Full Name</h5>
100+
<div class="team-social-icon">
101+
<a href="https://personal-site.example" aria-label="Full Name website"><i class="ion-link"></i></a>
102+
<a href="mailto:name@stevens.edu" aria-label="Full Name email"><i class="ion-email"></i></a>
103+
<a href="https://www.linkedin.com/in/..." aria-label="Full Name linkedin"><i class="ion-social-linkedin"></i></a>
104+
</div>
105+
</div>
106+
</div>
107+
<h4 class="team-item-name">Full Name</h4>
108+
<span class="team-item-role">Ph.D. Student, Computer Science</span>
109+
</div>
110+
</div>
111+
```
112+
113+
Delete any `<a>` link lines you do not need. Available icons: `ion-link` (website), `ion-email`, `ion-social-linkedin`, `ion-social-github`, `ion-social-twitter`, `ion-university` (Google Scholar).
114+
115+
If a row already has four people, start a new `<div class="row">` ... `</div>` after it.
116+
117+
**No photo yet?** Use the grey placeholder: copy `img/team/dawei-xu.jpg` (a silhouette) to the new file name. Replace it when a photo arrives.
118+
119+
**Someone graduates:** cut their whole `col-sm-6 col-md-3` block, paste it into the rows under `<h2>Alumni</h2>`, and change the role to something like `M.S. Computer Science, 2026`.
120+
121+
### 3.3 Add a publication
122+
123+
1. Make a **square thumbnail** (600 × 600 px JPG) and save it as `img/portfolio/project-<short-id>.jpg`. A teaser figure from the paper, a photo from the study, or a simple illustration all work. Keep the style consistent with the existing ones.
124+
2. Find `<div id="portfolio-grid"`. The first card after it is the newest paper. Copy one card and paste it **above** the first one:
125+
126+
```html
127+
<div class="portfolio-item access paper">
128+
<div class="portfolio-wrapper">
129+
<div class="portfolio-thumb">
130+
<img src="img/portfolio/project-<short-id>.jpg" alt="Thumbnail for Short Name" />
131+
<div class="view-icon">
132+
<a href="https://doi.org/10.1145/XXXXXXX" target="_blank" rel="noopener"><span class="icon-attachment"></span></a>
133+
</div>
134+
</div>
135+
<div class="portfolio-caption caption-border text-center">
136+
<h4><a href="https://doi.org/10.1145/XXXXXXX" target="_blank" rel="noopener">Short Name</a></h4>
137+
<div class="work-tag">
138+
<a href="https://doi.org/10.1145/XXXXXXX" target="_blank" rel="noopener">Full Paper Title</a>
139+
<span class="pub-authors">First Author, Second Author, Jonggi Hong</span>
140+
</div>
141+
<div class="paper-menu">
142+
CHI 2027: <a href="https://doi.org/10.1145/XXXXXXX" target="_blank" rel="noopener">PAPER</a>
143+
</div>
144+
</div>
145+
</div>
146+
</div>
147+
```
148+
149+
3. Set the **filter classes** on the first line. Pick every tag that applies:
150+
- `access` – accessibility work
151+
- `wearable` – wearables, smart glasses, haptics
152+
- `humanai` – human-AI interaction, conversational agents, tools
153+
- `paper` (full paper or journal article) **or** `poster` (poster, demo, extended abstract, workshop paper)
154+
155+
4. Update the counts in the filter buttons just above the grid, for example `All (28)` → `All (29)`. The buttons are labelled `data-filter=".access"` and so on.
156+
157+
5. Optional extra links in `paper-menu`, separated by ` | `: `<a href="...">VIDEO</a>`, `<a href="...">CODE</a>`, `<a href="...">PDF</a>`.
158+
159+
**Not published yet (no DOI)?** Use the conference program page, or the lab news item, as the link. Do not upload paper PDFs before the publisher releases them.
160+
161+
### 3.4 Mark an award
162+
163+
Inside the card's `portfolio-thumb`, right after the `<img ...>` line, add:
164+
165+
```html
166+
<div class="ribbon ribbon-holder">AWARD</div>
167+
```
168+
169+
and in `paper-menu` write the award after the venue:
170+
171+
```html
172+
CHI 2027 <award>(Best Paper Honorable Mention)</award>: <a href="...">PAPER</a>
173+
```
174+
175+
Then update the sentence under the Publications heading that says how many articles have been honored.
176+
177+
### 3.5 Add a class
178+
179+
Find `<h2>Classes Taught by Dr. Hong</h2>`. Copy one `<div class="col-sm-6 col-md-6 blog-item">` block, change the semester, title, description, and link. Make a matching card image (1500 × 460 px) in `img/class/`, or reuse an existing one.
180+
181+
### 3.6 Add a video
182+
183+
Find `<!-- videos area start -->`. Copy the `blog-item` block and change the YouTube ID in the `data-src` URL (`https://www.youtube.com/embed/VIDEO_ID`), the author, title, description, and link. Two videos fit per row; the single existing block is centred with `col-sm-offset-2`, so remove the two `offset` classes when you add a second one.
184+
185+
### 3.7 Edit the About text, Lab Openings, or contact details
186+
187+
These are ordinary paragraphs. Find the heading (`<h2>About us</h2>` or `<h2>Lab Openings</h2>`) and edit the text inside the `<p>` tags. Office, phone, and email are in the last paragraph of Lab Openings.
188+
189+
### 3.8 Change the hero (top of page)
190+
191+
The hero element is `<div id="home-area" ...>`. Its attributes control everything:
192+
193+
| Attribute | Meaning |
194+
|---|---|
195+
| `data-video` | YouTube video ID shown between the animations. Set to `""` for animations only. |
196+
| `data-video-start` / `data-video-stop` | Seconds into the video to loop between. |
197+
| `data-video-seconds` | How long the video shows each cycle (default 5). |
198+
| `data-animation-seconds` | How long each animation shows (default 10). |
199+
200+
The rotation is: network animation → video → wave animation → video → repeat. Both animations react to the mouse. The video only appears once YouTube has actually started playing, so a slow connection just shows the animations.
201+
202+
The title and tagline are the `<h1>` and `<p class="lead">` right below.
203+
204+
---
205+
206+
## 4. Image guidelines
207+
208+
| Use | Size | Format | Folder |
209+
|---|---|---|---|
210+
| Team portrait | 600 × 820 px (3:4 portrait) | JPG, under 200 KB | `img/team/` |
211+
| Paper thumbnail | 600 × 600 px (square) | JPG, under 200 KB | `img/portfolio/` |
212+
| Class card | 1500 × 460 px | JPG | `img/class/` |
213+
214+
Free tools for cropping and resizing: Preview on macOS (Tools → Adjust Size), Photos on Windows, or https://squoosh.app in the browser. Use only lowercase letters, numbers, and hyphens in file names.
215+
216+
---
217+
218+
## 5. Before you publish: a 60-second checklist
219+
220+
- [ ] Open the page locally (`python3 -m http.server 8080`) or check the live site after the commit.
221+
- [ ] Every new image shows up (a broken image icon means the file name or folder does not match).
222+
- [ ] Click each new link.
223+
- [ ] Publication filter counts match the number of cards.
224+
- [ ] Nothing is duplicated or half-deleted: the page should have no stray text at the bottom.
225+
- [ ] On a phone (or a narrow browser window) the menu collapses into a ☰ button and everything stacks.
226+
227+
---
228+
229+
## 6. Troubleshooting
230+
231+
**I changed something but the live site looks the same.** GitHub Pages takes one to two minutes to publish. Then hard-refresh: Cmd+Shift+R on Mac, Ctrl+F5 on Windows. If you edited `css/custom.css` or `js/main.js`, also bump the version number in `index.html` where they are loaded (`custom.css?v=6` → `?v=7`) so browsers fetch the new file.
232+
233+
**The page is completely blank or unstyled.** Usually a broken `<div>` in `index.html`. Check the last edit: every opening tag needs its closing tag. GitHub's file view will show a diff of exactly what changed; revert it if needed (History → the commit → "Revert").
234+
235+
**A publication card is much taller than the others.** The title is very long. Use a shorter display name in the `<h4>`; the full title stays in `work-tag`.
236+
237+
**The filter buttons stop working.** A card is missing its `portfolio-item` class or `#portfolio-grid` got an extra tag inside it.
238+
239+
**The hero video does not play.** It only plays over HTTPS on the live site, not from a file opened by double-clicking. It also never plays on phones (browsers block autoplay), which is expected; the animations show instead.
240+
241+
**GitHub says the site is not publishing.** Repository Settings → Pages must show Source: *Deploy from a branch*, Branch: `main`, Folder: `/ (root)`. The `.nojekyll` file must be present at the top level. The old address https://interactivecomputinglab.github.io/lab_website/ redirects here and can be left alone.
242+
243+
---
244+
245+
## 7. Handing the site to the next maintainer
246+
247+
1. Ask Dr. Hong to add the new person as a collaborator on the repository (Settings → Collaborators).
248+
2. Point them to this README.
249+
3. Walk them through one real change together, for example adding a news item, and watch it go live.
250+
251+
That is the whole process. Everything else is copy, paste, and edit.
252+
253+
---
254+
255+
## 8. Credits
256+
257+
The page layout follows the University of Michigan Soundability Lab site and is built on the free "White – Minimal Portfolio" Bootstrap template. Icons: Ionicons and et-line. Publication thumbnails were drawn for the lab. First version built September 2026 by Azizul Haque.

0 commit comments

Comments
 (0)