JsonResume creates pretty versions of resume from a single JSON input file. Output formats are specifically customized to modern resume templates. Also, there are a ton of customizations to the templates possible, to make your own version of resume created easily and super quickly.
$ gem install json_resume
$ json_resume sample
A sample prateek_cv.json
is generated in the current working directory(cwd).
Modify it as per the needs, and remove or keep rest of the fields empty.
Note: YAML files are also supported. Try $ json_resume sample --in=yaml
.
- Syntax
json_resume convert [--template=/path/to/custom/template]
[--out=html|html_pdf|tex|tex_pdf|md]
[--locale=es|en|ge|fi|pl|pt|zh_cn|ja]
[--dest_dir=/path/to/put/output/files]
[--theme=default|classic] <json_input>
<json_input> can be /path/to/json OR "{'json':'string'}" OR http://raw.json
NEW: YAML files are also supported. Pass path/to/yaml file (must have .yaml or .yml).
- Default (HTML) version
$ json_resume convert prateek_cv.json
A directory resume/
will be generated in cwd, which can be put hosted on /var/www or on github pages. (Sample)
- HTML* version
html
version without icons can be generated by giving icons
as false
: (Sample)
"settings": {
"icons" : false
},
- PDF version from HTML (Sample)
$ json_resume convert --out=html_pdf prateek_cv.json
- LaTeX version (Sample)
$ json_resume convert --out=tex prateek_cv.json
LaTex also includes a classic
theme. Usage: --theme=classic
(Sample).
- PDF version from LaTeX (Sample)
$ json_resume convert --out=tex_pdf prateek_cv.json
- Markdown version (Sample)
$ json_resume convert --out=md prateek_cv.json
Support for en
, ge
, es
, fi
, pl
and pt
right now. Pull requests for others are welcome.
$ json_resume convert --locale=es prateek_cv.json
It is also possible to define a custom location for locale definitions.
Pass the option --locale_dir=path/to/defs
.
In this location there should be the definitions available.
The default one is en.yml
, others may be provided as well.
This is useful if you want to define new headings.
JSON is parsed as per the markdown
standards. This implies all this works-
- ** bold **,
- _ italics _,
- script<sup>sup<sup/>,
- script<sub>sub<sub/>,
- [href](#),
- <<http://github.com>>
- Output is created using mustache templates. They are located in
templates/
. These can be modified and given as--template=/path/to/template
toconvert
.
- Download the svg(s) you would like to use from a site like IcoMoon or IconFinder and chose size as 16X16.
- Download the official
json_resume
svgs from the json_resume_icon repo zip. Unzip it, svgs are present in/SVG
. - Drag all svgs (including yours) onto the grumpicon and then "downlode it".
- Drag all the files (
.css
and.png
) from thegrunticon
folder into your localjson_resume
gem's folderjson_resume-1.X.X/extras/resume_html/public/css/
, replacing existing files (Read this to find your gem's location in your machine). - Modify your HTML mustache template to include your icons. Specifically, edit the
div
class in the template to include your new grunticon (<div class="icon-user icon-square">
, where "user" is the SVG name). You can also check grunticon's generatedpreview.html
file to verify the icon class name. - Run
json_resume convert --template=/path/to/template <json>
, and you should be able to see the changes in the generated HTML. Also, steps 1-5 are to be done just once and the icons will be stored within your local gem.
- Glyphicons are now replaced by Font-Awesome icons.
- HTML version has a responsive design.
- Supports i18n. (Supporting
es
,pt
right now). - New classic theme for latex format.
Many awesome formats can be created by writing new mustache templates. We ❤️ Pull Requests.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
If you want to checkout your local changes do the following:
gem build json_resume.gemspec
sudo gem install ./json_resume-x.y.z.gem