Skip to content

Commit edd036a

Browse files
committed
Set up Vite Actions deploy
1 parent 59b908e commit edd036a

10 files changed

Lines changed: 1080 additions & 10 deletions

File tree

.github/workflows/pages.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Deploy Static Site
2+
3+
on:
4+
push:
5+
branches:
6+
- style
7+
pull_request:
8+
branches:
9+
- style
10+
workflow_dispatch:
11+
12+
permissions:
13+
contents: read
14+
pages: write
15+
id-token: write
16+
17+
concurrency:
18+
group: ${{ github.workflow }}-${{ github.ref }}
19+
cancel-in-progress: true
20+
21+
jobs:
22+
build:
23+
name: Build
24+
runs-on: ubuntu-latest
25+
steps:
26+
- name: Checkout
27+
uses: actions/checkout@v6
28+
29+
- name: Set up Node
30+
uses: actions/setup-node@v6
31+
with:
32+
node-version-file: .node-version
33+
cache: npm
34+
35+
- name: Install dependencies
36+
run: npm ci
37+
38+
- name: Build site
39+
run: npm run build
40+
41+
- name: Upload Pages artifact
42+
if: github.event_name != 'pull_request' && github.ref == 'refs/heads/style'
43+
uses: actions/upload-pages-artifact@v3
44+
with:
45+
path: dist
46+
47+
deploy:
48+
name: Deploy
49+
if: github.event_name != 'pull_request' && github.ref == 'refs/heads/style'
50+
needs: build
51+
environment:
52+
name: github-pages
53+
url: ${{ steps.deployment.outputs.page_url }}
54+
runs-on: ubuntu-latest
55+
steps:
56+
- name: Deploy
57+
id: deployment
58+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
_site
2-
.DS_Store
2+
.DS_Store
3+
dist
4+
node_modules

.node-version

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

AGENTS.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# AGENTS.md
2+
3+
## Project
4+
5+
This repository contains Rudramani Singha's personal academic landing page for `singha.io`.
6+
7+
The site is a Vite-powered static website. GitHub Pages deployment is Actions-only. Do not preserve or reintroduce GitHub Pages "Deploy from a branch" support.
8+
9+
## Source of Truth
10+
11+
- `index.html` is the main page and contains the current homepage content.
12+
- `stylesheet.css` is the current styling source.
13+
- `images/` contains the profile and project imagery.
14+
- `scripts/` contains research notebooks and artifacts linked from the site history.
15+
- `tools/` contains small build helpers.
16+
- `dist/` is generated output and should not be edited by hand or committed.
17+
18+
## Content Rules
19+
20+
- Do not rewrite biography, project descriptions, author lists, titles, metadata, or external links unless the user explicitly asks.
21+
- Keep the Art of Neuron project link pointed at `https://art-of-neuron.github.io/`.
22+
- Keep the custom domain as `singha.io`.
23+
- Do not add placeholder links such as `example.com`.
24+
- Preserve SEO/social metadata unless the requested change specifically concerns it.
25+
26+
## Frontend Rules
27+
28+
- Use Vite with npm and Node 24, as pinned by `.node-version`.
29+
- Keep dependencies minimal. The GitHub Actions path should stay well under 30 seconds whenever possible.
30+
- Do not add React, Svelte, Astro, Tailwind, or another framework without an explicit user decision.
31+
- Styling work should preserve the current content and improve presentation only.
32+
- Prefer small, plain static-site changes over architectural churn.
33+
34+
## Commands
35+
36+
Use these commands from the repository root:
37+
38+
```bash
39+
npm install
40+
npm run dev
41+
npm run build
42+
npm run preview
43+
```
44+
45+
In CI, use:
46+
47+
```bash
48+
npm ci
49+
npm run build
50+
```
51+
52+
## Deployment
53+
54+
- GitHub Pages source must be set to GitHub Actions.
55+
- `.github/workflows/pages.yml` builds with Vite.
56+
- Pushes to `style` deploy the built `dist/` artifact.
57+
- Pull requests into `style` should build for validation only.
58+
- Ensure `CNAME`, `.nojekyll`, `404.html`, `favicon.ico`, and `stylesheet.css` are present in `dist/` after `npm run build`.
59+
60+
## Development Workflow
61+
62+
- Use the `style` branch as the main development and deployment branch.
63+
- Keep changes scoped and review the diff before finishing.
64+
- Run `npm run build` before reporting success.
65+
- If local Node is missing, use a temporary Node 24 runtime or state clearly that build verification could not be run.

