Tool for generating LaTeX-based CVs starting from LaTeX content stored into XML files.
CV-Generator takes a set of XML files as input and produces a LaTeX-based CV, which can be compiled with any LaTeX engine. The tool is written in Java and Maven has been used as dependencies tool.
The tool generates CV with a (almost) fixed structure, having:
- an education section, including all the grades (e.g., Master degree);
- a work experience section, reporting all the professional experience, in cronologiacal order;
- a project section, describing in details all the project which the person has been involved in;
- a skill section, collecting all the (hard and soft) skill;
- a language section, including all the spoken/written languages with the corresponding levels (e.g., mother tongue)
- a publication section, list all the (academic) publications;
- an authorization section, which is needed to allow the HR office to process the information.
Additionally, a special section reports all the personal information (e.g., email address).
The tool is capable of generating CVs in two languages: Italian and English, by means of a specific parameter; using a flag, the structure can be modified by hiding the project section, as well as some personal information can be hidden by means of an option.
All the details about sections are described in the dedicated section.
CV-Generator folder structure is the following:
.
├── config/
│ ├── app.properties
│ └── log.properties
├── content/
├── cv-generator
├── it/
├── lib/
├── log/
├── result/
└── template/
The config
folder inludes the configuration files for the tool; there are two files:
app.properties
, which encloses name and surname to be used in the CVlog.propoerties
, which reports the log configuration. Please, do not edit this file, unless you are extremely sure about what you are changing.
The content
folder contains all the XML files used to build sections up. All the details can be found in the proper section.
All the application class files are located in the it
folder, whereas all the libraries (as jar files) are inside the lib
folder.
The log
folder is self-explaining :)
The rendered template is stored by CV-Generator in the result
folder as a LaTeX document (just need to compile it), whereas the template can be found in the template
folder. Velocity is used as template engine; additional information about templates is described in the template section
All the following commands are supposed to be executed on Linux distributions.
Maven is used to manage dependancies; to make all the libraries available to the application (outside the IDE), please make sure to run the following command:
mvn process-sources
Such a command simply copies all the dependancies (as jar files) into the target/classes/lib
folder. Once this command has been executed, the content of the target/classes
folder can be copied to any location and CV-Generator will be ready to be used.
To use CV generator just run
./cv-generator [options]
The command syntax follows:
usage: cv-generator [-l <language>] [-p] [-s]
Generate a CV choosing language and format.
-l,--lang <language> Set CV language; available values are: it, en
-p,--privacy Hide sensible information, such as phone number
and born date
-s,--short Generate short CV version
By using this command will require to separately access the result
folder and proceed to compile the LaTeX document, since it only renders the template according to parameters. To simply the LaTeX compilation, a Makefile is available inside result
to easily generate the corresponding pdf file; the command to execute is make pdf
.