mirror of
https://github.com/JuanCanham/HackMyResume.git
synced 2024-11-05 09:56:22 +00:00
Update README.
This commit is contained in:
parent
42770989bc
commit
5899989feb
142
README.md
142
README.md
@ -2,24 +2,90 @@ fluentCV
|
|||||||
========
|
========
|
||||||
*Generate beautiful, targeted resumes from your command line or shell.*
|
*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.
|
|
||||||
|
|
||||||
![](assets/fluentcv_cli_ubuntu.png)
|
![](assets/fluentcv_cli_ubuntu.png)
|
||||||
|
|
||||||
Looking for a desktop GUI version with pretty timelines and graphs? Check out [FluentCV Desktop][7].
|
FluentCV is a Swiss Army knife for resumes and CVs. Use it to:
|
||||||
|
|
||||||
|
1. **Generate** polished multiformat resumes in HTML, Word, Markdown, PDF, plain
|
||||||
|
text, JSON, and YAML formats—without violating DRY.
|
||||||
|
2. **Convert** resumes between [FRESH][fresca] and [JSON Resume][6] formats.
|
||||||
|
3. **Validate** resumes against either format.
|
||||||
|
|
||||||
|
Install it with NPM:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
[sudo] npm install fluentcv -g
|
||||||
|
```
|
||||||
|
|
||||||
|
Note: for PDF generation you'll need to install a copy of [wkhtmltopdf][3] for
|
||||||
|
your platform.
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
- Runs on OS X, Linux, and Windows.
|
- Runs on OS X, Linux, and Windows.
|
||||||
- Store your resume data as a durable, versionable JSON or YAML document.
|
- Store your resume data as a durable, versionable JSON or YAML document.
|
||||||
- Generate polished resumes in multiple formats without violating DRY.
|
- Generate polished resumes in multiple formats without violating [DRY][dry].
|
||||||
- Output to HTML, PDF, Markdown, MS Word, JSON, YAML, plain text, or XML.
|
- 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].
|
- Compatible with [FRESH][fresh], [JSON Resume][6], [FRESCA][fresca], and
|
||||||
|
[FCV Desktop][7].
|
||||||
- Validate resumes against the FRESH or JSON Resume schema.
|
- Validate resumes against the FRESH or JSON Resume schema.
|
||||||
- Support for multiple input and output resumes.
|
- Support for multiple input and output resumes.
|
||||||
- Free and open-source through the MIT license.
|
- Free and open-source through the MIT license.
|
||||||
- Forthcoming: StackOverflow and LinkedIn support.
|
- Forthcoming: StackOverflow and LinkedIn support.
|
||||||
- Forthcoming: More themes.
|
- Forthcoming: More commands and themes.
|
||||||
|
|
||||||
|
Looking for a desktop GUI version for Windows / OS X / Linux? Check out
|
||||||
|
[FluentCV Desktop][7].
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
|
To use FluentCV you'll need to create a valid resume in either [FRESH][fresca]
|
||||||
|
or [JSON Resume][6] format. Then you can start using the command line tool.
|
||||||
|
There are three commands you should be aware of:
|
||||||
|
|
||||||
|
- `build` generates resumes in HTML, Word, Markdown, PDF, and other formats. Use
|
||||||
|
it when you need to submit, upload, print, or email resumes in specific formats.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# fluentcv BUILD <INPUTS> TO <OUTPUTS> [-t THEME]
|
||||||
|
fluentcv BUILD resume.json TO out/resume.all
|
||||||
|
fluentcv BUILD r1.json r2.json TO out/rez.html out/rez.md foo/rez.all
|
||||||
|
```
|
||||||
|
|
||||||
|
- `convert` converts your source resume between FRESH and JSON Resume formats.
|
||||||
|
Use it to convert between the two formats to take advantage of tools and services.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# fluentcv CONVERT <INPUTS> TO <OUTPUTS>
|
||||||
|
fluentcv CONVERT resume.json TO resume-jrs.json
|
||||||
|
fluentcv CONVERT 1.json 2.json 3.json TO out/1.json out/2.json out/3.json
|
||||||
|
```
|
||||||
|
|
||||||
|
- `validate` validates the specified resume against either the FRESH or JSON
|
||||||
|
Resume schema. Use it to make sure your resume data is sufficient and complete.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# fluentcv VALIDATE <INPUTS>
|
||||||
|
fluentcv VALIDATE resume.json
|
||||||
|
fluentcv VALIDATE r1.json r2.json r3.json
|
||||||
|
```
|
||||||
|
|
||||||
|
## Supported Output Formats
|
||||||
|
|
||||||
|
FluentCV supports these output formats:
|
||||||
|
|
||||||
|
Output Format | Ext | Notes
|
||||||
|
------------- | - | -------------
|
||||||
|
HTML | .html | A standard HTML 5 + CSS resume format that can be viewed in a browser, deployed to a website, etc.
|
||||||
|
Markdown | .md | A structured Markdown document that can be used as-is or used to generate HTML.
|
||||||
|
MS Word | .doc | A Microsoft Word office document in 2003 format for widest compatibility.
|
||||||
|
Adobe Acrobat (PDF) | .pdf | A binary PDF document driven by an HTML theme.
|
||||||
|
plain text | .txt | A formatted plain text document appropriate for emails or as a source for copy-paste.
|
||||||
|
JSON | .json | A JSON representation of the resume. Can be passed back into FluentCV as an input.
|
||||||
|
YAML | .yml | A YAML representation of the resume. Can be passed back into FluentCV as an input.
|
||||||
|
RTF | .rtf | Forthcoming.
|
||||||
|
Textile | .textile | Forthcoming.
|
||||||
|
image | .png, .bmp | Forthcoming.
|
||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
@ -31,29 +97,32 @@ FluentCV requires a recent version of [Node.js][4] and [NPM][5]. Then:
|
|||||||
|
|
||||||
## Use
|
## Use
|
||||||
|
|
||||||
Assuming you've got a JSON-formatted resume handy, generating resumes in different formats and combinations easy. Just run:
|
Assuming you've got a JSON-formatted resume handy, generating resumes in
|
||||||
|
different formats and combinations easy. Just run:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
fluentcv generate [inputs] [outputs] [-t theme].
|
fluentcv BUILD <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:
|
Where `<INPUTS>` is one or more .json resume files, separated by spaces;
|
||||||
|
`<OUTPUTS>` is one or more destination resumes, and `<THEME>` is the desired
|
||||||
|
theme (default to Modern). For example:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Generate all resume formats (HTML, PDF, DOC, TXT, YML, etc.)
|
# Generate all resume formats (HTML, PDF, DOC, TXT, YML, etc.)
|
||||||
fluentcv generate resume.json -o out/resume.all -t modern
|
fluentcv build resume.json -o out/resume.all -t modern
|
||||||
|
|
||||||
# Generate a specific resume format
|
# Generate a specific resume format
|
||||||
fluentcv generate resume.json -o out/resume.html
|
fluentcv build resume.json TO out/resume.html
|
||||||
fluentcv generate resume.json -o out/resume.pdf
|
fluentcv build resume.json TO out/resume.pdf
|
||||||
fluentcv generate resume.json -o out/resume.md
|
fluentcv build resume.json TO out/resume.md
|
||||||
fluentcv generate resume.json -o out/resume.doc
|
fluentcv build resume.json TO out/resume.doc
|
||||||
fluentcv generate resume.json -o out/resume.json
|
fluentcv build resume.json TO out/resume.json
|
||||||
fluentcv generate resume.json -o out/resume.txt
|
fluentcv build resume.json TO out/resume.txt
|
||||||
fluentcv generate resume.json -o out/resume.yml
|
fluentcv build resume.json TO out/resume.yml
|
||||||
|
|
||||||
# Specify 2 inputs and 3 outputs
|
# Specify 2 inputs and 3 outputs
|
||||||
fluentcv generate in1.json in2.json -o out.html -o out.doc -o out.pdf
|
fluentcv build in1.json in2.json TO out.html out.doc out.pdf
|
||||||
```
|
```
|
||||||
|
|
||||||
You should see something to the effect of:
|
You should see something to the effect of:
|
||||||
@ -78,8 +147,8 @@ Generating YAML resume: out/resume.yml
|
|||||||
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.
|
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.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
fluentcv generate resume.json -t modern
|
fluentcv build resume.json -t modern
|
||||||
fluentcv generate resume.json -t ~/foo/bar/my-custom-theme/
|
fluentcv build resume.json -t ~/foo/bar/my-custom-theme/
|
||||||
```
|
```
|
||||||
|
|
||||||
As of v0.9.0, available predefined themes are `modern`, `minimist`, and `hello-world`, and `compact`.
|
As of v0.9.0, available predefined themes are `modern`, `minimist`, and `hello-world`, and `compact`.
|
||||||
@ -90,13 +159,13 @@ You can **merge multiple resumes together** by specifying them in order from mos
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Merge specific.json onto base.json and generate all formats
|
# Merge specific.json onto base.json and generate all formats
|
||||||
fluentcv generate base.json specific.json -o resume.all
|
fluentcv build 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()][9]-style behavior and there's no arbitrary limit to how many resumes you can merge:
|
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
|
```bash
|
||||||
fluentcv generate in1.json in2.json in3.json in4.json -o out.html -o out.doc
|
fluentcv build in1.json in2.json in3.json in4.json TO out.html out.doc
|
||||||
Reading JSON resume: in1.json
|
Reading JSON resume: in1.json
|
||||||
Reading JSON resume: in2.json
|
Reading JSON resume: in2.json
|
||||||
Reading JSON resume: in3.json
|
Reading JSON resume: in3.json
|
||||||
@ -112,14 +181,14 @@ You can specify **multiple output targets** and FluentCV will build them:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Generate out1.doc, out1.pdf, and foo.txt from me.json.
|
# Generate out1.doc, out1.pdf, and foo.txt from me.json.
|
||||||
fluentcv generate me.json -o out1.doc -o out1.pdf -o foo.txt
|
fluentcv build me.json -o out1.doc -o out1.pdf -o foo.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
You can also omit the output file(s) and/or theme completely:
|
You can also omit the output file(s) and/or theme completely:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Equivalent to "fluentcv resume.json resume.all -t modern"
|
# Equivalent to "fluentcv resume.json resume.all -t modern"
|
||||||
fluentcv generate resume.json
|
fluentcv build resume.json
|
||||||
```
|
```
|
||||||
|
|
||||||
### Using .all
|
### Using .all
|
||||||
@ -128,7 +197,7 @@ The special `.all` extension tells FluentCV to generate all supported output for
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Generate all resume formats (HTML, PDF, DOC, TXT, etc.)
|
# Generate all resume formats (HTML, PDF, DOC, TXT, etc.)
|
||||||
fluentcv generate me.json -o out/resume.all
|
fluentcv build 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`.
|
..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`.
|
||||||
@ -148,13 +217,29 @@ FluentCV will validate each specified resume in turn:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
*** FluentCV v0.9.0 ***
|
*** FluentCV v0.9.0 ***
|
||||||
Validating JSON resume: resume.json (INVALID)
|
Validating JSON resume: resumeA.json (INVALID)
|
||||||
Validating JSON resume: resume.json (VALID)
|
Validating JSON resume: resumeB.json (VALID)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Converting
|
||||||
|
|
||||||
|
FluentCV can convert between the [FRESH][fresca] and [JSON Resume][6] formats.
|
||||||
|
Just run:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
fluentcv CONVERT <INPUTS> <OUTPUTS>
|
||||||
|
```
|
||||||
|
|
||||||
|
where <INPUTS> is one or more resumes in FRESH or JSON Resume format, and
|
||||||
|
<OUTPUTS> is a corresponding list of output file names. FluentCV will autodetect
|
||||||
|
the format (FRESH or JRS) of each input resume and convert it to the other
|
||||||
|
format (JRS or FRESH).
|
||||||
|
|
||||||
### Prettifying
|
### Prettifying
|
||||||
|
|
||||||
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:
|
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:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
fluentcv generate resume.json out.all --nopretty
|
fluentcv generate resume.json out.all --nopretty
|
||||||
@ -185,3 +270,4 @@ MIT. Go crazy. See [LICENSE.md][1] for details.
|
|||||||
[10]: https://github.com/beautify-web/js-beautify
|
[10]: https://github.com/beautify-web/js-beautify
|
||||||
[fresh]: https://github.com/fluentdesk/FRESH
|
[fresh]: https://github.com/fluentdesk/FRESH
|
||||||
[fresca]: https://github.com/fluentdesk/FRESCA
|
[fresca]: https://github.com/fluentdesk/FRESCA
|
||||||
|
[dry]: https://en.wikipedia.org/wiki/Don%27t_repeat_yourself
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 53 KiB |
Loading…
Reference in New Issue
Block a user