Content and pages are separated: projects, experience, and education information are managed by three YAML files under the _data directory
portfolio-template (MLH-Fellowship) — Jekyll Portfolio Template
By MLH-Fellowship
A Jekyll portfolio template from the MLH Fellowship that maintains projects, experience, and education information through YAML data files, and supports writing a separate Markdown detail page for each project. It is suitable for deployment on GitHub Pages or Netlify to showcase personal work.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Supports creating a separate Markdown detail page for each project, linked via the page-name field in projects.yml
The README provides YAML field examples for project, experience, and education entries, making it easy to fill in according to the format
Can be deployed to Netlify or GitHub Pages, but GitHub Pages only supports the username.github.io form
Local development depends on Ruby and Bundler, and preview is started with bundle exec jekyll serve
Template Details
This is a Jekyll-based portfolio website template maintained by the MLH Fellowship, primarily used by Prep Fellows to showcase personal projects, internship experience, and educational background. The template separates content from page structure: projects, experience, and education information are stored in `projects.yml`, `experience.yml`, and `education.yml` under the `_data` directory. Fill them in according to the field examples in the README to generate the list content.
Each project can also have its own detail page. To do this, create a new Markdown file in the `projects` directory, declare `title` and `layout: page` in the file header, and then add a `page-name` field in the corresponding entry in `projects.yml` pointing to that file. The detail page body can reuse content from a GitHub README or Devpost page.
For deployment, the README recommends Netlify or GitHub Pages. Note that GitHub Pages only supports the user homepage form `username.github.io`, not the project subpath form `username.github.io/repo-name`. Before use, change `url` in `_config.yml` to the actual hosting address and ensure the address ends with `/`.
Local development requires installing Ruby and Bundler. Run `bundle install --path vendor/bundle` to install dependencies, then use `bundle exec jekyll serve` to start a local preview. The template uses the MIT license, allowing free use, modification, commercial use, and distribution of the code, but third-party assets such as demo images, fonts, and icons need to be checked separately for their licenses.
Is it right for your project?
Use Cases
- MLH Prep Fellows organizing and showcasing their projects, internship experience, and educational background according to the template structure
- Personal portfolios that need to turn GitHub README or Devpost project page content into separate detail pages
- Developers who want to maintain portfolio content using YAML data files rather than editing HTML directly
- Jekyll users preparing to deploy a static portfolio to Netlify or a GitHub Pages user homepage
Suitable For
- Prep Fellows participating in the MLH Fellowship who need to submit a portfolio according to the template
- Developers familiar with Jekyll and YAML who want to manage portfolio content with data files
- Individual users planning to deploy a portfolio to Netlify or a GitHub Pages user homepage
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
After creating a repository with the template button, first change url in _config.yml to the actual hosting address and ensure it ends with /
- 2
Fill in projects.yml, experience.yml, and education.yml under the _data directory according to the README examples
- 3
To add a detail page for a project, create a new Markdown file in the projects directory, declare title and layout: page in the header, and add the page-name field in projects.yml
- 4
Local preview requires installing Ruby and Bundler, then running bundle install --path vendor/bundle and bundle exec jekyll serve
- 5
GitHub Pages deployment only supports the username.github.io form, not username.github.io/repo-name
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope is the code of that version and does not mean external services or third-party assets are free.
Must comply with when using
- The code of this version may be used, modified, used commercially, and distributed free of charge.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the complete MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- When deployed to GitHub Pages, only the username.github.io user homepage form is supported, not the username.github.io/repo-name project subpath form; if subpath hosting is needed, use another method such as Netlify.
- Local development and preview require installing Ruby and Bundler yourself and running bundle install and bundle exec jekyll serve; it is not purely static and ready to use out of the box.
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur additional charges.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
Use something like Netlify or GitHub Pages to deploy (note, this only works on username.github.io, not username.github.io/repo-name)
Original README
https://github.com/MLH-Fellowship/portfolio-template/blob/main/LICENSEhttps://github.com/MLH-Fellowship/portfolio-template/blob/main/README.mdMake sure to have Ruby and Bundler installed.
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-02. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- Partly documented · 72 / 100
- Technologies
- Jekyll
- Website type
- Portfolio
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2023-08-14
- Screenshot last checked
- 2026-10-02
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Jekyll as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Automatically checked against source and license rules; no manual editorial review.
Inspect the recorded source material
SHA-256: 3b2ebc2e11d5fb87447e6002671326b2312f8fec22e7b7e81eed2aab3d7bd169
2026-10-02T19:55:30.233Z
Source file / repository# Portfolio Template
This is a Jekyll website template designed for Prep Fellows.
## Make your own!
1. Use the Template button.
2. Update `_config.yml` to contain your information.
1. Change `url` to the URL you'll be hosting it at
2. Make sure it has the /
3. Use something like Netlify or GitHub Pages to deploy (note, this only works on username.github.io, not username.github.io/repo-name)
## Add your portfolio
Head to `_data` and fill out either `projects.yml`, `experience.yml` and `education.yml`.
Project example.
```yaml
- title: Online Shopping Application
event: MLH Prep - Batch 4.5
date: Fall 2021
```
Experience example.
```yaml
- role: MLH Prep Fellow
company: MLH Fellowship
dates: Summer 2021
logo: fellowship.svg
```
Education example.
```yaml
- course: Prep Fellow
institute: MLH Fellowship
dates: Fall 2021
logo: fellowship.svg
```
## Add project posts
1. Make a new `.md` file inside of `projects`.
2. Add the header to your markdown file (see below) and change the title to the name of your blog post.
3. Write your project page! Can be a README from GitHub or your Devpost page.
4. Add the `page-name` field to your `projects.yml` (see below).
Top of post markdown file post.
```
---
title: Project
layout: page
---
```
`projects.yml` with the `page-name` field.
```yaml
- title: Online Shopping Application
event: MLH Prep - Batch 4.5
date: Summer 2021
page-name: project
```
## Development
If you want to test it locally or add some new features, run the below commands. Make sure to have Ruby and Bundler installed.
```
bundle install --path vendor/bundle
bundle exec jekyll serve
```
Explore similar templates
Compare previews and descriptions within the same stack and category.

al-folio
A Jekyll academic homepage theme for scholars and researchers, with a clean responsive design and out-of-the-box support for publication lists, project showcases, CVs, and blogs.
Jekyll · Portfolio

minimal-mistakes
Minimal Mistakes is a two-column Jekyll theme for personal sites, blogs, project documentation, or portfolios.
Jekyll · Portfolio

Beautiful Jekyll
Beautiful Jekyll is a mature, easy-to-use Jekyll blog theme maintained by Dean Attali since 2015, with over 50,000 users.
Jekyll · Blog

So Simple
A minimal reading-oriented Jekyll theme by Michael Rose for personal blogs, portfolios, and long-form reading. It offers multiple layouts, microformat markup, Disqus comments, Google Analytics, Jekyll SEO Tag, three skins, and aggregation by year, category, and tag with a grid view.
Jekyll · Blog

Jalpc
Jalpc is a Jekyll theme for a combined personal homepage and blog. The homepage is split into sections driven by YAML files under _data, so content changes usually do not require editing HTML.
Jekyll · Portfolio

feeling-responsive
A free responsive Jekyll theme built on the Foundation framework, suitable for company sites, portfolios, or blogs. It offers language support, six header styles, customizable navigation and footer, plus documentation and an online demo.
Jekyll · Portfolio
