1

GitHub - hexagonkt/codecv: Manage your resume as structured data: CV format spec...

 1 year ago
source link: https://github.com/hexagonkt/codecv
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

CodeCV

Manage your resume as structured data.

This project has two sides:

  • CV format specification and documentation
  • Reference tool to cover the basis of CV maintenance

Here you can see a 3 min quick demo.

thinking Motivation

The format was developed and evolved with the simple requirement to store and maintain my own CV.

The main driver for this development was to separate content from presentation. Also using open standards that prevented the need to keep documents updated upon new Word Processor versions.

Over the years my CV has become big and the need to split it in different files and provide different versions has arisen (i.e.: a brief version and a full one, one with partial education and other only with finished degrees, etc.). So a modular approach has been implemented to fulfill this requirement.

dart Goals

  1. Readable CVs in code form
  2. Leverage existing editors features (use a JSON schema version widely supported)
  3. Allow documents to be imported and exported easily from/to other sites
  4. Create documents in a flexible way. Composing files to make your CV modular.
  5. Not only state your career's details, but also record details of what happened (i.e.: why you quit a job, etc.). You can think of it as a professional diary
  6. Batteries included: provide a reference tool to manage and maintain CV documents

recycle Differences with other CV formats

  • Allow to compose CVs in a modular way (including different files to create profiles) creating different views from the data
  • It is field compatible with other formats as JSON Resume, Eures and Manfred MAC (import/export functionality pending)

page_facing_up CV Format Schema

The CV JSON schema is located at /cv.schema.json. The URL to use on the CVs will be: https://raw.githubusercontent.com/hexagonkt/codecv/<version>/cv.schema.json. Being version the schema version (master can be used to link to the latest published version).

The schema can be used to validate documents in different formats (YAML, JSON and TOML at the moment).

The format allows the use of the $schema key to reference the schema URL (this key is used by some editors to attach a schema to a file).

Some formats (YAML and TOML) allow the use of a 'shebang' to make them "executable" and launch the CV server automatically upon execution. Check the examples for more information.

toolbox Examples

You can check some CV examples (in different formats) on the /examples directory.

There are some modular CVs definitions in the /examples/modular directory. These CV files use the Resources key to include different files in different cv documents, allowing to have different documents with different data each one.

art Templates

The templates are attached to documents with the Templates key (each document can get a different template).

A sample template is provided as an example and a reference to create different ones. The template engine used to render it is the Pebble Template Engine.

robot Reference Tool

Compiling this project you will get an application with the following features:

  • Change a CV file data format (among JSON and YAML)
  • Check the schema documentation in HTML
  • Render a CV to a Web page (allowing it to be printed)

To compile this tool you will need a JDK 16+. After installing it, executing gradlew build on the project root directory will create a binary on /build/codecv/bin/codecv.

To use the tool in CVs' shebangs you need to copy or link the binary to a directory in the $PATH variable. On Unix systems you can do so with (assuming ~/.local/bin is in the path): ln -s "$(pwd)/build/codecv/bin/codecv" "$HOME/.local/bin/cv"

level_slider️ Editor Settings

JSON schemas are assigned to files based on patterns registered on a central repository. As the CodeCV format is not registered there yet, you may have to register it on your editor of choice.

However, some editors (most notably Visual Studio Code) support schema binding via the $schema key on the documents, if your editor support this convention, you won't need to change its settings.

handshake Contributing

This project is Open Source under the MIT License. If you want to propose an improvement, file a bug or resolve a usage doubt, you are absolutely encouraged to do so! Read the contributing guide for details on how to proceed on each case.

Also, if you want to contribute a new feature on the tool or a change on the schema. You can also do so by creating an issue and filing a PR. Please read the contributing guide before doing so.

heart Support the Project

If you want to see more progress on this project, and see more developer targeted tools, spread the word on social networks! and don't forget to give it a star!

To be notified on updates or new tools developed within the Hexagon organization. Follow the Twitter account (@hexagon_tk) and the GitHub organization.

Thanks for your support!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK