Data-based portfolio (datafolio) using Jekyll, Bootstrap, and gh-pages.

Daniel's Portfolio Theme

This portfolio is optimized for researchers and those who strive for a minimal, file-based content management. The complete site's content is based on a json/yaml file per section (e.g., contact.json, projects.json, publications.json, talks.json, and teaching.json) as well as the pages _config.yml information.



  • responsive single-page using Bootstrap 4
  • multi-language support
  • sections for publications, projects, talks/keynotes, teaching, contact, and more
  • section contents loaded from json/yaml data-files (_data)
  • unique, distinguishable layouts per section
  • dynamic integration of Flickr photo sets (with basic caching)
  • php and javascript free contact form using Formspree
  • supports deployment using GitHub Pages
  • minimizes html and css (currently using compress layout method)
  • easy BibTeX provisioning (show, select, and copy to clipboard, or download)
  • valid html5 output (nearly-valid css, due to some issues in bootstrap)
  • responsive navigation (with scrollspy) comprising a top-page link (author or icon), section links (nav-links or dropdown-items), and a language toggle for all used languages
  • support for vCard via file and QR Code
  • basic Travis CI integration


This website uses Pug, Bootstrap 5, GLightbox, and can access the Flickr API.


  • Node.js and npm are required for development and testing.

Development Commands

  • npm install installs all necessary dependencies.
  • npm start launches a local server for development and testing.
  • npm run build:dev and npm run build are used to create the static site.


  • Commits trigger GitHub Actions, which deploy updates to the gh-pages branch and are served directly from there.
jekyll logo

Want a Jekyll website built?

Hire a Jekyll developer