Skip to content

glospoto/cv-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CV-Generator

Tool for generating LaTeX-based CVs starting from LaTeX content stored into XML files.

Overview

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.

CV Structure

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.

Folder Structure

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 CV
  • log.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

Usage

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.

About

Tool for generating LaTeX-based CVs

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages