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.
Examples
Features
- 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
Development
This website uses Pug, Bootstrap 5, GLightbox, and can access the Flickr API.
Prerequisites
- 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.
Deployment
- Commits trigger GitHub Actions, which deploy updates to the
gh-pages
branch and are served directly from there.