Skip to content

Commit d7190cd

Browse files
committed
Import new project
1 parent 473223b commit d7190cd

Some content is hidden

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

86 files changed

+4962
-0
lines changed

.env

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
HOME_SHEET=https://docs.google.com/spreadsheets/d/1CPDVN579fjmiVVpo1qVcCeDRUN1BEw_P8n_X12rXVBY/export?format=tsv&gid=1315929787
2+
PEOPLE_SHEET=https://docs.google.com/spreadsheets/d/1CPDVN579fjmiVVpo1qVcCeDRUN1BEw_P8n_X12rXVBY/export?format=tsv&gid=0
3+
RESEARCH_SHEET=https://docs.google.com/spreadsheets/d/1CPDVN579fjmiVVpo1qVcCeDRUN1BEw_P8n_X12rXVBY/export?format=tsv&gid=394622197
4+
PUBLICATIONS_SHEET=https://docs.google.com/spreadsheets/d/1CPDVN579fjmiVVpo1qVcCeDRUN1BEw_P8n_X12rXVBY/export?format=tsv&gid=698372256
5+
VIDEOS_SHEET=https://docs.google.com/spreadsheets/d/1CPDVN579fjmiVVpo1qVcCeDRUN1BEw_P8n_X12rXVBY/export?format=tsv&gid=889428793
6+
NEWS_SHEET=https://docs.google.com/spreadsheets/d/1CPDVN579fjmiVVpo1qVcCeDRUN1BEw_P8n_X12rXVBY/export?format=tsv&gid=1018366792
7+
GDRIVE_UA=aria-gdrive-downloader/1.0

