An online résumé template. Demo Site
- Fully Customizable
- Semantic HTML
- Accessible (WCAG AA)
- h-resume Microformat
- Self-Contained (no external resources)
- Search Engine Optimized (meta, JSON-LD, etc...)
- Critical CSS Inlined
- Print Styles
- NEW PDF version is built automatically
- NEW Contact info encoded in QR code included in the print version
- NEW Fonts fetched and bundled from Google Fonts
- NEW Email and phone are scrambled to protect against spam
- Fork this repository.
- Edit
src/data/meta.jsonto adjusturlaccording to your GitHub username and the name of your forked repository. - After a minute or two, the site will be built automatically.
- To enable GitHub Pages, go to the Settings tab, then Pages, then choose
gh-pageswhere it says "Select a source below to enable GitHub Pages for this repository." - The site will be live at
<your-github-username>.github.io/<forked-repository-name>
- Run
npm installto install the necessary packages - Run
npm startfor a development server and live reloading - Run
npm run buildto generate a production build
To edit the content and design of your résumé, follow these steps:
Open src/data/author.json and edit the information describing yourself. The following properties are supported (optional properties can be removed from the JSON file):
| Key | Description | Required |
|---|---|---|
name |
your full name | required |
occupation |
your job description | required |
location |
your town/state | optional |
avatar |
the file name of your profile photo. Must be located in src/assets/images/ |
optional |
pronouns |
your preferred gender pronouns | optional |
email |
your email address | optional |
telephone |
your phone number | optional |
website |
your personal website | optional |
social |
an array of objects for each social profile you want to link; each object should include a name (e.g. "Github"), user (e.g. "@maxboeck") and url (e.g. "https://github.com/maxboeck") property |
optional |
Open entries/content/introduction.md and edit the text content of the file with your personal short introduction summary. Limit it to 2-3 sentences and convey your motivation. You can edit the title of the section here as well.
The entries for the sections "work experience" and "education" are stored as markdown files in src/entries/work and src/entries/education.
Delete the demo files in there and create your own. The text should describe your responsibilities, learnings or achievements. Include the following frontmatter data:
| Key | Description | Required |
|---|---|---|
title |
the title of the entry. in "work experience", this sould be your role/position, in "education" this should be the degree/certification earned. | required |
start |
ISO timestamp of when you started this job or education. | required |
end |
ISO timestamp of when you ended this job or education. If not defined, that entry will say "- Present" | optional |
organization |
name of your employer (when "work") or school (when "education") | optional |
organizationUrl |
link to website of your employer (when "work") or school (when "education") | optional |
location |
location of company or school | optional |
If you want, you can include the five most starred repositories from your Github account. This will fetch the current data at build time, at most once a day. To do this, edit src/data/repositories.js and change the YOUR_GITHUB_USERNAME var to your Github username.
Edit the files in entries/content/custom if you want to add a freeform section to the end of the CV. This could be a legal disclaimer or an additional
section. Delete the files if you don't want these sections to show up. If a section doesn't contain a lot of text, it will only be as wide as needed.
To assume the full width, add wide: true to the frontmatter data.
Open src/data/meta.json and replace the url with the URL of your hosted résumé. You can also customize the language and color scheme here.
Supported properties are:
| Key | Description | Required |
|---|---|---|
url |
the URL of your hosted résumé, e.g. "https://my-resume.com/resume". |
required |
lang |
the 2-digit language identifier of your résumé, e.g. "en", "de", etc. | required |
locale |
the locale code of your résumé, e.g. "en_US", "de_DE", etc. | required |
colors.primary |
The HEX code of the primary brand color. defaults to blue #005b96 |
optional |
colors.secondary |
The HEX code of the secondary brand color. defaults to red #fc6767 |
optional |
There are a few hardcoded english strings used in the template, such as the section titles and some labels. If you want to change the default language from english to something else, you can translate these strings by changing the values in data/strings.json.
To adjust printable features, such as orientation, column count, font size, etc. edit
src/assets/styles/utils/_variables.scss. This template will create a PDF file by opening a virtual Chrome browser
and using the "Print to PDF" feature.
A QR code encoding your contact information as a vCard will be included in the printed version.
Thanks to Max Böck for creating this template.
Thanks to Eric Bailey for his post "How to not make a résumé in React", which gave me the idea.
- Avatar image generated by GAN at thispersondoesnotexist.com.
