Built with Jekyll and the github-pages gem.
- Homebrew on macOS
- Ruby 3.3 (installed via Homebrew)
- Bundler 2.6.2
Quick install on macOS:
brew install ruby@3.3
echo 'export PATH="/opt/homebrew/opt/ruby@3.3/bin:$PATH"' >> ~/.zshrc
export PATH="/opt/homebrew/opt/ruby@3.3/bin:$PATH"
gem install bundler:2.6.2 --no-documentInstall Ruby gems locally into vendor/bundle:
bundle config set --local path 'vendor/bundle'
bundle installbash run_server.sh_pages/: main content (editabout.md)_includes/,_layouts/,_sass/: theme templates and stylesassets/: site CSS/JS and fontsimages/: site images and iconscv-temp/: local staging area for multiple CV PDF versionscv/: published CV path; the site only links tocv/JIAWEI_CV.pdfscripts/build_cv.sh: generate a PDF from_pages/cv_tex.texintocv-temp/usinglatexmk,pdflatex, ortectonicscripts/push_site.sh: one-command stage, commit, and push helper for site updatesgoogle_scholar_crawler/: script for citation stats
Generate a new PDF into the staging folder:
bash scripts/build_cv.shOr provide your own output stem:
bash scripts/build_cv.sh JIAWEI_CV-academicAfter reviewing a version in cv-temp/, publish it by copying it to the fixed public path:
cp "cv-temp/JIAWEI_CV-academic.pdf" "cv/JIAWEI_CV.pdf"This lets you keep multiple versions locally while the site always serves the same public URL.
The script auto-detects latexmk, then pdflatex, then tectonic.
This repository is intended to be published by GitHub Pages.
- Push changes to the default branch.
- Ensure the repository is configured as a GitHub Pages site (Settings → Pages).
Quick push helper:
bash scripts/push_site.sh "update homepage and cv"Preview what it would stage without committing:
bash scripts/push_site.sh --dry-run- The site uses the
github-pagesgem, which pins compatible versions of Jekyll and plugins. - Local development uses Bundler to ensure versions match GitHub Pages.
See LICENSE.