jsonresume-theme-modern-plain
v1.1.5
Published
A clean, modern JSON Resume theme with a professional two-column layout, PT Sans typography, and optimized for single-page print output
Maintainers
Readme
JSON Resume Theme - Modern Plain
A clean, modern JSON Resume theme with a professional two-column layout. Perfect for developers, engineers, and technical professionals.
Features
- Clean, modern design with PT Sans typography
- Two-column layout (Experience on left, Skills/Education on right)
- Print-optimized styles for single-page output
- Company URLs with link icons displayed after company names
- Social links with icons (Website, LinkedIn, GitHub) showing usernames
- GPA display in education section
- Blue accent colors (#4a89dc / #205bb5)
- Optimized for Safari print-to-PDF
- Support for all standard JSON Resume fields
Installation
Local Development
- Clone or download this repository
- Install dependencies:
npm installUsing with resume-cli or resumed
Install globally:
# Traditional tool
npm install -g resume-cli
# Modern alternative (Note: does not support local theme development with --theme .)
npm install -g @rbardini/resumedNote: This theme works with both tools, but for local theme development (using --theme .), use resume-cli. The resumed package is a more modern alternative but handles local themes differently.
Usage
Command Line Scripts
This theme provides command-line scripts for generating HTML and PDF versions of your resume:
Generate HTML
# Using npm scripts with sample resume
npm run render:sample
# Or with custom input/output
npm run render -- --input=path/to/your-resume.json --output=output.htmlGenerate PDF with Puppeteer
# Using npm scripts with sample resume
npm run pdf:sample
# Or with custom input/output
npm run pdf -- --input=path/to/your-resume.json --output=output.pdfPreview your resume
To preview your resume locally:
resume serve --theme . --resume your-resume.jsonThis will start a local server at http://localhost:4000.
Export to HTML
To export your resume to HTML:
resume export resume.html --theme . --resume your-resume.jsonExport to PDF
Recommended method (Safari):
- Run
resume serve --theme . --resume your-resume.json - Open Safari and navigate to
http://localhost:4000 - Press
Cmd+Pto open print dialog - Uncheck "Headers and Footers" for best results
- Click the PDF dropdown in bottom-left → Save as PDF
This method provides the best single-page output optimized for this theme.
Alternative method (resume-cli):
resume export resume.pdf --theme . --resume your-resume.jsonUsing the included PDF script (with Puppeteer):
npm run pdf:sample
# or
npm run pdf -- --input=path/to/your-resume.json --output=your-resume.pdfNote: The CLI method may produce a two-page PDF. For optimal results, use the Safari print method above or the Puppeteer-based PDF script.
Resume Schema
This theme follows the JSON Resume schema. Here's what sections are supported:
Required/Main Sections
basics- Name, label, email, phone, location, profiles, summarywork- Work experience with highlightseducation- Educational backgroundskills- Technical skills grouped by categorylanguages- Language proficiencies
Optional Sections
projects- Side projects or portfolio itemscertificates- Professional certificationsvolunteer- Volunteer experienceawards- Awards and achievementspublications- Published worksreferences- Professional references
Customization
Colors
The theme uses a blue color scheme. To customize colors, edit style.css:
- Primary blue:
#4a89dc - Dark blue:
#205bb5 - Text color:
#333 - Light gray:
#555
Fonts
The theme uses PT Sans for all text, loaded from Google Fonts. To change fonts, edit the Google Fonts link in resume.hbs and update the font-family in style.css.
Layout
The layout uses a 3:2 ratio for the left and right columns. To adjust, modify the flex values in style.css:
.left-column {
flex: 3; /* Adjust this */
}
.right-column {
flex: 2; /* Adjust this */
}File Structure
jsonresume-theme-modern-plain/
├── index.js # Theme rendering logic
├── resume.hbs # Handlebars template
├── style.css # CSS styles
├── package.json # NPM package configuration
└── README.md # This fileDevelopment
To test changes to the theme:
- Make your changes to
resume.hbs,style.css, orindex.js - Run
resume serve --theme . --resume your-resume.jsonto preview - Refresh the browser to see changes
Print Tips
- For best single-page results, uncheck "Headers and Footers" in Safari print dialog
- The theme is optimized for A4 page size with 8mm margins
- Font size is set to 10pt for print with 1.2 line height
- Page breaks are controlled to keep experience entries together
- Print styles use
!importantdeclarations to ensure proper formatting when converting to PDF - Reduced spacing in print styles for more compact output that fits on one page
License
MIT
Release Process
This project uses automated releases via GitHub Actions. To create a new release:
Update the version in
package.jsonusingnpm versioncommand:- For patch version:
npm version patch - For minor version:
npm version minor - For major version:
npm version major
- For patch version:
Push the changes and the tag:
git push origin master git push origin v[version-number]
Alternatively, create a GitHub release through the web interface, which will trigger the npm publish workflow automatically.
After setting up the automated release process:
- Create an npm access token at npmjs.com
- Add the token as a GitHub secret named
NPM_TOKENin your repository settings
Credits
Based on a professional CV template with modern design principles.
