Welcome to the first new version of HackMyResume in over a year. The purpose of this release is to gather feature enhancements and bug fixes collected over the past 18 months as we reorganize, rebrand, and prepare for the 2.0 release.
-
Support for private resume fields. Mark any non-leaf node in your resume JSON with the
private
property and it will be omitted from outbound resumes."employment": { "history": [ { "employer": "Acme Real Estate" }, { "employer": "Area 51 Alien Research Laboratory", "private": true }, { "employer": "H&R Block" } ] }
-
Support for PDF generation through WeasyPrint in addition to the existing support for wkhtmltopdf and PhantomJS.
-
Theme authors can now develop and package custom Handlebars theme helpers via the
helpers
key of thetheme.json
file (FRESH themes only) (#158). -
Help system has been updated with a
HELP
command and dedicated help pages for each command. -
Theme authors can relocate theme assets with the
baseFolder
property in the FRESHtheme.json
. -
HackMyResume will now validate the options file (if any) loaded with
-o
or--options
and warn the user if necessary. -
Ability to disable Handlebars encoding/escaping of resume fields with
--no-escape
. -
Introduced the fresh-test-themes project as a repository for simple, test-only resume themes in the FRESH format.
-
Dropped support for Node 4 and 5. HackMyResume officially runs on Node 6+.
-
The FRESCA project has been renamed to fresh-resume-schema. FRESCA is still the nickname.
-
The HackMyResume web page has moved to https://fluentdesk.com/hackmyresume.
-
Fixed an issue that would cause the
convert
command to detect the inbound resume type (FRESH or JRS) incorrectly (#162). -
Fixed an issue where generating new JRS resumes would cause a
null
orundefined
error (#165). -
Fixed an issue preventing mixed-case themes from being loaded (#172).
-
Fixed an issue requiring JSON Resume themes contain
json-resume-theme
in the theme path (#173). -
Fixed an issue that would cause strange
@@@@
characters to appear in generated resumes (#207, #168, #198). -
Fixed an issue that would cause resume generation to hang after a JSON Resume themed resume was generated (#182).
-
Fixed an issue that would cause nothing to be generated for Markdown (.md) formats (#179).
-
Fixed an issue that would prevent a JRS resume from being converted to FRESH via the
convert
command (#180). -
Fixed an issue that would cause broken styling for JSON Resume themes (#155).
-
Tests: fixed resume duration tests (#181).
-
Style: move to
-
Updated
Awesome
theme to latest version of Awesome-CV. -
Introduced new theme helpers:
pad
,date
.
-
Fixed an issue where the
Awesome
theme wouldn't correctly generate LaTeX outputs (#138). -
Emit a line number for syntax errors around embedded newlines in JSON strings (#137).
-
Fix several PDF / PNG generation errors (#132, others).
-
Display a more helpful error message when attempting to generate a PDF or PNG on a machine where PhantomJS and/or wkhtmltopdf are either not installed or not path-accessible.
-
Fixed an issue that would cause long-running PDF/PNG generation to fail in certain environments.
-
Fixed an issue involving an unhelpful spawn-related exception (#136).
-
JSHint will no longer gripe at the use of
== null
and!= null
in CoffeeScript transpilation. -
Introduced template-friendly Awesome-CV fork to isolate template expansion logic & provide better durability for HackMyResume's
awesome
theme. -
Fixed a couple temporary regressions (#139, #140) on the dev branch.
-
Additional tests.
-
Minor breaking HackMyResume API changes.
- More precise date handling.
-
Issue with incomplete PDF generation (#127).
-
Issue with building JSON Resume themes (#128).
-
Issue with generating
.json
output format by itself (#97).
-
Issue with generated PDFs being chopped off and displaying a mysterious sequence of numbers of unknown and possibly alien origin (#127).
-
Unsightly border on Modern:PDF.
-
Modern|Positive:PDF formats now correctly reference their PDF-specific CSS files.
-
Incorrect helper use
warning in Positive:DOC.
- Interim release supporting FluentCV Desktop.
- Moved HackMyCore dependency to submodule.
- Caffeinate. CoffeeScript now used throughout
HackMyResume and
HackMyCore; generated JavaScript
lives in
/dist
.
- Issue with generating a single PDF with the
.pdf
extension (#99).
- [Internal] Relocated HMR processing code to the HackMyCore project. Shouldn't affect normal use.
-
Better consistency and coverage for all FRESH resumes and themes (#45).
-
Initial support for overridable fonts in FRESH themes. Like a particular theme, but want to change the typography? The specific fonts used by a theme can now be overridden by the user. (FRESH themes only).
-
New resume sections! Support for
projects
andaffiliation
resume sections for technical and creative projects and memberships / clubs / associations, respectively (#92). -
New command!
PEEK
at any arbitrary field or entry on your.json
resume.
-
Improved handling of start and end dates on
employment
,projects
,education
, and other sections with start/end dates. -
Support for an
.ignore
property on any FRESH or JSON Resume section or field. Ignored properties will be treated by HackMyResume as if they weren't present. -
Emit extended status and error info with the
--debug
or-d
switch. -
The
-o
or--options
switch can now handle either the path to a JSON settings file or raw JSON/JavaScript. Since the JSON double quote syntax is a bit cumbersome from the command line, HackMyResume accepts regular JavaScript object literal syntax:hackmyresume build resume.json -o "{ theme: 'compact', silent: 'true' }"
-
Ability to disable sorting of resume sections (employments, projects, etc.) with the
--no-sort
option. HMR will respect the order of items as they appear in your resume.json
file. -
Improvements to the starter resume emitted by
hackmyresume new
. -
Theme Authoring: Annotated the HTML and MS Word (XML) formats of the Modern theme for FRESH theme authors.
-
Theme Authoring: Support for templatized CSS files in FRESH themes. CSS files are now expanded via Handlebars or Underscore prior to copying to the destination.
-
Added CHANGELOG.md (this file).
-
Rewrote the HackMyResume man/help page.
-
Minor incremental updates to the FRESCA schema.
-
PDF generation now uses asynchronous
spawn()
which has better compatibility with old or boutique versions of Node.js. -
Refactored colors in HackMyResume output. Errors will now display as red, warnings as yellow, successful operations as green, and informational messages as cyan.
-
Theme messages and usage tips will no longer display during resume generation by default. Use the
--tips
option to view them. -
The
--no-tips
option (default: false) has been replaced with the--tips
option, also defaulting to false. -
Removed the
hello-world
theme from the prebuilt themes that ship with HackMyResume. It can be installed separately from NPM:npm install fresh-theme-hello-world hackmyresume resume.json -t node_modules/fresh-theme-hello-world
-
sd
-
PDF generation issues on older versions of Node.
-
Stack traces not being emitted correctly.
-
Missing
speaking
section will now appear on generated resumes (#101). -
Incomplete
education
details will now appear on generated resumes (#65). -
Missing employment end date being interpreted as "employment ends today" (#84).
-
Merging multiple source resumes during
BUILD
sometimes fails. -
Document
--pdf
flag in README (#111).
-
Logging messages have been moved out of core HackMyResume code ahead of localization support.
-
All HackMyResume console output is described in
msg.yml
. -
Relaxed pure JavaScript requirement. CoffeeScript will now start appearing in HackMyResume and FluentCV sources!
-
Additional tests.
- Tweak stack trace under
--debug
.
- Preliminary support for
-d
or--debug
flag. Forces HackMyResume to emit a stack trace under error conditions.
-
HackMyResume now supports CLI-based generation of PDF formats across multiple engines (Phantom, wkhtmltopdf, etc). Instead of talking to these engines over a programmatic API, as in prior versions, HackMyResume 1.5+ speaks to them over the same command-line interface (CLI) you'd use if you were using these tools directly.
-
HackMyResume will now (attempt to) generate a PDF output for JSON Resume themes (in addition to HTML).
-
Minor README and FAQ additions.
-
Cleaner, quicker installs. Installing HackMyResume with
npm install hackmyresume -g
will no longer trigger a lengthy, potentially error-prone install for Phantom.js and/or wkhtmltopdf for PDF support. Instead, users can install these engines externally and HMR will use them when present. -
Minor error handling improvements.
-
Fixed an error with generating specific formats with the
BUILD
command (#97). -
Fixed numerous latent/undocumented bugs and glitches.
- Introduced FAQ.
- Additional README notes.
hackmyresume new
now generates a valid starter resume with sample data.
- Fixed warning message when
hackmyresume new
is run without a filename.
- "Projects" support: FRESH resumes and themes can now store and display open source, commercial, private, personal, and creative projects.
- New command: ANALYZE. Inspect your resume for gaps, keyword counts, and other metrics. (Experimental.)
- Side-by-side PDF generation with Phantom and wkhtmltopdf. Use the
--pdf
or-p
flag to pick betweenphantom
andwkhtmltopdf
generation. - Disable PDF generation with the
--pdf none
switch. - Inherit formats between themes. Themes can now inherit formats (Word, HTML, .txt, etc.) from other themes. (FRESH themes only.)
- Rename resume sections to different languages or wordings.
- Specify complex options via external file. Use with the
-o
or--opts
option. - Disable colors with the
--no-color
flag. - Theme messages and usage tips instructions will now appear in the default HackMyResume output for the
build
command. Runhackmyresume build resume.json -t awesome
for an example. Turn off with the--no-tips
flag. - Treat validation errors as warnings with the
--assert
switch (VALIDATE command only).
- Fixed a minor glitch in the FRESCA schema.
- Fixed encoding issues in the
Highlights
section of certain resumes. - Fix behavior of
-s
and--silent
flags.
- PDF generation now defaults to Phantom for all platforms, with
wkhtmltopdf
accessible with--pdf wkhtmltopdf
. - Resumes are now validated, by default, prior to generation. This
behavior can be disabled with the
--novalidate
or--force
switch. - Syntax errors in source FRESH and JSON Resumes are now captured for all commands.
- Minor updates to README.
- Most themes now inherit Markdown and Plain Text formats from the Basis theme.
- Switched from color to chalk.
- Command invocations now handled through commander.js.
- Improved FRESH theme infrastructure (more partials, more DRY).
- Add additional Travis badges.
- Fix extraneous console log output when generating a FRESH theme to MS Word.
- Fix Travis tests on
dev
.
-
Local generation of JSON Resume themes. To use a JSON Resume theme, first install it with
npm install jsonresume-theme-[blah]
(most JSON Resume themes are on NPM). Then pass it into HackMyResume via the-t
parameter:hackmyresume BUILD resume.json TO out/somefile.all -t node_modules/jsonresume-theme-classy
-
Better Markdown support. HackMyResume will start flowing basic Markdown styles to JSON Resume (HTML) themes. FRESH's existing Markdown support has also been improved.
-
.PNG output formats will start appearing in themes that declare an HTML output.
-
Tweak CSS embedding / linking via the --css option (
<style></style>
vs<link>
). Only works for HTML (or HTML-driven) formats of FRESH themes. Use--css=link
to link in CSS assets and--css=embed
to embed the styles in the HTML document. For examplehackmyresume BUILD resume.json TO out/resume.all --css=link
. -
Improved Handlebars/Underscore helper support for FRESH themes. Handlebars themes can access helpers via
{{helperName}}
. Underscore themes can access helpers via theh
object.
- Distinguish between validation errors and syntax errors when validating a FRESH or JRS resume with
hackmyresume validate <blah>
. - Emit line and column info for syntax errors during validation of FRESH and JRS resumes.
- FRESH themes now embed CSS into HTML formats by default so that the HTML resume output doesn't have an external CSS file dependency by default. Users can specify normal linked stylesheets by setting
--css=link
. - Renamed fluent-themes repo to fresh-themes in keeping with the other parts of the project.
- Fix various encoding errors in MS Word outputs.
- Fix assorted FRESH-to-JRS and JRS-to-FRESH conversion glitches.
- Fix error when running HMR with no parameters.
- Other minor fixes.
- Numerous changes supporting v1.3.0.
- Various in-passing fixes.
- Fix
require('FRESCA')
error. - Fix
.history
and.map
errors on loading incomplete or empty JRS resumes.
- Better test coverage of incomplete/empty resumes.
- Fixed the
new
command: Generate a new FRESH-format resume withhackmyresume new resume.json
or a new JSON Resume withhackmyresume new resume.json -f jrs
.
- Introduced CLI tests.
- MS Word formats: Fixed skill coloring/level bug.
-
Make the
TO
keyword optional. If noTO
keyword is specified (for thebuild
andconvert
commands), HMR will assume the last file passed in is the desired output file. So these are equivalent:hackmyresume BUILD resume.json TO out/resume.all hackmyresume BUILD resume.json out/resume.all
TO
only needs to be included if you have multipled output files:hackmyresume BUILD resume.json TO out1.doc out2.html out3.tex
- Correctly generate MS Word hyperlinks from Markdown source data.
- Initial public 1.0 release.