Update README.

This commit is contained in:
devlinjd 2015-10-06 17:56:26 -04:00
parent 0c7325322a
commit fa1df003f4
2 changed files with 78 additions and 30 deletions

108
README.md
View File

@ -1,52 +1,82 @@
fluentcmd
=========
The command-line FluentCV application for Linux, Windows, and OS X.
*Generate beautiful, targeted resumes from your command line or shell.*
## Use
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.
[![](assets/office_space.jpg)][4]
**FluentCMD establishes a single source of truth for your career data**—your character sheet—in an abstract but standard format like JSON or XML, and treats individual formatted resumes as views onto this data, allowing you to generate effective, targeted resumes in specific formats or for specific audiences, in sync with your latest changes.
Looking for a desktop version with pretty timelines and graphs? Check out [FluentCV Desktop][7].
## 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][6] standard and other compatible tools.
- Compatible with [FluentCV Desktop][7] and FluentDesk tools.
- 100% free and open-source.
## Install
First make sure [Node.js][4] and [NPM][5] are installed. Then:
1. Install the latest official [PhantomJS][2] and [wkhtmltopdf][3] binaries for your platform.
2. Verify PhantomJS and wkhtml are accessible on your path.
3. Run `npm install` followed by `npm link`.
4. Run fluentcmd from with `fluentcmd [input] [output] -t [theme]`. For example:
1. (Optional, for PDF support) Install the latest official [wkhtmltopdf][3] binary for your platform.
2. Install fluentcmd by running `npm install` followed by `npm link`.
```bash
# Generate all resume formats (HTML, PDF, DOC, TXT)
fluentcmd resume.json resume.all -t informatic
## Use
# 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
```
Assuming you've got a JSON-formatted resume handy, generating output resumes is easy. Just run:
5. Success looks like this:
`fluentcmd [inputs] [outputs] -t [theme]`.
```
*** 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
```
Where `[inputs]` is one or more .json resume files, `[outputs]` is one or more destination resumes, and `[theme]` is the desired theme. For example:
```bash
# 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
You can **merge multiple resumes** by specifying them in order from most generic to most specific:
### Merging resumes
You can **merge multiple resumes together** by specifying them in order from most generic to most specific:
```bash
# Merge specific.json onto base.json and generate all formats
fluentcmd base.json specific.json resume.all -t informatic
fluentcmd base.json specific.json resume.all
```
You can specify **multiple output filenames** instead of using `.all`:
This can be useful for overriding a base (generic) resume with information from a specific (targeted) resume. For example, you might override portions of your generic "software developer" resume with specific information from your targeted "game developer" resume. Merging follows standard jQuery or Underscore extends()-style behavior.
### Multiple targets
You can specify **multiple output targets**:
```bash
# Merge specific.json onto base.json and generate r1.doc and r2.pdf
fluentcmd base.json specific.json r1.doc r2.pdf -t informatic
# Merge specific.json onto base.json and generate out1.doc and out1.pdf
fluentcmd base.json specific.json out1.doc out1.pdf
```
You can omit the output file(s) and/or theme completely:
@ -56,12 +86,30 @@ You can omit the output file(s) and/or theme completely:
fluentcmd resume.json
```
### Using .all
The special `.all` extension tells FluentCMD to generate all supported output formats for the given resume. For example, this...
```bash
# 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:
```bash
# Generate all resume formats (HTML, PDF, DOC, TXT)
fluentcmd input.json output.doc output.html output.txt output.pdf
```
## License
Proprietary and confidential. See [LICENSE.md][1] for details.
MIT. Go crazy. See [LICENSE.md][1] for details.
[1]: LICENSE.md
[2]: http://phantomjs.org/
[3]: http://wkhtmltopdf.org/
[4]: https://nodejs.org/
[5]: https://www.npmjs.com/
[6]: http://jsonresume.org
[7]: http://fluentcv.com

BIN
assets/office_space.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB