Gourav Khunger's open-source portfolio template is a minimal Jekyll-based personal website starter that pairs TailwindCSS, HTML, JavaScript, and custom Ruby plugins, and ships with a GitHub Actions workflow that publishes it to GitHub Pages automatically.
What is this portfolio template?
This template is a static personal website built with the Jekyll static site generator. It takes Markdown content and layouts (via Jekyll's standard conventions) and produces a static HTML site styled with TailwindCSS and enhanced with JavaScript. The project includes custom Ruby plugins, and the author, Gourav Khunger, uses it for his own site at gourav.sh. It is distributed under the MIT License, so it can be reused freely in commercial and personal projects.
Key Features
- Jekyll + TailwindCSS stack — The site combines Jekyll's static generation with TailwindCSS utility classes, HTML, and JavaScript; Ruby plugins add custom functionality beyond Jekyll's defaults.
- Automated GitHub Pages deployment — A GitHub Actions workflow, publish-site.yml, builds the site and publishes it to the gh-pages branch on every push, removing manual deployment steps.
- Local development workflow — After installing Ruby and Node.js, you can clone the repo, run
npm iandbundle install, then start a local server withbundle exec jekyll servefor previewing at localhost:4000. - Minimal visual design — The demo screenshots show a clean, two-page layout focused on presenting personal content without heavy graphics.
- MIT licensed — Permission is granted to use, copy, modify, merge, publish, distribute, sublicense, and sell copies, as stated in the full license text in the repo.
- Hacktoberfest-friendly — The repository is tagged with hacktoberfest among its topics, signalling it welcomes open-source contributions.
Who is this for?
- Developers seeking a simple personal site — Use this template to launch a portfolio without managing a React or Vue frontend; just clone, run the local server, and edit content.
- Jekyll users — Get a working example of a Jekyll project combined with TailwindCSS and custom Ruby plugins, useful for learning how to structure a static site.
- Hacktoberfest participants — Contribute to the repository as a beginner-friendly codebase, since it carries the hacktoberfest topic tag.
What can you do with it?
- Publish a portfolio on GitHub Pages — Fork or clone the repo, replace the demo content with your own profile and projects, and let the pre-configured GitHub Actions workflow deploy your site to the gh-pages branch.
- Prototype a Jekyll + TailwindCSS site — Use the repository as a reference implementation for how to wire TailwindCSS into Jekyll, including the Node dependencies and Ruby integration.
- Learn CI/CD for static sites — Study the publish-site.yml workflow to see how a Jekyll site can be built and served through automated pipelines.
How does it work?
The README outlines a straightforward local setup: install Ruby and Node.js, clone the repository, then run npm i and bundle install to fetch Node and Ruby dependencies. After that, bundle exec jekyll serve starts a development server, and the built site is available at localhost:4000. For production, the included GitHub Actions workflow replaces manual deployment by building and pushing the site to the gh-pages branch.
FAQ
Is this portfolio template free?
Yes. The repository is published under the MIT License, allowing you to use, modify, and distribute it without charge, including for commercial purposes.
How do I preview the template locally?
Install Ruby and Node.js, clone the repo, then run npm i and bundle install. Afterwards, run bundle exec jekyll serve and open localhost:4000 in your browser.
Can I deploy it to GitHub Pages?
Yes. The repository includes a GitHub Actions workflow, publish-site.yml, that automatically builds the Jekyll site and publishes it to the gh-pages branch on each push to the default branch.
What technologies are used?
The template uses Jekyll for static generation, TailwindCSS for styling, JavaScript for interactivity, plus HTML for structure and a few custom Ruby plugins. Node.js is required for npm dependencies and Ruby is required for Jekyll and Bundler.








