11f76d920f
Use _.reduceRight in lieue of Array.prototype.reduce to ease logging during resume merge and clean up code, comments, and whitespace throughout. |
||
---|---|---|
assets | ||
src | ||
.gitattributes | ||
.gitignore | ||
LICENSE.md | ||
package.json | ||
README.md |
fluentcmd
Generate beautiful, targeted resumes from your command line or shell.
FluentCMD is a hackable, data-driven, Markdown-and-JSON-friendly resume authoring tool with support for HTML, Word, PDF, plain text, and other arbitrary-format resumes and CVs.
Looking for a desktop version with pretty timelines and graphs? Check out FluentCV Desktop.
Features
- Runs on OS X, Linux, and Windows. If you can run Node.js, you can run fluentcmd.
- Store your resume data as a durable, versionable JSON, YML, or XML document.
- Generate multiple targeted resumes in multiple formats, based on your needs.
- Output to HTML, PDF, Markdown, Word, JSON, XML, or other arbitrary formats.
- Compatible with the JSON Resume standard and compatible tools.
- Free and open-source through the MIT license.
Install
First make sure Node.js and NPM are installed. Then:
- (Optional, for PDF support) Install the latest official wkhtmltopdf binary for your platform.
- Install fluentcmd by running
npm install
followed bynpm link
.
Use
Assuming you've got a JSON-formatted resume handy, generating output resumes is easy. Just run:
fluentcmd inputs [outputs] [-t theme]
.
Where inputs
is one or more .json resume files, [outputs]
is one or more destination resumes, and [theme]
is the desired theme. For example:
# Generate all resume formats (HTML, PDF, DOC, TXT)
fluentcmd resume.json resume.all -t informatic
# Generate a specific resume format
fluentcmd resume.json resume.html -t informatic
fluentcmd resume.json resume.txt -t informatic
fluentcmd resume.json resume.pdf -t informatic
fluentcmd resume.json resume.doc -t informatic
You should see something to the effect of:
*** FluentCMD v0.1.0 ***
Reading JSON resume: foo/resume.json
Generating HTML resume: out/resume.html
Generating TXT resume: out/resume.txt
Generating DOC resume: out/resume.doc
Generating PDF resume: out/resume.pdf
Advanced
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
fluentcmd base.json specific.json 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. Merging follows conventional extend()-style behavior.
Multiple targets
You can specify multiple output targets and FluentCMD will build them:
# Generate out1.doc, out1.pdf, and foo.txt from me.json.
fluentcmd me.json out1.doc out1.pdf foo.txt
You can also omit the output file(s) and/or theme completely:
# Equivalent to "fluentcmd resume.json resume.all -t informatic"
fluentcmd resume.json
Using .all
The special .all
extension tells FluentCMD to generate all supported output formats for the given resume. For example, this...
# Generate all resume formats (HTML, PDF, DOC, TXT, etc.)
fluentcmd input.json output.all
..tells FluentCV to read input.json
and generate output.doc
, output.html
, output.txt
, output.pdf
. That's more or less equivalent to:
# Generate all resume formats (HTML, PDF, DOC, TXT)
fluentcmd input.json output.doc output.html output.txt output.pdf
License
MIT. Go crazy. See LICENSE.md for details.