1
0
mirror of https://github.com/JuanCanham/HackMyResume.git synced 2024-11-05 09:56:22 +00:00
Go to file
2015-11-20 08:29:19 -05:00
assets Rename "FluentCMD" to "FluentCV". 2015-10-27 03:54:50 -04:00
src Implement "convert" command. 2015-11-20 08:29:19 -05:00
tests Implement "convert" command. 2015-11-20 08:29:19 -05:00
.gitattributes Enforce Unix line endings on JS files. 2015-10-09 05:05:17 -04:00
.gitignore Introduce FluentLib sources. 2015-10-26 12:30:00 -04:00
Gruntfile.js Introduce FluentLib sources. 2015-10-26 12:30:00 -04:00
LICENSE.md Update license to MIT. 2015-10-07 02:20:48 -04:00
package.json Bump version to 0.9.0. 2015-11-19 01:57:43 -05:00
README.md Update README. 2015-11-19 17:43:54 -05:00

fluentCV

Generate beautiful, targeted resumes from your command line or shell.

FluentCV is a hackable, data-driven, dev-friendly resume authoring tool with support for HTML, Markdown, Word, PDF, YAML, plain text, smoke signal, carrier pigeon, and other resume formats.

Looking for a desktop GUI version with pretty timelines and graphs? Check out FluentCV Desktop.

Features

  • Runs on OS X, Linux, and Windows.
  • Store your resume data as a durable, versionable JSON or YAML document.
  • Generate polished resumes in multiple formats without violating DRY.
  • Output to HTML, PDF, Markdown, MS Word, JSON, YAML, plain text, or XML.
  • Compatible with FRESH, JSON Resume, FRESCA, and FCV Desktop.
  • Validate resumes against the FRESH or JSON Resume schema.
  • Support for multiple input and output resumes.
  • Free and open-source through the MIT license.
  • Forthcoming: StackOverflow and LinkedIn support.
  • Forthcoming: More themes.

Install

FluentCV requires a recent version of Node.js and NPM. Then:

  1. Install the latest official wkhtmltopdf binary for your platform.
  2. Install fluentCV with [sudo] npm install fluentcv -g.
  3. You're ready to go.

Use

Assuming you've got a JSON-formatted resume handy, generating resumes in different formats and combinations easy. Just run:

fluentcv generate [inputs] [outputs] [-t theme].

Where [inputs] is one or more .json resume files, separated by spaces; [outputs] is one or more destination resumes, each prefaced with the -o option; and [theme] is the desired theme. For example:

# Generate all resume formats (HTML, PDF, DOC, TXT, YML, etc.)
fluentcv generate resume.json -o out/resume.all -t modern

# Generate a specific resume format
fluentcv generate resume.json -o out/resume.html
fluentcv generate resume.json -o out/resume.pdf
fluentcv generate resume.json -o out/resume.md
fluentcv generate resume.json -o out/resume.doc
fluentcv generate resume.json -o out/resume.json
fluentcv generate resume.json -o out/resume.txt
fluentcv generate resume.json -o out/resume.yml

# Specify 2 inputs and 3 outputs
fluentcv generate in1.json in2.json -o out.html -o out.doc -o out.pdf

You should see something to the effect of:

*** FluentCV v0.9.0 ***
Reading JSON resume: foo/resume.json
Applying MODERN Theme (7 formats)
Generating HTML resume: out/resume.html
Generating TXT resume: out/resume.txt
Generating DOC resume: out/resume.doc
Generating PDF resume: out/resume.pdf
Generating JSON resume: out/resume.json
Generating MARKDOWN resume: out/resume.md
Generating YAML resume: out/resume.yml

Advanced

Applying a theme

You can specify a predefined or custom theme via the optional -t parameter. For a predefined theme, include the theme name. For a custom theme, include the path to the custom theme's folder.

fluentcv generate resume.json -t modern
fluentcv generate resume.json -t ~/foo/bar/my-custom-theme/

As of v0.9.0, available predefined themes are modern, minimist, and hello-world, and compact.

Merging resumes

You can merge multiple resumes together by specifying them in order from most generic to most specific:

# Merge specific.json onto base.json and generate all formats
fluentcv generate base.json specific.json -o resume.all

This can be useful for overriding a base (generic) resume with information from a specific (targeted) resume. For example, you might override your generic catch-all "software developer" resume with specific details from your targeted "game developer" resume, or combine two partial resumes into a "complete" resume. Merging follows conventional extend()-style behavior and there's no arbitrary limit to how many resumes you can merge:

fluentcv generate in1.json in2.json in3.json in4.json -o out.html -o out.doc
Reading JSON resume: in1.json
Reading JSON resume: in2.json
Reading JSON resume: in3.json
Reading JSON resume: in4.json
Merging in4.json onto in3.json onto in2.json onto in1.json
Generating HTML resume: out.html
Generating WORD resume: out.doc

Multiple targets

You can specify multiple output targets and FluentCV will build them:

# Generate out1.doc, out1.pdf, and foo.txt from me.json.
fluentcv generate me.json -o out1.doc -o out1.pdf -o foo.txt

You can also omit the output file(s) and/or theme completely:

# Equivalent to "fluentcv resume.json resume.all -t modern"
fluentcv generate resume.json

Using .all

The special .all extension tells FluentCV to generate all supported output formats for the given resume. For example, this...

# Generate all resume formats (HTML, PDF, DOC, TXT, etc.)
fluentcv generate me.json -o out/resume.all

..tells FluentCV to read me.json and generate out/resume.md, out/resume.doc, out/resume.html, out/resume.txt, out/resume.pdf, and out/resume.json.

Validating

FluentCV can also validate your resumes against either the FRESH / FRESCA or JSON Resume formats. To validate one or more existing resumes, use the validate command:

# Validate myresume.json against either the FRESH or JSON Resume schema.
fluentcv validate resumeA.json resumeB.json

FluentCV will validate each specified resume in turn:

*** FluentCV v0.9.0 ***
Validating JSON resume: resume.json (INVALID)
Validating JSON resume: resume.json (VALID)

Prettifying

FluentCV applies js-beautify-style HTML prettification by default to HTML-formatted resumes. To disable prettification, the --nopretty or -n flag can be used:

fluentcv generate resume.json out.all --nopretty

Silent Mode

Use -s or --silent to run in silent mode:

fluentcv generate resume.json -o someFile.all -s
fluentcv generate resume.json -o someFile.all --silent

License

MIT. Go crazy. See LICENSE.md for details.