Skip to content

bloomingbridges/CVML

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CVML

Curriculum Vitae Markup Language

The aim of this project is to replace the need for expensive and cumbersome desktop publishing applications for when you just want to make that quick change to your CV before sending it off one more time.

CVML is a markup language for the pdfkit module, but can also be rendered as HTML (and styled via CSS) if need be.

FAQ

  • Do you really think YOUR (two column) CV layout is the ultimate layout there is?

    No, I don't. There will be means of creating your own layout if you wish. This project was started primarily out of a need that I have discovered for myself, which explains why things look a certain way, but doesn't mean I wasn't open for suggestions.

  • Is this really necessary? Why not just use plain / markdown flavour XY instead?

    Markdown alone simply doesn't cut it for me. One feature of CVML is denoting how important a row of information is, which then can be addressed in the stylesheet. Littering markdown with unnecesary HTML fragments to add classes to elements isn't intuitive enough. Besides, every text node in CVML will be interpreted as markdown anyway, I'm not reinventing the wheel here.

Syntax

---
name: Edgar Exampleson
title: Curriculum Vitae - Edgar Exampleson
cssPath: default.css
--- <-- YAML metadata

=== Personal Details <-- Start a new section

 -- Name <-- Important row
    Edgar Exampleson

  - Born <-- Standard row
    05.05.2000, Examplestad (Sweden)

/// I'm a <-- comment

  = = <-- Separator

  - Email
    [[email protected]](mailto:[email protected]) <-- markdown link

  . . <-- Denotes a Page Break (PDF only)

Preview output using default template:

Example output

(Envisioned) Usage

$ node cvml.js [options] <myfilename.cvml>

-h, --help                 Output Usage Information
-v, --verbose              Enable "Verbose Output"

-r, --renderer [extension] Use a custom PDF renderer
-s, --style [stylesheet]   Provide a custom stylesheet file in .json / .css format - overrides 'cssPath'

-p, --pdf                  Produces a PDF (default)
-w, --html                 Produces a HTML document instead

TODO

  • Finalise CVML syntax and features
  • Write tutorial on how to extend the default PDF renderer in order to make your custom layout
  • Package everything up in a nice little NPM module and make it work from everywhere
  • (Clean up after myself..)

About

Curriculum Vitae Markup Language

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published