modern-resume-theme
A modern static resume template and theme. Powered by Jekyll and GitHub pages.
Top Related Projects
:page_facing_up::briefcase::tophat: A simple Jekyll + GitHub Pages powered resume template.
A Bootstrap 4 resume/CV theme created by Start Bootstrap
A minimal Jekyll Theme to host your resume (CV) on GitHub with a few clicks.
Quick Overview
Modern Resume Theme is a Jekyll-based GitHub Pages template for creating a modern, responsive resume or CV website. It offers a clean and customizable design, making it easy for users to showcase their professional experience, skills, and achievements in an attractive online format.
Pros
- Easy to set up and deploy using GitHub Pages
- Highly customizable through YAML configuration
- Responsive design that looks great on desktop and mobile devices
- Built-in support for multiple color schemes
Cons
- Limited to static content (as it's based on Jekyll)
- Requires basic knowledge of Git and GitHub for updates
- May require some CSS knowledge for advanced customization
- Limited built-in sections compared to some other resume builders
Getting Started
- Fork the repository on GitHub
- Edit the
_config.yml
file with your personal information - Customize the content in the
_data
folder - Push changes to your GitHub repository
- Enable GitHub Pages in your repository settings
Example _config.yml
configuration:
# Site
repository: sproogen/modern-resume-theme
favicon: images/favicon.ico
# Personal info
name: Your Name
title: Your Job Title
email: your-email@example.com
website: www.yourwebsite.com
# Social links
twitter_username: jekyllrb
github_username: jekyll
dribbble_username: jekyll
facebook_username: jekyll
flickr_username: jekyll
instagram_username: jekyll
linkedin_username: jekyll
xing_username: jekyll
pinterest_username: jekyll
youtube_username: jekyll
googleplus_username: +jekyll
# About Section
about_title: About Me
about_profile_image: images/profile.jpg
about_content: | # this will include new lines to allow paragraphs
Write an awesome description about yourself here...
# Projects Section
# projects_title: Projects #(Use this to override the 'Projects' section title)
# Experience Section
# experience_title: Experience #(Use this to override the 'Experience' section title)
# Education Section
# education_title: Education #(Use this to override the 'Education' section title)
# More Section
# more_title: A Little More About Me #(Use this to override the 'A Little More About Me' section title)
# Footer
footer_show_references: true
# Build settings
remote_theme: sproogen/resume-theme
sass:
sass_dir: _sass
style: compressed
plugins:
- jekyll-seo-tag
After configuring your _config.yml
file and customizing the content in the _data
folder, commit and push your changes to GitHub. Then, enable GitHub Pages in your repository settings to make your resume website live.
Competitor Comparisons
:page_facing_up::briefcase::tophat: A simple Jekyll + GitHub Pages powered resume template.
Pros of resume-template
- More customizable with HTML and CSS, allowing for greater flexibility in design
- Includes a print-specific stylesheet for better-looking printed resumes
- Offers a wider variety of pre-designed sections (e.g., recognition, associations)
Cons of resume-template
- Requires more technical knowledge to customize compared to modern-resume-theme
- Less mobile-friendly out of the box
- Lacks built-in dark mode support
Code Comparison
resume-template:
<section class="content-section">
<header class="section-header">
<h2>Work Experience</h2>
</header>
<!-- Job entries go here -->
</section>
modern-resume-theme:
content:
- title: Job Title
company: Company Name
link: Link to company
job_title: Job title
dates: Date Range
quote: >
Short description of the company (optional)
description: | # this will include new lines to allow paragraphs
Description of role
The code comparison shows that resume-template uses HTML structure, while modern-resume-theme utilizes a YAML-based configuration for content, making it easier for non-technical users to update their resume information.
A Bootstrap 4 resume/CV theme created by Start Bootstrap
Pros of startbootstrap-resume
- More customizable with Bootstrap framework
- Responsive design out-of-the-box
- Includes pre-built sections for skills, interests, and awards
Cons of startbootstrap-resume
- Requires more setup and configuration
- Less minimalist design compared to modern-resume-theme
- May require more CSS knowledge for customization
Code Comparison
modern-resume-theme:
# _config.yml
name: Your Name
title: Your Job Title
email: your.email@example.com
phone: 123 456 7890
startbootstrap-resume:
<!-- index.html -->
<div class="subheading mb-5">
<a href="mailto:name@email.com">name@email.com</a>
</div>
<p class="lead mb-5">I am experienced in leveraging agile frameworks...</p>
The modern-resume-theme uses a YAML configuration file for personal information, while startbootstrap-resume requires direct HTML editing. This makes modern-resume-theme potentially easier for non-developers to update, but startbootstrap-resume offers more flexibility in layout and content structure.
Both themes provide clean, professional designs suitable for online resumes or CVs. The choice between them depends on the user's preference for simplicity versus customization, and their comfort level with HTML/CSS editing.
A minimal Jekyll Theme to host your resume (CV) on GitHub with a few clicks.
Pros of online-cv
- More customization options for layout and design
- Includes a skills section with progress bars
- Supports multiple language versions of the resume
Cons of online-cv
- Less modern and minimalist design compared to modern-resume-theme
- Requires more manual configuration and editing of HTML/CSS
- Limited built-in color scheme options
Code Comparison
modern-resume-theme:
# _config.yml
name: Your Name
title: Your Job Title
email: your.email@example.com
phone: 123 456 7890
online-cv:
# _data/data.yml
name: Your Name
tagline: Your Job Title
email: your.email@example.com
phone: 123 456 7890
skills:
- skill:
name: Python & Django
level: 98%
The main difference in configuration is that online-cv uses a separate YAML file for data, while modern-resume-theme incorporates this information directly into the _config.yml file. online-cv also allows for more detailed skill entries with progress bars.
Both themes are Jekyll-based and can be easily deployed on GitHub Pages. modern-resume-theme offers a cleaner, more contemporary look, while online-cv provides more customization options and detailed sections for showcasing skills and projects.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
modern-resume-theme

A modern simple static resume template and theme. Powered by Jekyll and GitHub pages.
Host your own resume on GitHub for free!
Announcements
-
Nov 2020 - Content configuration version 2 released. Added a new more configurable way of adding data to the resume. Add as many content sections as you like in what ever order you want. Currently just text and list but future categories coming soon. Full backwards compatibilty with version 1 remains and the documentation for version 1 can be found here (Version 1 Readme).
-
Dec 2019 - Now includes Dark Mode
Thank you for checking out my resume theme / template. If you have any feedback or suggestions for things I can add please let me know by by raising an issue, I'm always happy to help.
I always enjoy seeing how people are using my creations and if you would like to say thanks feel free to buy me a coffee (buymeacoffee.com/vJ6HfLu).
If you would like to see how I am using this then you can view my resume here (jameswgrant.co.uk) and find the code here (sproogen/jameswgrant), hopefully this might help you.
You can view the project roadmap here.
Installation & setup guide
This template is designed to be hosted using GitHub pages and so that's what these instructions will cover. If you plan on hosting it seperately then there might be some extra steps that we wont cover.
Before starting it might be useful to familiarise yourself with Jekyll, Markdown and GitHub pages.
Step 1 - GitHub
Start by creating an account on GitHub
Step 2 - Create Repository
Create a repository on GitHub to hold your files and host your resume. You can find out how to do that here
Step 3 - Download Resume Template
Download and extract the following zip into the git repository you have just created. resume-template.zip
Step 4 - Push it
Commit and push the resume template to github
$ git add --all
$ git commit -m "Initial resume setup"
$ git push -u origin master
Step 5 - See it
You should now be able to see the demo resume template using this theme at [your-username].github.io
Usage
So now you will be able to see the demo template at your github URL. You can can edit the yml files and replace the demo content with your own. Hopefully it will be fairly simple to work out where all the content goes, but here is a quick overview.
_config.yml
This will contain all the of the main configuration for your resume such as your name, email, social media links and about me content. It also contains all the content for your resume.
A full example of the _config.yml can be found here
Content
The main content for you resume will all come under the content property in the _config.yml
file. This can be quite complex and a good understanding on YAML will be helpful here.
Content will contain an array of sections, there are currently 2 types of layouts for content sections, text and list.
text is a basic layout that contains markdown content.
list is a the standard layout that is used for things like Education and Experience.
Below is a the full list of content options.
content:
- title: Section Name
layout: list (options: list, text)
content:
- layout: left (options: left, right, top, top-right, top-middle)(default: left)
title: Name of item (eg. Company or Project name)
sub_title: Sub title (eg. Qualification or Job title)(optional)
caption: Item caption (eg. Employment or course dates)(optional)
link: Web link (eg. https://sproogen.github.io/modern-resume-theme)(optional)
link_text: Text for link (optional: without this link will show URL as link text)
additional_links: (optional)
- title: Link name
icon: Font Awesome brand icon name (eg. fab fa-twitter) (https://fontawesome.com/icons?d=gallery&s=brands&m=free)
url: Link url (eg. https://google.com)
quote: >
Short overview or quote for the item
description: | # this will include new lines to allow paragraphs
Main content area for the list item.
- title: Section Name
layout: text (options: list, text)
content: | # this will include new lines to allow paragraphs
This is where you can write a little more about yourself. You could title this section **Interests** and include some of your other interests.
Or you could title it **Skills** and write a bit more about things that make you more desirable, like *leadership* or *teamwork*
Note: The description or content areas (fields starting with | #
) use markdown, this means that you have the ability to format the section in many different ways and add things such as images, code & syntax highlighting and tables. You can find a good Markdown cheatsheet here
Additional links
If you would like to add more than the predefined social links in the config file, then you can use the additional_links
field to add as many additional links with urls and font awesome icons as you wish.
Dark Mode
Dark mode is configured via _config.yml
darkmode: true (options: true, false, never)
When dark mode is true
the site will show the dark theme for everyone
When dark mode is false
the site will not show the dark theme, but it will still respect the users device preferences
When dark mode is never
the site will never be shown in the dark theme
Heading Anchors
You can link to section titles using a Markdown anchor link, e.g.: [About me](#about-me)
. The link after the #
is the slug version of the title.
assets/main.scss
Add any css changes or additions you want to make here after the line @import 'modern-resume-theme';
Running locally
Before you start make sure you have Ruby and the gems for Jekyll installed locally. You can find out how to do that here.
- Clone your resume repository locally (if you haven't already)
cd [your-repository-name]
bundle install
bundle exec jekyll serve
- Open your browser to
http://localhost:4000
Any changes you make will automatically build and you will be able to see these by refreshing your browser.
Note: You will need to re-run bundle exec jekyll serve
to see changes made in _config.yml
.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/sproogen/modern-resume-theme. You can view our full guide to contributing here This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
Development
Locally
Before you start make sure you have Ruby and the gems for Jekyll installed locally. You can find out how to do that here.
Note: You will need version 1.15.2
of bundler, as this is the only version that Heroku supports.
- Fork and or clone this repository locally
cd modern-resume-theme
bundle install
bundle exec jekyll serve
- Open your browser to
http://localhost:4000
Any changes you make will automatically build and you will be able to see these by refreshing your browser. To find out more about Jekyll take a look here.
Note: You will need to re-run bundle exec jekyll serve
to see changes made in _config.yml
.
Docker
If you have docker installed you can simply run docker-compose up
to launch the site in a container, it will then be hosted at http://localhost:4000
License
The theme is available as open source under the terms of the MIT License.
Top Related Projects
:page_facing_up::briefcase::tophat: A simple Jekyll + GitHub Pages powered resume template.
A Bootstrap 4 resume/CV theme created by Start Bootstrap
A minimal Jekyll Theme to host your resume (CV) on GitHub with a few clicks.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot