Source for my personal site, live at https://reddy-hari.github.io.
Built with Jekyll and the Minima
theme. All site content lives in the docs/ folder.
- Ruby (with development headers) and Bundler —
gem install bundler - On Windows, run everything inside WSL; the Ruby/Jekyll toolchain is set up there, not in native Windows.
cd docs
bundle install # installs Jekyll + gems from docs/Gemfilecd docs
bundle exec jekyll serveThen open http://localhost:4000. Jekyll rebuilds on save and live-reloads —
except for _config.yml, which requires restarting the server.
docs/
├── _config.yml # site settings (title, nav, plugins)
├── _data/ # structured content (cv.yml, activities.yml)
├── _includes/ # head/header/footer partials
├── _layouts/ # page templates (cv, research, activities, …)
├── assets/main.scss # styles (Minima + dark theme + overrides)
├── *.markdown # the pages themselves (about, research, cv, …)
└── Gemfile # Ruby dependencies
This repo is a GitHub Pages user site. GitHub treats a repository named
<username>.github.io specially: it is published at https://<username>.github.io.
Because this repo is reddy-hari/reddy-hari.github.io, it serves at
https://reddy-hari.github.io.
Deployment is fully automatic — there is no CI workflow to run:
- Push to the
masterbranch. - GitHub Pages is configured (in Settings → Pages) to deploy from a branch:
master//docs. - GitHub builds the site server-side with the
github-pagesgem (pinned indocs/Gemfile) and publishes the result to the live URL within a minute or two.
There is no build step to run or artifact to commit — just push the source.
- A
node_modules/folder may appear at the repo root; it is a cache created by the markdownlint VS Code extension. It is gitignored and irrelevant to the build — safe to ignore or delete.