Skip to content

Commit

Permalink
Merge pull request #26 from hacksalot/rel-v1.0.0
Browse files Browse the repository at this point in the history
v1.0.0
  • Loading branch information
hacksalot committed Dec 19, 2015
2 parents 786b3fd + 80c6bb6 commit d0c181e
Show file tree
Hide file tree
Showing 14 changed files with 95 additions and 97 deletions.
4 changes: 2 additions & 2 deletions Gruntfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,9 @@ module.exports = function (grunt) {
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-clean');

grunt.registerTask('test', 'Test the FluentCV library.',
grunt.registerTask('test', 'Test the HackMyResume library.',
function( config ) { grunt.task.run( ['clean','simplemocha:all'] ); });
grunt.registerTask('document', 'Generate FluentCV library documentation.',
grunt.registerTask('document', 'Generate HackMyResume library documentation.',
function( config ) { grunt.task.run( ['yuidoc'] ); });
grunt.registerTask('default', [ 'jshint', 'test', 'yuidoc' ]);

Expand Down
122 changes: 60 additions & 62 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,22 @@
fluentCV
========
HackMyResume
============
*Create polished résumés and CVs in multiple formats from your command line or
shell. Author in clean Markdown and JSON, export to Word, HTML, PDF, LaTeX,
plain text, and other arbitrary formats.*

![](assets/resume-bouqet.png)

FluentCV is a dev-friendly, local-only Swiss Army knife for resumes and CVs. Use
it to:
HackMyResume is a dev-friendly, local-only Swiss Army knife for resumes and CVs.
Use it to:

1. **Generate** HTML, Markdown, LaTeX, MS Word, PDF, plain text, JSON, XML,
YAML, print, smoke signal, carrier pigeon, and other arbitrary-format resumes
and CVs, from a single source of truth—without violating DRY.
2. **Convert** resumes between [FRESH][fresca] and [JSON Resume][6] formats.
3. **Validate** resumes against either format.

FluentCV is built with Node.js and runs on recent versions of OS X, Linux, or
Windows.

![](assets/fluentcv_cli_ubuntu.png)
HackMyResume is built with Node.js and runs on recent versions of OS X, Linux,
or Windows.

## Features

Expand All @@ -35,10 +33,10 @@ Windows.

## Install

Install FluentCV with NPM:
Install HackMyResume with NPM:

```bash
[sudo] npm install fluentcv -g
[sudo] npm install hackmyresume -g
```

Note: for PDF generation you'll need to install a copy of [wkhtmltopdf][3] for
Expand All @@ -47,49 +45,49 @@ access to `xelatex` and similar.

## 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 four basic commands you should be aware of:
To use HackMyResume 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 four basic 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
# hackmyresume BUILD <INPUTS> TO <OUTPUTS> [-t THEME]
hackmyresume BUILD resume.json TO out/resume.all
hackmyresume BUILD r1.json r2.json TO out/rez.html out/rez.md foo/rez.all
```

- `new` creates a new resume in FRESH or JSON Resume format.

```bash
# fluentcv NEW <OUTPUTS> [-f <FORMAT>]
fluentcv NEW resume.json
fluentcv NEW resume.json -f fresh
fluentcv NEW r1.json r2.json -f jrs
# hackmyresume NEW <OUTPUTS> [-f <FORMAT>]
hackmyresume NEW resume.json
hackmyresume NEW resume.json -f fresh
hackmyresume NEW r1.json r2.json -f jrs
```

- `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
# hackmyresume CONVERT <INPUTS> TO <OUTPUTS>
hackmyresume CONVERT resume.json TO resume-jrs.json
hackmyresume 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
# hackmyresume VALIDATE <INPUTS>
hackmyresume VALIDATE resume.json
hackmyresume VALIDATE r1.json r2.json r3.json
```

## Supported Output Formats

FluentCV supports these output formats:
HackMyResume supports these output formats:

Output Format | Ext | Notes
------------- | --- | -----
Expand All @@ -107,11 +105,11 @@ image | .png, .bmp | Forthcoming.

## Install

FluentCV requires a recent version of [Node.js][4] and [NPM][5]. Then:
HackMyResume requires a recent version of [Node.js][4] and [NPM][5]. Then:

1. Install the latest official [wkhtmltopdf][3] binary for your platform.
2. Optionally install an updated LaTeX environment (LaTeX resumes only).
2. Install **fluentCV** with `[sudo] npm install fluentcv -g`.
2. Install **HackMyResume** with `[sudo] npm install hackmyresume -g`.
3. You're ready to go.
## Use
Expand All @@ -120,7 +118,7 @@ Assuming you've got a JSON-formatted resume handy, generating resumes in
different formats and combinations easy. Just run:

```bash
fluentcv BUILD <INPUTS> <OUTPUTS> [-t theme].
hackmyresume BUILD <INPUTS> <OUTPUTS> [-t theme].
```

Where `<INPUTS>` is one or more .json resume files, separated by spaces;
Expand All @@ -129,25 +127,25 @@ theme (default to Modern). For example:

```bash
# Generate all resume formats (HTML, PDF, DOC, TXT, YML, etc.)
fluentcv build resume.json -o out/resume.all -t modern
hackmyresume build resume.json -o out/resume.all -t modern
# Generate a specific resume format
fluentcv build resume.json TO out/resume.html
fluentcv build resume.json TO out/resume.pdf
fluentcv build resume.json TO out/resume.md
fluentcv build resume.json TO out/resume.doc
fluentcv build resume.json TO out/resume.json
fluentcv build resume.json TO out/resume.txt
fluentcv build resume.json TO out/resume.yml
hackmyresume build resume.json TO out/resume.html
hackmyresume build resume.json TO out/resume.pdf
hackmyresume build resume.json TO out/resume.md
hackmyresume build resume.json TO out/resume.doc
hackmyresume build resume.json TO out/resume.json
hackmyresume build resume.json TO out/resume.txt
hackmyresume build resume.json TO out/resume.yml
# Specify 2 inputs and 3 outputs
fluentcv build in1.json in2.json TO out.html out.doc out.pdf
hackmyresume build in1.json in2.json TO out.html out.doc out.pdf
```

You should see something to the effect of:

```
*** FluentCV v0.9.0 ***
*** HackMyResume v0.9.0 ***
Reading JSON resume: foo/resume.json
Applying MODERN Theme (7 formats)
Generating HTML resume: out/resume.html
Expand All @@ -166,8 +164,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.
```bash
fluentcv build resume.json -t modern
fluentcv build resume.json -t ~/foo/bar/my-custom-theme/
hackmyresume build resume.json -t modern
hackmyresume 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`.
Expand All @@ -178,13 +176,13 @@ You can **merge multiple resumes together** by specifying them in order from mos

```bash
# Merge specific.json onto base.json and generate all formats
fluentcv build base.json specific.json -o resume.all
hackmyresume 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:

```bash
fluentcv build in1.json in2.json in3.json in4.json TO out.html out.doc
hackmyresume build in1.json in2.json in3.json in4.json TO out.html out.doc
Reading JSON resume: in1.json
Reading JSON resume: in2.json
Reading JSON resume: in3.json
Expand All @@ -196,81 +194,81 @@ Generating WORD resume: out.doc

### Multiple targets

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

```bash
# Generate out1.doc, out1.pdf, and foo.txt from me.json.
fluentcv build me.json -o out1.doc -o out1.pdf -o foo.txt
hackmyresume build me.json -o out1.doc -o out1.pdf -o foo.txt
```

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

```bash
# Equivalent to "fluentcv resume.json resume.all -t modern"
fluentcv build resume.json
# Equivalent to "hackmyresume resume.json resume.all -t modern"
hackmyresume build resume.json
```

### Using .all

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

```bash
# Generate all resume formats (HTML, PDF, DOC, TXT, etc.)
fluentcv build me.json -o out/resume.all
hackmyresume 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 HackMyResume 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 /
HackMyResume 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
hackmyresume validate resumeA.json resumeB.json
```

FluentCV will validate each specified resume in turn:
HackMyResume will validate each specified resume in turn:

```bash
*** FluentCV v0.9.0 ***
*** HackMyResume v0.9.0 ***
Validating JSON resume: resumeA.json (INVALID)
Validating JSON resume: resumeB.json (VALID)
```

### Converting

FluentCV can convert between the [FRESH][fresca] and [JSON Resume][6] formats.
HackMyResume can convert between the [FRESH][fresca] and [JSON Resume][6] formats.
Just run:

```bash
fluentcv CONVERT <INPUTS> <OUTPUTS>
hackmyresume 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
<OUTPUTS> is a corresponding list of output file names. HackMyResume will autodetect
the format (FRESH or JRS) of each input resume and convert it to the other
format (JRS or FRESH).

### Prettifying

FluentCV applies [js-beautify][10]-style HTML prettification by default to
HackMyResume 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
fluentcv generate resume.json out.all --nopretty
hackmyresume generate resume.json out.all --nopretty
```

### Silent Mode

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

```bash
fluentcv generate resume.json -o someFile.all -s
fluentcv generate resume.json -o someFile.all --silent
hackmyresume generate resume.json -o someFile.all -s
hackmyresume generate resume.json -o someFile.all --silent
```

## License
Expand Down
Binary file removed assets/fluentcv_cli_ubuntu.png
Binary file not shown.
Binary file added assets/hackmyresume_cli.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/resume-bouqet.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 7 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"name": "fluentcv",
"version": "0.11.0",
"name": "hackmyresume",
"version": "1.0.0",
"description": "Generate polished résumés and CVs in HTML, Markdown, LaTeX, MS Word, PDF, plain text, JSON, XML, YAML, smoke signal, and carrier pigeon.",
"repository": {
"type": "git",
"url": "https://github.com/fluentdesk/fluentcv.git"
"url": "https://github.com/hacksalot/HackMyResume.git"
},
"keywords": [
"resume",
Expand All @@ -24,13 +24,13 @@
"license": "MIT",
"preferGlobal": "true",
"bugs": {
"url": "https://github.com/fluentdesk/fluentcv/issues"
"url": "https://github.com/hacksalot/HackMyResume/issues"
},
"main": "src/fluentcmd.js",
"main": "src/hackmycmd.js",
"bin": {
"fluentcv": "src/index.js"
"hackmyresume": "src/index.js"
},
"homepage": "https://github.com/fluentdesk/fluentcv",
"homepage": "https://github.com/hacksalot/HackMyResume",
"dependencies": {
"colors": "^1.1.2",
"fluent-themes": "~0.7.0-beta",
Expand Down
4 changes: 2 additions & 2 deletions src/core/fluent-date.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
The FluentCV date representation.
The HackMyResume date representation.
@license MIT. Copyright (c) 2015 James Devlin / FluentDesk.
@module fluent-date.js
*/
Expand All @@ -13,7 +13,7 @@ formats to be aware of here.
2. The default "YYYY-MM-DD" format used in JSON Resume ("2015-02-10")
3. Year-and-month only ("2015-04")
4. Year-only "YYYY" ("2015")
5. The friendly FluentCV "mmm YYYY" format ("Mar 2015" or "Dec 2008")
5. The friendly HackMyResume "mmm YYYY" format ("Mar 2015" or "Dec 2008")
6. Empty dates ("", " ")
7. Any other date format that Moment.js can parse from
Note: Moment can transparently parse all or most of these, without requiring us
Expand Down
2 changes: 1 addition & 1 deletion src/core/theme.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Definition of the Theme class.
, RECURSIVE_READ_DIR = require('recursive-readdir-sync');

/**
The Theme class is a representation of a FluentCV theme asset.
The Theme class is a representation of a HackMyResume theme asset.
@class Theme
*/
function Theme() {
Expand Down
2 changes: 1 addition & 1 deletion src/gen/html-pdf-generator.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Definition of the HtmlPdfGenerator class.
, HTML = require( 'html' );

/**
An HTML-based PDF resume generator for FluentCV.
An HTML-based PDF resume generator for HackMyResume.
*/
var HtmlPdfGenerator = module.exports = TemplateGenerator.extend({

Expand Down
4 changes: 2 additions & 2 deletions src/fluentlib.js → src/hackmyapi.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
External API surface for FluentCV:CLI.
External API surface for HackMyResume.
@license MIT. Copyright (c) 2015 James M. Devlin / FluentDesk.
@module fluentlib.js
@module hackmyapi.js
*/

module.exports = {
Expand Down
Loading

0 comments on commit d0c181e

Please sign in to comment.