README.md

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@
22

33
[![Deploy Static Site](https://github.com/rgs2151/landing/actions/workflows/pages.yml/badge.svg)](https://github.com/rgs2151/landing/actions/workflows/pages.yml)
44

5-
This repository is now a plain static website with no Jekyll dependency.
5+
This repository is a Vite-powered static website with no Jekyll dependency.
66

77
## Files
88

99
- `index.html`: Main homepage
1010
- `stylesheet.css`: Main stylesheet
1111
- `images/`: Hero and work images
12+
- `scripts/`: Research notebooks and supporting artifacts
13+
- `tools/`: Small build helpers
1214
- `favicon.ico`: Site favicon at the repository root
1315
- `CNAME`: Custom domain mapping (`singha.io`)
1416

@@ -17,15 +19,22 @@ This repository is now a plain static website with no Jekyll dependency.
1719
Run from repository root:
1820

1921
```bash
20-
python3 -m http.server 8000
22+
npm install
23+
npm run dev
2124
```
2225

23-
Then open http://localhost:8000.
26+
For a production preview:
27+
28+
```bash
29+
npm run build
30+
npm run preview
31+
```
2432

2533
## Deployment
2634

27-
GitHub Pages deploys automatically from GitHub Actions using `.github/workflows/pages.yml`.
28-
The workflow publishes a static artifact and includes `.nojekyll`.
35+
GitHub Pages is deployed through GitHub Actions only. Configure Pages with "GitHub Actions" as the build and deployment source.
36+
37+
The workflow at `.github/workflows/pages.yml` builds the Vite site and publishes the generated `dist/` artifact on pushes to `style`. Pull requests into `style` run build validation without deploying.
2938

3039
## Domain
3140

@@ -34,5 +43,3 @@ Custom domain is configured via `CNAME`:
3443
```text
3544
singha.io
3645
```
37-
38-

index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,14 +87,14 @@ <h2 class="section-title">Selected Projects</h2>
8787
<img src="images/hmm.gif" alt="Bayesian Modeling Tutorial" class="work-thumb">
8888
</td>
8989
<td class="work-content-cell">
90-
<a href="https://colab.research.google.com/github/rgs2151/landing/blob/master/notebooks/hmm.ipynb" target="_blank" rel="noopener noreferrer">
90+
<a href="https://art-of-neuron.github.io/" target="_blank" rel="noopener noreferrer">
9191
<span class="paper-title">Scaling Up Bayesian Models: Regressions, Mixtures, HMMs, and GLM-HMMs</span>
9292
</a>
9393
<p class="paper-authors">
9494
<strong>Rudramani Singha</strong>
9595
</p>
9696
<p class="paper-links">
97-
<em>links:</em> [<a href="https://colab.research.google.com/github/rgs2151/landing/blob/master/notebooks/hmm.ipynb" target="_blank" rel="noopener noreferrer">website</a>] [<a href="https://example.com" target="_blank" rel="noopener noreferrer">code</a>]
97+
<em>links:</em> [<a href="https://art-of-neuron.github.io/" target="_blank" rel="noopener noreferrer">website</a>] [<a href="https://github.com/art-of-neuron/art-of-neuron.github.io" target="_blank" rel="noopener noreferrer">code</a>]
9898
</p>
9999
<p>
100100
This tutorial starts with intuitive Bayesian updates and builds to Hidden Markov Models and related latent-variable methods. It includes GLMs, input-driven Gaussian mixture models, and GLM-HMMs with comparisons between MCMC and EM estimation. Implementations cover PyMC, Stan, NumPyro, JAX, and Dynamax.

0 commit comments

Comments
 (0)