This bilingual CV system stores content in a YAML file and uses Ruby's ERB templating system to handle format and layout. The templates currently implemented are Markdown and LaTeX; HTML and plain text will follow. You can use xelatex
to create a PDF file from the generated LaTeX file.
escape_html.rb
, escape_md.rb
escape_tex.rb
, and escape_txt.rb
define escape
functions for handling special characters or cases. (For example, &
must be escaped as \&
in HTML, and \\&
in LaTeX. The escape
function also handles other special cases, including links.) Escape characters must appear in square brackets in the YAML file. For example, to include an ampersand, use [&]
.
Store private contact information in the private.de.yaml
and private.en.yaml
files. This information will be omitted from the "web" version of the generated CV (selected with the -w
or --web
option). This is to prevent certain contact information (e.g. phone number, address) from being uploaded to a public repository or website. For an example, see private.example.yaml
.
The -e
or --english
option creates an English version of the CV, using both an i18n
dictionary file (i18n/en.i18n
) and an English version yaml
file with translated information on courses etc. By default, i18n/de.i18n
and cv.de.yaml
are used to create the German versions.
This project is a fork from Ming-Ho Yee's project which was inspired by David Hu's resume project.
For examples, my templates are included in this repository, while the generated resumes are on my website.
Feel free to fork or use this project and adapt the templates for your own resume. (Obviously, the resume content is mine.)
Usage: generate.rb [options]
-i, --input INPUT input file
-p, --private PRIVATE private input file
-t, --template TEMPLATE template file
-w, --web create a web version omitting private information
-e, --english create an English version
The shell script generate.sh
generates .tex
, .md
and .pdf
versions of my CV in German and English as well as separate web versions without private data. Public files are pushed to the _cv-data
-repo. Further, presentations.md
and a presentations.tex
files are created for use in lists of publication.
- Create
.txt
and.html
versions - Create
.docx
versions by using Pandoc CreateMakefile
- Clean up
i18n
files and fully translate theyaml
files
- Ruby
- LaTeX
The resume content in this repo (cv.de.yaml
and cv.en.yaml
) is copyrighted by Stefan Groth.
The rest of the project is licensed under the MIT License.