.github/workflows/deploy.yaml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Simple workflow for deploying static content to GitHub Pages
2+
name: Deploy static content to Pages
3+
4+
on:
5+
# Runs on pushes targeting the default branch
6+
push:
7+
branches: ['main']
8+
9+
# Allows you to run this workflow manually from the Actions tab
10+
workflow_dispatch:
11+
12+
# Sets the GITHUB_TOKEN permissions to allow deployment to GitHub Pages
13+
permissions:
14+
contents: read
15+
pages: write
16+
id-token: write
17+
18+
# Allow one concurrent deployment
19+
concurrency:
20+
group: 'pages'
21+
cancel-in-progress: true
22+
23+
jobs:
24+
# Single deploy job since we're just deploying
25+
deploy:
26+
environment:
27+
name: github-pages
28+
url: ${{ steps.deployment.outputs.page_url }}
29+
runs-on: ubuntu-latest
30+
steps:
31+
- name: Checkout
32+
uses: actions/checkout@v4
33+
- name: Load environment variables from .env file
34+
run: cat .env >> $GITHUB_ENV
35+
- name: Set up Node
36+
uses: actions/setup-node@v4
37+
with:
38+
node-version: lts/*
39+
cache: 'npm'
40+
- name: Install dependencies
41+
run: npm ci
42+
- name: Fetch data
43+
run: npm run fetch-sheet
44+
- name: Download images
45+
run: npm run download-images
46+
- name: Build
47+
run: npm run build
48+
- name: Setup Pages
49+
uses: actions/configure-pages@v5
50+
- name: Upload artifact
51+
uses: actions/upload-pages-artifact@v3
52+
with:
53+
# Upload dist folder
54+
path: './dist'
55+
- name: Deploy to GitHub Pages
56+
id: deployment
57+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
pnpm-debug.log*
8+
lerna-debug.log*
9+
10+
node_modules
11+
dist
12+
dist-ssr
13+
*.local
14+
15+
# Editor directories and files
16+
.vscode/*
17+
!.vscode/extensions.json
18+
.idea
19+
.DS_Store
20+
*.suo
21+
*.ntvs*
22+
*.njsproj
23+
*.sln
24+
*.sw?

README.md

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# ARIA Lab Website
2+
3+
Official website of the **ARIA (Align Robust Interactive Autonomy) Lab**
4+
A static frontend web app built using Vite.
5+
- Live Site: https://aria-lab.cs.utah.edu/
6+
7+
## Management Guide
8+
9+
- **Data**: Update the Google Sheet to refresh site data (Google Sheet is configured in `.env`).
10+
- **Deploy**: On each commit, the site is automatically redeployed; alternatively, re-run all jobs for the latest deployment in the Actions tab.
11+
12+
For more detailed information, please ask to [Seongil Heo](https://github.com/SeongilHeo).
13+
14+
## Tech Stack
15+
16+
- **Frontend**: [React](https://react.dev/), [Vite](https://vitejs.dev/), [TailwindCSS](https://tailwindcss.com/)
17+
- **CI/CD**: GitHub Actions (Static build & GitHub Pages deployment)
18+
- **Data Source**: Google Spreadsheet → JSON transformation script
19+
20+
## Project Structure
21+
22+
```
23+
├── .github/workflows/ # GitHub Actions CI/CD workflows
24+
├── README.md # Project documentation
25+
├── index.css # TailwindCSS global styles
26+
├── index.html # HTML entry point for Vite
27+
├── package-lock.json # Auto-generated lockfile for npm dependencies
28+
├── package.json # Project metadata and dependencies
29+
├── vite.config.js # Vite build and server configuration
30+
├── public/ # Static assets served directly
31+
│ ├── 404.html # Custom 404 page for GitHub Pages
32+
│ ├── manifest.json # PWA manifest (optional)
33+
│ ├── robots.txt # Web crawler rules
34+
│ └── images # Image folders
35+
│ ├── placeholder.png # Default placeholder image
36+
│ ├── banner # Banner images
37+
│ ├── people # Member profile images
38+
│ ├── publications # Publication figures
39+
│ └── videos # Video preview thumbnails
40+
├── scripts # Utility scripts
41+
│ ├── download-images.js # Script to download images from URLs in JSON data
42+
│ └── fetch-sheet.js # Script to fetch and convert Google Sheet to JSON
43+
└── src/ # Source code
44+
├── App.jsx # App wrapper component
45+
├── main.jsx # App entry point for rendering
46+
├── components/ # Reusable UI components
47+
├── data/ # Preprocessed JSON data files
48+
├── icons/ # Custom SVG icons
49+
├── layout/ # Shared layout elements (Header, Footer, etc.)
50+
├── pages/ # Route-specific page components
51+
├── routes/ # App route definitions
52+
└── App.jsx # (Duplicate entry; can be removed if redundant)
53+
```
54+
55+
## Features
56+
57+
- Responsive layout
58+
- Google Spreadsheet data integration (`npm run fetch-sheet && download-image`)
59+
- GitHub Pages auto-deployment
60+
- Environment variable configuration via `.env`
61+
- Client-side routing with React Router
62+
- Custom 404 handling on GitHub Pages (static-hosting limitation)
63+
64+
## GitHub Actions Deployment
65+
66+
The `.github/workflows/deploy.yaml` workflow performs:
67+
68+
- Reads `.env` upon push to `main`
69+
- Runs `npm run fetch-sheet` to convert spreadsheet to JSON
70+
- Runs `npm run download-images` to download images from Google Drive
71+
- Builds static site via `npm run build`
72+
- Deploys to GitHub Pages
73+
74+
> Based on [Vite’s static deployment guide](https://vite.dev/guide/static-deploy.html)
75+
76+
## License
77+
78+
This project is licensed under the MIT License.

index.css

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
@import 'tailwindcss';
2+
3+
@theme {
4+
--color-ured: #BE0000;
5+
--color-ugray: #707271;
6+
--color-dgray: #424242;
7+
--color-header: #DCDCDC;
8+
--color-body: #F9F9F9;
9+
--color-footer: #F8F9FA;
10+
--color-lgray: #E8E8E8;
11+
--aspect-letter: 1/1.29;
12+
--text-tiny: 0.625rem;
13+
}
14+
15+
@layer base {
16+
h1 {
17+
@apply text-2xl sm:text-4xl mb-4 md:mb-8 font-serif;
18+
}
19+
20+
h2 {
21+
@apply text-xl sm:text-3xl mb-4 md:mb-8 font-serif;
22+
}
23+
24+
h3 {
25+
@apply text-lg sm:text-2xl font-medium mb-2 md:mb-4 font-serif;
26+
}
27+
28+
h4 {
29+
@apply text-base sm:text-xl mb-1 md:mb-2;
30+
}
31+
32+
h5 {
33+
@apply text-sm sm:text-base font-semibold;
34+
}
35+
36+
* {
37+
@apply transition-all duration-300 font-sans;
38+
}
39+
}
40+
41+
@layer components {
42+
.pages {
43+
@apply mt-14 sm:mt-18 md:mt-21 lg:mt-26 py-10 px-5 sm:px-10 md:px-20 lg:px-40 2xl:px-80 flex-1 space-y-4 md:space-y-8 bg-body;
44+
}
45+
}
46+
47+
@layer utilities {
48+
.container div+div {
49+
@apply border-t border-t-ured pt-4;
50+
}
51+
.space-y-xs {
52+
@apply space-y-2;
53+
}
54+
55+
.space-y-sm {
56+
@apply space-y-4;
57+
}
58+
59+
.space-y-md {
60+
@apply space-y-8;
61+
}
62+
63+
.gap-xs {
64+
@apply gap-2;
65+
}
66+
67+
.gap-sm {
68+
@apply gap-4;
69+
}
70+
71+
.gap-md {
72+
@apply gap-8;
73+
}
74+
}
75+
76+
/* Chrome, Safari, Opera */
77+
*::-webkit-scrollbar {
78+
display: none;
79+
}
80+
81+
/* IE, Edge */
82+
* {
83+
-ms-overflow-style: none;
84+
/* IE and Edge */
85+
scrollbar-width: none;
86+
/* Firefox */
87+
}
88+
89+
html {
90+
scroll-behavior: smooth;
91+
}

