Skip to content

jiaweixu98/jiaweixu98.github.io

 
 

Repository files navigation

Jiawei Xu — Personal Homepage

Built with Jekyll and the github-pages gem.

Prerequisites

  • 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-document

Setup

Install Ruby gems locally into vendor/bundle:

bundle config set --local path 'vendor/bundle'
bundle install

Run Locally

bash run_server.sh

Open http://127.0.0.1:4000

Project Structure

  • _pages/: main content (edit about.md)
  • _includes/, _layouts/, _sass/: theme templates and styles
  • assets/: site CSS/JS and fonts
  • images/: site images and icons
  • cv-temp/: local staging area for multiple CV PDF versions
  • cv/: published CV path; the site only links to cv/JIAWEI_CV.pdf
  • scripts/build_cv.sh: generate a PDF from _pages/cv_tex.tex into cv-temp/ using latexmk, pdflatex, or tectonic
  • scripts/push_site.sh: one-command stage, commit, and push helper for site updates
  • google_scholar_crawler/: script for citation stats

CV Workflow

Generate a new PDF into the staging folder:

bash scripts/build_cv.sh

Or provide your own output stem:

bash scripts/build_cv.sh JIAWEI_CV-academic

After 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.

Deployment

This repository is intended to be published by GitHub Pages.

  1. Push changes to the default branch.
  2. 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

Notes

  • The site uses the github-pages gem, which pins compatible versions of Jekyll and plugins.
  • Local development uses Bundler to ensure versions match GitHub Pages.

License

See LICENSE.

About

Homepage.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • SCSS 40.3%
  • JavaScript 31.6%
  • HTML 11.7%
  • TeX 8.9%
  • CSS 3.4%
  • Shell 3.2%
  • Other 0.9%