HackMyResume/README.md

188 lines
6.3 KiB
Markdown
Raw Normal View History

2015-10-27 07:54:50 +00:00
fluentCV
========
2015-10-06 22:56:26 +01:00
*Generate beautiful, targeted resumes from your command line or shell.*
2015-09-02 01:14:24 +01:00
2015-11-19 22:43:54 +00:00
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.
2015-10-06 22:56:26 +01:00
2015-10-27 07:54:50 +00:00
![](assets/fluentcv_cli_ubuntu.png)
2015-10-06 22:56:26 +01:00
2015-10-07 09:27:30 +01:00
Looking for a desktop GUI version with pretty timelines and graphs? Check out [FluentCV Desktop][7].
2015-10-06 22:56:26 +01:00
## Features
2015-10-07 09:27:30 +01:00
- Runs on OS X, Linux, and Windows.
2015-11-19 22:43:54 +00:00
- 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][fresh], [JSON Resume][6], [FRESCA][fresca], and [FCV Desktop][7].
- Validate resumes against the FRESH or JSON Resume schema.
- Support for multiple input and output resumes.
2015-10-07 06:54:08 +01:00
- Free and open-source through the MIT license.
2015-10-07 09:27:30 +01:00
- Forthcoming: StackOverflow and LinkedIn support.
2015-11-19 22:43:54 +00:00
- Forthcoming: More themes.
2015-10-06 22:56:26 +01:00
## Install
2015-09-02 01:14:24 +01:00
2015-10-27 07:54:50 +00:00
FluentCV requires a recent version of [Node.js][4] and [NPM][5]. Then:
2015-09-02 01:14:24 +01:00
2015-11-19 22:43:54 +00:00
1. Install the latest official [wkhtmltopdf][3] binary for your platform.
2. Install **fluentCV** with `[sudo] npm install fluentcv -g`.
2015-10-11 03:36:13 +01:00
3. You're ready to go.
2015-10-06 22:56:26 +01:00
## Use
2015-10-07 09:27:30 +01:00
Assuming you've got a JSON-formatted resume handy, generating resumes in different formats and combinations easy. Just run:
2015-10-06 22:56:26 +01:00
2015-10-11 03:36:13 +01:00
```bash
2015-11-19 22:43:54 +00:00
fluentcv generate [inputs] [outputs] [-t theme].
2015-10-11 03:36:13 +01:00
```
2015-10-06 22:56:26 +01:00
2015-10-11 03:36:13 +01:00
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:
2015-10-06 22:56:26 +01:00
```bash
2015-10-26 06:45:37 +00:00
# Generate all resume formats (HTML, PDF, DOC, TXT, YML, etc.)
2015-11-19 22:43:54 +00:00
fluentcv generate resume.json -o out/resume.all -t modern
2015-10-06 22:56:26 +01:00
# Generate a specific resume format
2015-11-19 22:43:54 +00:00
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
2015-10-11 03:36:13 +01:00
# Specify 2 inputs and 3 outputs
2015-11-19 22:43:54 +00:00
fluentcv generate in1.json in2.json -o out.html -o out.doc -o out.pdf
2015-10-06 22:56:26 +01:00
```
You should see something to the effect of:
```
2015-11-19 22:43:54 +00:00
*** FluentCV v0.9.0 ***
2015-10-06 22:56:26 +01:00
Reading JSON resume: foo/resume.json
2015-10-26 14:18:33 +00:00
Applying MODERN Theme (7 formats)
2015-10-06 22:56:26 +01:00
Generating HTML resume: out/resume.html
Generating TXT resume: out/resume.txt
Generating DOC resume: out/resume.doc
Generating PDF resume: out/resume.pdf
2015-10-11 03:36:13 +01:00
Generating JSON resume: out/resume.json
Generating MARKDOWN resume: out/resume.md
2015-10-26 14:18:33 +00:00
Generating YAML resume: out/resume.yml
2015-10-06 22:56:26 +01:00
```
2015-09-02 01:14:24 +01:00
## Advanced
2015-10-10 23:34:36 +01:00
### Applying a theme
2015-10-11 03:36:13 +01:00
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.
2015-10-10 23:34:36 +01:00
```bash
2015-11-19 22:43:54 +00:00
fluentcv generate resume.json -t modern
fluentcv generate resume.json -t ~/foo/bar/my-custom-theme/
2015-10-10 23:34:36 +01:00
```
2015-11-19 22:43:54 +00:00
As of v0.9.0, available predefined themes are `modern`, `minimist`, and `hello-world`, and `compact`.
2015-10-10 23:34:36 +01:00
2015-10-06 22:56:26 +01:00
### Merging resumes
You can **merge multiple resumes together** by specifying them in order from most generic to most specific:
2015-09-02 01:14:24 +01:00
```bash
# Merge specific.json onto base.json and generate all formats
2015-11-19 22:43:54 +00:00
fluentcv generate base.json specific.json -o resume.all
2015-09-02 01:14:24 +01:00
```
2015-10-07 09:27:30 +01:00
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()][9]-style behavior and there's no arbitrary limit to how many resumes you can merge:
```bash
2015-11-19 22:43:54 +00:00
fluentcv generate in1.json in2.json in3.json in4.json -o out.html -o out.doc
2015-10-07 09:27:30 +01:00
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
```
2015-10-06 22:56:26 +01:00
### Multiple targets
2015-10-27 07:54:50 +00:00
You can specify **multiple output targets** and FluentCV will build them:
2015-09-02 01:14:24 +01:00
```bash
2015-10-07 06:54:08 +01:00
# Generate out1.doc, out1.pdf, and foo.txt from me.json.
2015-11-19 22:43:54 +00:00
fluentcv generate me.json -o out1.doc -o out1.pdf -o foo.txt
2015-09-02 01:14:24 +01:00
```
2015-10-07 06:54:08 +01:00
You can also omit the output file(s) and/or theme completely:
2015-09-02 01:14:24 +01:00
```bash
2015-10-27 07:54:50 +00:00
# Equivalent to "fluentcv resume.json resume.all -t modern"
2015-11-19 22:43:54 +00:00
fluentcv generate resume.json
2015-09-02 01:14:24 +01:00
```
2015-09-01 06:03:58 +01:00
2015-10-06 22:56:26 +01:00
### Using .all
2015-10-27 07:54:50 +00:00
The special `.all` extension tells FluentCV to generate all supported output formats for the given resume. For example, this...
2015-10-06 22:56:26 +01:00
```bash
# Generate all resume formats (HTML, PDF, DOC, TXT, etc.)
2015-11-19 22:43:54 +00:00
fluentcv generate me.json -o out/resume.all
2015-10-06 22:56:26 +01:00
```
2015-10-11 03:36:13 +01:00
..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`.
2015-10-06 22:56:26 +01:00
2015-11-19 22:43:54 +00:00
### Validating
FluentCV can also validate your resumes against either the [FRESH /
FRESCA][fresca] or [JSON Resume][6] formats. To validate one or more existing
resumes, use the `validate` command:
```bash
# 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:
```bash
*** FluentCV v0.9.0 ***
Validating JSON resume: resume.json (INVALID)
Validating JSON resume: resume.json (VALID)
```
2015-10-25 12:18:49 +00:00
### Prettifying
2015-10-27 07:54:50 +00:00
FluentCV applies [js-beautify][10]-style HTML prettification by default to HTML-formatted resumes. To disable prettification, the `--nopretty` or `-n` flag can be used:
2015-10-25 12:18:49 +00:00
```bash
2015-11-19 22:43:54 +00:00
fluentcv generate resume.json out.all --nopretty
2015-10-25 12:18:49 +00:00
```
2015-10-26 14:18:33 +00:00
### Silent Mode
Use `-s` or `--silent` to run in silent mode:
```bash
2015-11-19 22:43:54 +00:00
fluentcv generate resume.json -o someFile.all -s
fluentcv generate resume.json -o someFile.all --silent
2015-10-26 14:18:33 +00:00
```
2015-09-01 06:03:58 +01:00
## License
2015-10-07 10:17:51 +01:00
MIT. Go crazy. See [LICENSE.md][1] for details.
2015-09-01 06:50:31 +01:00
[1]: LICENSE.md
2015-09-02 01:14:24 +01:00
[2]: http://phantomjs.org/
[3]: http://wkhtmltopdf.org/
[4]: https://nodejs.org/
[5]: https://www.npmjs.com/
2015-10-06 22:56:26 +01:00
[6]: http://jsonresume.org
[7]: http://fluentcv.com
2015-10-07 06:38:48 +01:00
[8]: https://youtu.be/N9wsjroVlu8
2015-10-07 06:54:08 +01:00
[9]: https://api.jquery.com/jquery.extend/
2015-10-25 12:18:49 +00:00
[10]: https://github.com/beautify-web/js-beautify
2015-11-19 22:43:54 +00:00
[fresh]: https://github.com/fluentdesk/FRESH
[fresca]: https://github.com/fluentdesk/FRESCA