- Resume content managed in YAML with Markdown support.
- Modular and configurable resume sections.
- Responsive and print-friendly layouts for web and PDF.
- Multilingual support with language-specific fonts.
- Optional math rendering with KaTeX or MathJax.
- Customizable theme colors, fonts, and styles.
- Privacy mode and search-engine indexing controls.
- Easy deployment to GitHub Pages and other static hosting platforms.
- Jekyll
4.4.1. - Ruby
2.7or later; Ruby3.4is used by the deployment workflow. - Bundler, or the
jekyll/jekyll:latestDocker image.
The resolved Jekyll and gem versions are committed in Gemfile.lock. The Docker tag is only a runtime environment; the lockfile is the reproducible dependency contract.
Fork or copy this repository, then edit:
_data/data.yml: resume content.images/profile.png: profile image._config.yml: languages, fonts, integrations, and theme settings.assets/css/custom.css: optional style overrides.
Preview with Docker:
docker run --rm --volume "$PWD:/srv/jekyll" --publish 4000:4000 \
jekyll/jekyll:latest \
bundle exec jekyll serve --host 0.0.0.0 --livereloadOpen http://localhost:4000/.
Edit _data/data.yml to update your profile, contact details, and resume sections. Use show to enable a section, order to position it, and summary for Markdown content. Empty optional values are not displayed. The comments in the data file document the available fields and contact formats.
The main settings in _config.yml are:
urlandbaseurlfor the deployed site address;privateandmessage;allow_indexingandshow_theme_credit;theme_color;default_languageandlanguages;mathandfeatures.math;analytics.umami,analytics.google, andanalytics.cloudflare.
Analytics are emitted only in a production build and remain disabled by default. Math rendering supports katex and mathjax; keep the configured CDN version pinned.
index.html selects its resume data and language through front matter. To add another language, create a root-level page such as zh.html:
---
layout: default
data: data
lang: zh
---This reuses _data/data.yml with the zh locale, font, direction, and date settings from _config.yml and _data/i18n.yml.
For independently translated content, copy the data file:
cp _data/data.yml _data/data_zh.ymlThen change the page's data value:
data: data_zhAdd the corresponding locale, direction, and font settings under languages in _config.yml. Use direction: rtl for a right-to-left language.
The repository includes .github/workflows/jekyll.yml. In the repository's Pages settings, choose GitHub Actions as the publishing source. Pushes to main build with the locked Jekyll version and deploy the generated artifact; pull requests build without deploying.
The workflow uses the Pages-provided base path, so project sites such as https://USERNAME.github.io/online-resume/ resolve assets correctly.