Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Build Status Code style: black

pyhtmlcv

Generate HTML CVs from simple (enough) configuration files.

No Word documents, no annoying WYSIWYG editors that leave layout issues here and there. Just pure JSON and HTML.

Easily extensible template system.

Example configuration is provided in the form of my personal CV.

The configuration format is not exactly self-explanatory however:

  • Giving an array to sections -item's "large" field, will convert it's contents to an ul -list, making each array item an li
  • Adding a plain text string to list of sections, adds a h2 -separator on the page
  • The contents are NOT HTML encoded when outputting, to make it possible to do minor alterations with HTML tags
  • Adding the string "-" to list of sections, will add a page break in that position. It will not show up in the browser, but when the page is printed, it will force a page break there. The styles were created so they would also support printing, but some browsers (e.g. Firefox) lack proper support for the relevant CSS styles, and guessing is hard, so you might need to add these to make it work a bit better.

Running

Running this tool requires Python. Using Poetry is recommended.

For most common usage you will likely want to run:

poetry install
poetry run python pyhtmlcv.py --watch

Or without Poetry installed:

pip install virtualenv
virtualenv .venv
pip install -r requirements.txt
python pyhtmlcv.py --watch

This will install the dependencies in a Python virtualenv and start the tool watching for any changes you do to the template or source JSON, and it will generate the site to generated/cv.json/index.html whenever it detects changes.

Add --help for more options.

This is however NOT necessary if you use Travis-CI as per suggested use.

Suggested use

  • Clone / Fork this repository on your own GitHub account
  • Update cv.json
  • Go generate a color scheme that suits your needs at http://colorschemedesigner.com/ and update templates/default/variables.scss (or create a whole new template)
  • You might want your face on your CV instead of mine, updating templates/default/cv_image.jpg is the easiest way to do that.
  • Confirm that the result is good. Pasting certain special characters from Word, for example, can cause issues in the output.
  • Enable Travis-CI for your repository
  • Configure $GITHUB_TOKEN for GitHub pages deployment
  • Check out your cool new CV at your repo's GitHub Pages URL, e.g. https://lietu.github.io/pyhtmlcv/

License

BSD 3-clause.

About

Generates HTML CVs from a JSON configuration with Python.

Resources

License

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.