index.html

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
4+
<head>
5+
<meta charset="utf-8" />
6+
7+
<link rel="icon" href="/logo.png" />
8+
<link rel="apple-touch-icon" href="/logo.png" />
9+
<link rel="mask-icon" href="/logo.png" />
10+
11+
<meta name="viewport" content="width=device-width, initial-scale=1" />
12+
<meta name="description" content="Align Robust Interactive Autonomy Lab" />
13+
<meta name="keywords" content="ARIA Lab, University of Utah, Robotics, AI, Computer Science, Research" />
14+
<meta name="twitter:card" content="summary_large_image" />
15+
<meta name="twitter:title" content="ARIA Lab" />
16+
<meta name="twitter:description" content="Align Robust Interactive Autonomy Lab" />
17+
<meta name="twitter:image" content="/logo.png" />
18+
19+
<link rel="canonical" href="https://aria-lab.cs.utah.edu/" />
20+
<link rel="icon" type="image/png" sizes="32x32" href="/logo.png" />
21+
<link rel="icon" type="image/png" sizes="16x16" href="/logo.png" />
22+
<link rel="manifest" href="/manifest.json" />
23+
24+
<title>ARIA Lab | Align Robust Interactive Autonomy Lab</title>
25+
<meta name="author" content="Seongil Heo">
26+
27+
<meta property="og:title" content="ARIA Lab" />
28+
<meta property="og:description" content="Align Robust Interactive Autonomy Lab" />
29+
<meta property="og:type" content="website" />
30+
<meta property="og:url" content="https://aria-lab.cs.utah.edu/" />
31+
<meta property="og:image" content="/logo.png" />
32+
</head>
33+
34+
<body>
35+
<div id="root"></div>
36+
<script type="module" src="/src/main.jsx"></script>
37+
</body>
38+
39+
</html>

0 commit comments

Comments
 (0)