Personal portfolio site for PhD applications, built with Jekyll and hosted on GitHub Pages.
Live site: https://tystowell.github.io/
- Push this repo to GitHub.
- On GitHub, go to Settings → Pages.
- Under Build and deployment, set Source to Deploy from a branch, then pick branch
mainand folder/ (root). - Wait a minute. The site builds itself on every push after that.
The repo is named
tystowell.github.io, so the site is served at the root URL andbaseurlin_config.ymlis"". If the repo is ever renamed, setbaseurl: /<repo-name>.
- Copy
_templates/project.mdto_projects/<short-name>.md. The file name becomes the URL (/work/<short-name>/). - Fill in the front matter (
title,summary,categoryanddateare required) and write the page in Markdown.dateis the start date. Every list on the site is sorted by it, newest first. - Put images in
assets/img/projects/and reference them as/assets/img/projects/foo.pnginthumbnail:/hero:. Inside Markdown, write. - Commit and push.
The project then shows up automatically in:
- the All work carousel on the home page (newest first),
- the filterable grid on /work/,
- the Jump to… sidebar and Newer / Older links on every project page,
- Highlights on the home page, if you set
featured: true.
Useful front matter:
| Field | What it does |
|---|---|
featured: true |
Show as a large card in Highlights on the home page |
math: true |
Enables LaTeX via MathJax: $inline$ and $$display$$ |
embed: <url> |
Embeds an iframe at the top of the page. Good for games hosted on GitHub Pages |
embed_size: [w, h] |
For fixed-size pages (like a game canvas): renders at that size and scales it to fit |
links: |
Buttons under the title (icon: can be github, file, play, external) |
tools: |
Tag pills on cards and the page |
| File | Controls |
|---|---|
_config.yml |
Name, tagline, intro text, contact links, CV path |
_data/categories.yml |
Categories, their groups (Research / Personal Projects) and colors |
_data/navigation.yml |
Top navigation links |
_data/publications.yml |
Papers, posters and talks on the About page |
about.md |
About page intro and research interests |
_data/resume.yml |
About page résumé: education, experience, student teams, skills |
assets/css/main.css |
All styling. Colors and fonts are CSS variables at the top |
CV: drop your PDF at assets/files/cv.pdf and set cv: /assets/files/cv.pdf in _config.yml.
You need Ruby 3.x (macOS ships 2.6, which is too old; install a newer one with brew install ruby):
bundle install
bundle exec jekyll serve --livereload
# open http://localhost:4000/TechnicalPortfolio/