Personal research portfolio, built as a self-contained Jekyll site (no external theme gems) and deployed via GitHub Pages.
| Path | What it is |
|---|---|
_pages/ |
Top-level sections (about, CV, publications, projects, blog, misc) |
_posts/ |
Blog posts (YYYY-MM-DD-title.md) |
_projects/ |
Project entries (collection) |
_data/nav.yml |
Navigation menu order |
_data/socials.yml |
Social link URLs (LinkedIn, GitHub) |
_layouts/, _includes/ |
Page templates and partials |
assets/css/main.css |
Design system (light + dark), from DESIGN.md |
assets/js/theme.js |
Dark-mode toggle |
assets/img/logo.svg |
Site logo (placeholder — replace with your own) |
about is the homepage (permalink: /).
Needs Ruby ≥ 3.0 (the macOS system Ruby 2.6 is too old). Installed here via
Homebrew (brew install ruby); add it to your PATH first:
export PATH="/opt/homebrew/opt/ruby/bin:$PATH"
bundle install
bundle exec jekyll serve # → http://localhost:4000/GitHub Pages builds this site automatically from the main branch (Settings →
Pages → Source: Deploy from a branch, main / root). Just push to main;
the live site updates in ~1–2 minutes. No Actions workflow or build step needed
(the CSS is plain hand-written CSS, not a Tailwind build).
.github/workflows/traffic-report.yml creates a weekly GitHub traffic report in
an issue named Traffic report. It also supports manual runs from the Actions
tab.
GitHub traffic data is limited to a rolling recent window, so the report is a
snapshot rather than a permanent full-history analytics database. If the
workflow fails with a traffic API permission error, add a repository secret named
TRAFFIC_TOKEN from a GitHub account with push access to this repository.
- Replace
assets/img/logo.svgwith a real logo. - Set the LinkedIn URL in
_data/socials.yml. - Fill in real bio / CV / publications / projects content.