DEV Community ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป

DEV Community ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป is a community of 966,904 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

Create account Log in
Carolyn Stransky
Carolyn Stransky

Posted on • Updated on • Originally published at workwithcarolyn.com

Creating a digital CV in Markdown on GitHub

In early August, I announced on Twitter that I was looking for my next role. My tweet included a link to my digital CV and ever since Iโ€™ve received a lot of questions about how I built it. So hereโ€™s a short guide!

This guide is based on a Twitter thread that I saw back in 2017. Unfortunately, I canโ€™t remember who posted itโ€ฆ but if it was you, please know that I really appreciate you!

โš ๏ธ Prerequisites:

โœ… Steps:

  1. Create a new public repository on GitHub
  2. Enable GitHub Pages for your repository
  3. Select a theme (design template) for your CV
  4. Write your CV in Markdown
  5. Enjoy ๐Ÿ’…๐Ÿผ
  6. Optional: Set up a custom domain
  7. Show me your CV ๐Ÿ’Œ

Create a new public repository on GitHub

Everything we need for our digital CV will live in a repository on GitHub.ย 

To start, create a new repository without a template.

The GitHub top-level navigation. The cursor is clicking "New repository".

Choose a name (I called my cv) and include a description if you want.ย Make sure it's public.

This digital CV will be hosted with GitHub Pages, which requires your repository to be public.

And finally, don't initialize it with anything.

While you won't be importing an existing repository, it helps makes the process less complicated to start with a completely blank repository. You'll see why later!

The new repository's settings. Most important is that it's public and not initialized with anything.

Enable GitHub Pages for your repository

Your digital CV will be hosted with GitHub Pages. GitHub Pages allows you to host personal and project pages directly from a GitHub repository. Itโ€™s great because itโ€™s free and the functionality is built-in to GitHub so thereโ€™s no need for an additional account or a complex build pipeline.

To enable GitHub Pages for your CV, go to your repositoryโ€™s Settings page.

Repository's menu bar with a box around Settings.

Scroll until you find the GitHub Pages section. There are two subsections here: Source and Theme Chooser.

GitHub Pages section of the Settings. This will be described later in the article.

Under Source, it should say, โ€œGitHub Pages is currently disabled. You must first add content to your repository before you can publish a GitHub Pages site.โ€ Because your repository is empty, you have no branches and youโ€™re unable to select a source. Thatโ€™s ok! This will be taken care of momentarily.

The subsection you want is Theme Chooser. Here, youโ€™ll select a design template for your site. This will then create a gh-pages branch and publish your site with your selected theme from that branch.ย 

All of the options are Jekyll themes. If you donโ€™t know Jekyll, thatโ€™s ok. This guide will walk you through the necessary configuration. Honestly, I have no idea how Jekyll works beyond GitHub Pages templates.

Select a theme (design template) for your CV

CVs are supposed to give future employers an idea of who you are - so choose a theme that speaks to you! For this guide, weโ€™ll continue with the โ€œMinimalโ€ theme as an example because thatโ€™s the one I use for my CV.

Theme selection page, with a focus on the Minimal theme. Below the selection bar, there is a preview of this theme.

Once you select your theme, youโ€™ll be prompted to edit a new index.md file.ย 

Markdown editor page with a new index.md file and some boilerplate content.

Before you dive into that, there are a few things that happened in the background that you should know aboutโ€ฆ

  • A new gh-pages branch was created (as mentioned earlier).
  • This index.md file was created.ย 
  • Jekyll theme was set to โ€œMinimalโ€.

GitHub Pages confirms your theme selection by creating a file called _config.yml. By default, this file will only contain a theme field with your selection.ย 

Hereโ€™s what the _config.yml will look like if you select the "Minimal" theme:

theme: jekyll-theme-minimal

For my CV, I also added title and description fields:

theme: jekyll-theme-minimal
title: ๐Ÿ’ปโœ’๏ธ๐Ÿ“„๐ŸŒŸ
description: Carolyn Stransky's CV

You can check out all of the configuration possibilities in the Jekyll documentation.

Write your CV in Markdown

Alright, back to the generated file. This is where all of the content for your CV will be.

First, you should rename that index.md file to README.md. This is optional, but having it as a README allows people to see your CVโ€™s content immediately when they visit your repository. This is especially useful if you decide to pin your CV repository to your GitHub profile.

If thereโ€™s no index.md present, then your README will work automatically with GitHub Pages - no additional configuration required.

Then, you can write your CV โœ๐Ÿป

New file is now named README.md. The boilerplate content has been replaced with personal CV information.

Youโ€™ll write and style your content using Markdown and then it will be rendered according to your selected theme.

For tips on how to showcase your skills effectively, Iโ€™d recommend Monica Lentโ€™s article: 7 software developer resume tips to help you stand out.ย If youโ€™re looking for inspiration on how to style your content in Markdown, you can also check out my digital CV.ย 

Once youโ€™re satisfied, commit your changes to the gh-pages branch.ย 

Enjoy your new digital CV

It might take a few minutes to go live - but your fresh, new, digital CV should now be available on the interweb ๐ŸŽ‰

In most cases, your page will be hosted at the following url:

<github-username>.github.io/<repository-name>

You can always confirm that your CV is published and what the url is by navigating back to the GitHub Pages section in your repositoryโ€™s settings.

If your digital CV isnโ€™t updating after pushing a commit and waiting a few minutes, try doing a hard refresh.

Optional: Set up a custom domain

Custom domains can help your CV stand out - or alternatively, use your digital CV as a personal website.

Admittedly Iโ€™ve never set up a custom domain for my CV, but there are step-by-step instructions for how to do this in the GitHub documentation.ย 

If youโ€™re not sure where to get domains, I like Namecheap.

Show me your CV

If you followed this guide and built a digital CV, Iโ€™d love to see it! Tweet me a link @carolstran ๐Ÿ’–


Did you find this helpful or useful? If yes, please consider buying me a coffee so I can continue to write posts like this โ˜•๏ธ

Top comments (3)

Collapse
 
dineshrathee12 profile image
Dinesh Rathee

Excellent work Carolyn , Much Appreciated , thanks for sharing ! I'll try that too :) ...

Collapse
 
trinwin profile image
Trinity Nguyen

Thank you Carolyn. I have been waiting for this. I saw your cv and fall in love. I'll create one for myself too. Thank you for the tutorial ๐Ÿฅณ

Collapse
 
alvinkaranja profile image
Alvin Karanja

The content is well explained. You have made me to start thinking about creating a CV in Markdown. I'll give it a try.

๐ŸŒš Life is too short to browse without dark mode