Skip to content

Commit

Permalink
Merge pull request #20 from fluentdesk/v0.10.0
Browse files Browse the repository at this point in the history
v0.10.0
  • Loading branch information
hacksalot committed Dec 10, 2015
2 parents d279101 + 3805a36 commit a3cefa1
Show file tree
Hide file tree
Showing 21 changed files with 1,297 additions and 529 deletions.
27 changes: 18 additions & 9 deletions Gruntfile.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'use strict';

module.exports = function (grunt) {

'use strict';

var opts = {

pkg: grunt.file.readJSON('package.json'),
Expand Down Expand Up @@ -29,19 +29,28 @@ module.exports = function (grunt) {
outdir: 'docs/'
}
}
},

jshint: {
options: {
laxcomma: true,
expr: true
},
all: ['Gruntfile.js', 'src/**/*.js', 'test/**/*.js']
}

};

grunt.initConfig( opts );

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

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

};
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
The MIT License
===============

Copyright (c) 2015 James M. Devlin (https://github.com/devlinjd)
Copyright (c) 2015 James M. Devlin (https://github.com/hacksalot)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
53 changes: 34 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,51 @@
fluentCV
========
*Generate beautiful, targeted resumes from your command line or shell.*
*Create polished technical résumés and CVs in multiple formats from your command
line or shell. See [FluentCV Desktop][7] for the desktop version. OS X ~ Windows
~ Linux.*

![](assets/fluentcv_cli_ubuntu.png)

FluentCV is a Swiss Army knife for resumes and CVs. Use it to:
FluentCV is a dev-friendly 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.
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.

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.
FluentCV supports both the [FRESH][fresca] and [JSON Resume][6] source formats.

## Features

- Runs on OS X, Linux, and Windows.
- OS X, Linux, and Windows.
- Store your resume data as a durable, versionable JSON or YAML document.
- 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, Markdown, LaTeX, PDF, 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.
- Use from your command line or [desktop][7].
- Free and open-source through the MIT license.
- Forthcoming: StackOverflow and LinkedIn support.
- Forthcoming: More commands and themes.

Looking for a desktop GUI version for Windows / OS X / Linux? Check out
[FluentCV Desktop][7].
## Install

Install FluentCV 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. For LaTeX generation you'll need a valid LaTeX environment with
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 three commands you should be aware of:
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.
Expand All @@ -52,6 +56,15 @@ it when you need to submit, upload, print, or email resumes in specific formats.
fluentcv 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
```

- `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.

Expand All @@ -78,6 +91,7 @@ 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.
LaTeX | .tex | A structured LaTeX document (or collection of documents).
MS Word | .doc | A Microsoft Word office document.
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 copy-paste.
Expand All @@ -92,6 +106,7 @@ image | .png, .bmp | Forthcoming.
FluentCV 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`.
3. You're ready to go.
Expand Down
9 changes: 6 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "fluentcv",
"version": "0.9.1",
"version": "0.10.0",
"description": "Generate beautiful, targeted resumes from your command line, shell, or in Javascript with Node.js.",
"repository": {
"type": "git",
Expand Down Expand Up @@ -32,17 +32,19 @@
},
"homepage": "https://github.com/fluentdesk/fluentcv",
"dependencies": {
"FRESCA": "fluentdesk/FRESCA#v0.1.0",
"fresca": "^0.2.0",
"colors": "^1.1.2",
"fluent-themes": "0.5.1-beta",
"fluent-themes": "0.6.0-beta",
"fs-extra": "^0.24.0",
"handlebars": "^4.0.5",
"html": "0.0.10",
"is-my-json-valid": "^2.12.2",
"jst": "0.0.13",
"marked": "^0.3.5",
"minimist": "^1.2.0",
"mkdirp": "^0.5.1",
"moment": "^2.10.6",
"recursive-readdir-sync": "^1.0.6",
"underscore": "^1.8.3",
"wkhtmltopdf": "^0.1.5",
"xml-escape": "^1.0.0",
Expand All @@ -51,6 +53,7 @@
"devDependencies": {
"chai": "*",
"grunt": "*",
"grunt-contrib-jshint": "^0.11.3",
"grunt-contrib-yuidoc": "^0.10.0",
"grunt-simple-mocha": "*",
"is-my-json-valid": "^2.12.2",
Expand Down
182 changes: 182 additions & 0 deletions src/core/empty-fresh.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,182 @@
{

"name": "",

"meta": {
"format": "FRESH@0.1.0",
"version": "0.1.0"
},

"info": {
"label": "",
"characterClass": "",
"brief": "",
"image": ""
},

"contact": {
"website": "",
"phone": "",
"email": "",
"other": []
},

"location": {
"address": "",
"city": "",
"region": "",
"code": "",
"country": ""
},

"social": [
{
"label": "",
"network": "",
"user": "",
"url": ""
}
],

"employment": {
"summary": "",
"history": [
{
"employer": "",
"url": "",
"position": "",
"summary": "",
"start": "",
"keywords": [],
"highlights": []
}
]
},

"education": {
"summary": "",
"level": "",
"degree": "",
"history": [
{
"institution": "",
"url": "",
"start": "",
"end": "",
"grade": "",
"summary": "",
"curriculum": []
}
]
},

"service": {
"summary": "",
"history": [
{
"flavor": "",
"position": "",
"organization": "",
"url": "",
"start": "",
"end": "",
"summary": "",
"highlights": []
}
]
},

"skills": {

"sets": [
{
"name": "",
"skills": []
}
],

"list": [ ]
},

"samples": [
{
"title": "",
"summary": "",
"url": "",
"date": ""
}
],

"writing": [
{
"title": "",
"flavor": "",
"date": "",
"publisher": {
"name": "",
"url": ""
},
"url": ""
}
],

"reading": [
{
"title": "",
"flavor": "",
"url": "",
"author": ""
}
],

"recognition": [
{
"flavor": "",
"from": "",
"title": "",
"event": "",
"date": "",
"summary": ""
}
],

"references": [
{
"name": "",
"flavor": "",
"private": true,
"contact": [
{
"label": "",
"flavor": "",
"value": ""
}
]
}
],

"testimonials": [
{
"name": "",
"flavor": "",
"quote": ""
}
],

"languages": [
{
"language": "",
"level": "",
"years": 0
}
],

"interests": [
{
"name": "",
"summary": "",
"keywords": []
}
]

}
File renamed without changes.
4 changes: 2 additions & 2 deletions src/core/fluent-date.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ FluentDate/*.prototype*/.fmt = function( dt ) {
else if( /^\D+\s+\d{4}$/.test(dt) ) { // "Mar 2015"
var parts = dt.split(' ');
var month = (months[parts[0]] || abbr[parts[0]]);
var dt = parts[1] + '-' + (month < 10 ? '0' + month : month.toString());
return moment( dt, 'YYYY-MM' );
var temp = parts[1] + '-' + (month < 10 ? '0' + month : month.toString());
return moment( temp, 'YYYY-MM' );
}
else if( /^\d{4}-\d{1,2}$/.test(dt) ) { // "2015-03", "1998-4"
return moment( dt, 'YYYY-MM' );
Expand Down
Loading

0 comments on commit a3cefa1

Please sign in to comment.