Commit Graph

469 Commits

Author SHA1 Message Date
hacksalot defe9b6e95 Remove magic number. 2016-01-15 13:35:45 -05:00
hacksalot 4c5ccc001a Introduce PEEK command.
Peek at arbitrary resumes and resume objects paths with "hackmyresume
peek <resume> [objectPath]". For ex:

hackmyresume PEEK resume.json
hackmyresume PEEK resume.json info
hackmyresume PEEK resume.json employment[2].keywords
hackmyresume PEEK r1.json r2.json r3.json info.brief
2016-01-15 13:08:01 -05:00
hacksalot c9ae2ffef3 Improve errors / tests consistency. 2016-01-14 14:22:26 -05:00
hacksalot 37ea6cf804 Rename error-handler.js to error.js. 2016-01-14 11:49:27 -05:00
hacksalot a9c685c6a4 Refactor error handling (interim). 2016-01-14 11:47:05 -05:00
hacksalot 7765e85336 Integrate printf(). 2016-01-14 09:46:29 -05:00
hacksalot 7af50c51f6 Gather. 2016-01-14 08:48:07 -05:00
hacksalot 19b30d55ec Move error handling out of core. 2016-01-13 15:28:02 -05:00
hacksalot 1b94ada709 Misc improvements. 2016-01-12 18:13:54 -05:00
hacksalot 1966b0a862 Move string transformation out of FRESHResume. 2016-01-12 13:28:20 -05:00
hacksalot 8ced6a730a Fix BUILD command event notifications. 2016-01-12 12:46:55 -05:00
hacksalot 6cd1e60e79 Sort projects. 2016-01-12 12:46:18 -05:00
hacksalot be691e4230 Remove commented lines. 2016-01-12 12:46:05 -05:00
hacksalot 07b23109f9 Use async spawn() by default. 2016-01-12 12:32:32 -05:00
hacksalot b961fd1c07 Fix global leak. 2016-01-11 21:14:40 -05:00
hacksalot f965bf456a Fix JSON file loading glitch with --options. 2016-01-11 20:52:07 -05:00
hacksalot 69be38110f Update license notice in index.js. 2016-01-11 19:56:44 -05:00
hacksalot 3800e19418 Process TXT global partials. 2016-01-11 19:56:19 -05:00
hacksalot 11bfcd4bef Support raw JSON in the --options parameter. 2016-01-11 18:07:56 -05:00
hacksalot 7814786957 Recruit Markdown partials when present. 2016-01-11 12:36:00 -05:00
hacksalot 542776fd2e Add shortcut options to man page. 2016-01-11 08:31:05 -05:00
hacksalot 815ee3dc7e Support lowercase -v version flag.
Commander.js built-in version handling uses an uppercase shortcut (-V)
for the version, so the common -v (lowercase) isn't recognized and
errors out.
2016-01-11 08:29:46 -05:00
hacksalot 376e720f4b Scrub. 2016-01-11 08:21:06 -05:00
hacksalot b224c8939b Remove redundant conditional. 2016-01-11 08:20:48 -05:00
hacksalot 0ecac98cff Remove totally unnecessary line.
Totally.
2016-01-10 19:11:43 -05:00
hacksalot 1416f57d0b Move verb.js to /verbs folder. 2016-01-10 19:08:29 -05:00
hacksalot 65c7e41c53 Remove unused var. 2016-01-10 19:02:24 -05:00
hacksalot c8cc673ad5 Update man page. 2016-01-10 18:48:57 -05:00
hacksalot 656dbe2fc2 Capture. 2016-01-10 14:53:22 -05:00
hacksalot a4ee7127ee Fix stack reporting glitch. 2016-01-10 13:28:20 -05:00
hacksalot fee21a7b17 Always use JSONLint for SyntaxError post-processing.
Remove the check for SyntaxError's built-in line and character
indicators and always re-parse on error to grab the line/column.
2016-01-10 05:17:28 -05:00
hacksalot bd8b587c5b Remove explicit logger and error handler params. 2016-01-09 22:34:21 -05:00
hacksalot 4c954b79df Scrub. 2016-01-09 22:15:50 -05:00
hacksalot b7fffbcf73 Update helper reference in analysis .hbs. 2016-01-09 22:14:34 -05:00
hacksalot 0829800b65 Move helpers to /helpers. 2016-01-09 22:13:29 -05:00
hacksalot d7cfc76636 Promote console helpers has to console-helpers.js. 2016-01-09 22:11:06 -05:00
hacksalot f18910f490 Generate ANALYZE console output from Handlebars template. 2016-01-09 20:18:56 -05:00
hacksalot 540ad48d61 Scrub. 2016-01-09 16:56:30 -05:00
hacksalot c5b8eec33a Move CLI-related assets to subfolder. 2016-01-09 16:14:28 -05:00
hacksalot bece335a64 Fix CREATE verb output. 2016-01-09 15:58:39 -05:00
hacksalot 3aabb5028d Continue moving logging out of core. 2016-01-09 15:49:08 -05:00
hacksalot 732bc9809a Start moving logging out of core. 2016-01-09 13:58:47 -05:00
hacksalot d77b484e55 Verbs are event emitters.
Let verbs source events through EventEmitter. Using aggregation is a bit
simpler here than extending because of the Resig "Class" stuff.
2016-01-09 08:12:55 -05:00
hacksalot 88c71f6e9c Move commands to Verb hierarchy
Move flat command functions (BUILD, ANALYZE, etc.) to a shallow Verb
hierarchy. Allow command verbs to inherit common functionality and prep
for better debugging/logging as well as test mocks.
2016-01-09 06:44:22 -05:00
hacksalot 47e8605f50 Handle args in mock/passthrough case. 2016-01-09 05:30:12 -05:00
hacksalot 9466a8c0dd Remove spawn-watch.
No longer necessary.
2016-01-09 05:29:45 -05:00
hacksalot d878270bc6 Encapsulate CLI interface to ease testing.
Strip index.js down to its bare essentials, move primary logic to
main.js, and expose the latter via module.exports. This allows tests to
execute the same code path(s) HMR runs in production.
2016-01-08 19:22:44 -05:00
hacksalot 62c967526f Fix PDF exception glitch. 2016-01-08 18:15:12 -05:00
hacksalot 1fbfe2507b Carry over debug flag. 2016-01-08 16:33:13 -05:00
hacksalot d6a3aab68a Make Handlebars options explicit. 2016-01-08 16:27:19 -05:00
hacksalot 9fdfd1b5a6 Add baseline support for -d or --debug flag.
For now, -d just force-emits the stack when there is one. In the future,
it can trigger more detailed logging info.
2016-01-08 16:08:33 -05:00
Antonio Ruberto fbfff2a4e4 load theme partials for non html and doc
load global partials for html and doc only but load theme partials for
all outputs
2016-01-08 12:28:23 -05:00
hacksalot 1c93932737 Fix jsHint error. 2016-01-08 12:24:23 -05:00
hacksalot cba29511bc Analyze: fix coverage percentage glitch. 2016-01-08 12:20:51 -05:00
hacksalot 1d655a4ddb Support duration units for JRS resumes. 2016-01-08 12:13:54 -05:00
hacksalot ca94513630 Fix single format output error.
Fixes #97.
2016-01-08 11:59:10 -05:00
hacksalot f3dcbd9081 Improve error vs. warning formatting.
Errors = red. Warnings = yellow.
2016-01-08 10:42:24 -05:00
hacksalot 29c53af843 Rename "invalidTarget" error to "invalidFormat". 2016-01-08 10:09:46 -05:00
hacksalot 8d24087faa Rename src/gen --> src/generators. 2016-01-08 10:02:47 -05:00
hacksalot 95df8e5af4 Rename src/eng --> src/renderers
A renderer is a thing that renders or "paints" an arbitrary format using
a templating engine like Handlebars or Underscore. A generator is a
thing responsible for generating a given output format like HTML or MS
Word.
2016-01-08 09:59:47 -05:00
hacksalot 44555da00f Fix PNG output format for JSON Resume themes. 2016-01-08 09:36:32 -05:00
hacksalot 46bd5d51cc Support implicit PDF generation (interim). 2016-01-08 09:00:43 -05:00
hacksalot d6280e6d89 Start integrating JRS and FRESH rendering paths. 2016-01-08 08:40:19 -05:00
hacksalot 4a2a47f551 Tweak casing. 2016-01-08 07:08:12 -05:00
hacksalot ae51930c9c Tweak indentation. 2016-01-08 07:06:26 -05:00
hacksalot fb33455bea Refactor JRS rendering. 2016-01-08 06:48:04 -05:00
hacksalot 28c703daf7 Improve error handling: PDFs. 2016-01-08 05:11:38 -05:00
hacksalot 0246a5da19 Remove html-pdf-generator class.
PDF generation now performed via html-pdf-cli-generator.
2016-01-07 18:34:43 -05:00
hacksalot 840d17c67b Wrap rasterize.js in IIFE / satisfy jsHint. 2016-01-07 18:33:26 -05:00
hacksalot 97ebecd84a Support CLI-based PDF generation.
Support Phantom and wkhtmltopdf generation via CLI.
2016-01-07 18:24:25 -05:00
hacksalot 96b9bb68e3 Introduce Phantom.js rasterizer script.
Via
https://raw.githubusercontent.com/ariya/phantomjs/master/examples/rasterize.js.
2016-01-07 17:53:42 -05:00
hacksalot a2723452c2 Improve ENOENT handling. 2016-01-07 16:13:09 -05:00
hacksalot cb3488276d Refactor error handling.
Work towards better debug/log/stack trace options for error cases.
2016-01-07 15:54:10 -05:00
hacksalot 43419c27cf Refactor API surface. 2016-01-07 13:44:39 -05:00
hacksalot cb46497346 Rename generate.js to build.js.
Should match the canonical verb name -- "build". Generate is an alias.
2016-01-07 12:03:44 -05:00
hacksalot 850c640368 Annotate Phantom gen method. 2016-01-07 10:54:46 -05:00
hacksalot 60e455b36d Emit call stack for wkhtmltopdf errors. 2016-01-07 10:54:27 -05:00
hacksalot 830c36818e Tweak missing file message for "new" command. 2016-01-06 14:15:27 -05:00
hacksalot 39e995213f Improve starter resume.
"hackmyresume new" should emit a starter resume that a) has example
information and b) validates.
2016-01-06 14:09:22 -05:00
Josh Janusch 4f9207a868 Fix: formatDate helper references the moment method, not the momentDate object 2016-01-06 11:23:39 -05:00
Josh Janusch 3d1f589bc1 formatDate helper now will only use moment if date is valid. If it's not, will use the user inputted value or a fallback parameter, if it is provided 2016-01-06 11:23:38 -05:00
hacksalot ae436a3b84 Scrub. 2016-01-06 11:18:50 -05:00
hacksalot 712b504168 Support global theme partials (interim). 2016-01-06 10:48:51 -05:00
hacksalot 2d20077c08 Support --assert option for validate command.
Cause HMR to return an error code if validation fails and the --assert
option is present.
2016-01-06 00:44:34 -05:00
hacksalot f61deda4e8 Fix format detection error in validate logic. 2016-01-06 00:21:18 -05:00
hacksalot 8203fa50ae Prep convert.js. 2016-01-06 00:20:30 -05:00
hacksalot c5eab0fd9c Scrub. 2016-01-05 23:59:41 -05:00
hacksalot 40e71238ac Scrub. 2016-01-05 23:46:01 -05:00
hacksalot 9d75b207d1 Formalize empty-fresh.json dependency. 2016-01-05 23:28:49 -05:00
hacksalot 9b52c396d3 Fix missing method rename. 2016-01-05 22:32:46 -05:00
hacksalot 2759727984 Add convenience method. 2016-01-05 22:26:16 -05:00
hacksalot e230d640cb Rename imp() to i() (interim). 2016-01-05 22:02:11 -05:00
hacksalot b1a02918ff Support --no-tips flag. 2016-01-05 10:10:24 -05:00
hacksalot ec05f6737a Emit JSON Resume theme instructions. 2016-01-05 10:10:12 -05:00
hacksalot da5db6477b Introduce --color and --no-color options.
These are handled by Chalk, but need to be registered with Commander.js
in order for Chalk to see them.
2016-01-05 09:42:39 -05:00
hacksalot 0f580efb2b Mention ANALYZE command in man page. 2016-01-05 09:38:42 -05:00
hacksalot ff23ee508b Restore app title. 2016-01-05 09:38:21 -05:00
hacksalot 2819faeb6f Improve theme/format inheritance (interim). 2016-01-05 09:28:40 -05:00
hacksalot d205e882f6 Introduce FRESH theme/format inheritance.
Support "inherits" property in theme.json (FRESH themes only).
2016-01-05 06:34:56 -05:00
hacksalot 6185f20ec9 Sort project history by default. 2016-01-05 05:00:04 -05:00
hacksalot 6a61989eb4 Introduce {{dateRange}} and {{camelCase}} helpers. 2016-01-05 04:59:51 -05:00
hacksalot d658a069cd Rename {{hasSection}} helper to {{section}}. 2016-01-05 04:59:26 -05:00
hacksalot 4c31c96891 Introduce has/hasSection helpers. 2016-01-05 00:03:54 -05:00
hacksalot 219209c6ca Fix logic glitch in {{sectionTitle}} helper. 2016-01-04 19:46:45 -05:00
hacksalot 2ba23ee80d Add support for user-definable section titles.
Introduce a {{sectionTitle}} helper; requires theme updates.
2016-01-04 16:20:48 -05:00
hacksalot 4ba3a3f2a9 Merge branch 'master' of https://github.com/hacksalot/HackMyResume 2016-01-04 08:09:12 -05:00
hacksalot 2cab1195e8 Fix 'create' alias. 2016-01-04 07:25:48 -05:00
hacksalot ce75f09210 Refactor API interface. 2016-01-04 07:23:20 -05:00
hacksalot a8fed1b69b Add missing semicolon. 2016-01-04 04:15:13 -05:00
hacksalot 62ca2020d8 Bump FRESH themes version. 2016-01-04 04:15:01 -05:00
hacksalot f65cf8880e Add support for external options file. 2016-01-04 02:50:00 -05:00
hacksalot c8d4a3deb3 Handle global options.
Fix broken --silent flag and set up -o/-opts.
2016-01-04 01:49:35 -05:00
hacksalot d5e2a45034 Output theme message on generate. 2016-01-04 00:58:41 -05:00
hacksalot 2465f2ce1c Fix gap analysis glitches. 2016-01-04 00:14:43 -05:00
hacksalot d5afb3eb2e Handle missing dates during gap inspection. 2016-01-03 23:17:36 -05:00
hacksalot c711cb7922 Improve sorting. 2016-01-03 23:17:18 -05:00
hacksalot e45e0316f6 Remove extraneous regex. 2016-01-03 10:07:58 -05:00
hacksalot 08ab512f4c Add overlap analysis. 2016-01-03 09:48:43 -05:00
hacksalot f2bf09bf96 Allow variable-unit resume duration. 2016-01-03 09:48:22 -05:00
hacksalot 75e2b1c131 Improve keyword acquisition. 2016-01-03 09:48:02 -05:00
hacksalot 0b7ef16a41 Improve accuracy of keyword counts. 2016-01-03 07:36:05 -05:00
hacksalot 247eec396c Fix string iteration filtering glitch. 2016-01-03 07:35:47 -05:00
hacksalot 46c7fa9838 Add baseline keyword analysis. 2016-01-03 06:39:46 -05:00
hacksalot b3fb2c7130 Scrub. 2016-01-03 05:06:54 -05:00
hacksalot c3ec3f28bd Introduce section totals inspector. 2016-01-03 05:03:31 -05:00
hacksalot 0a8ee721e8 Allow for multiple PDF engines / support Phantom PDFs.
Start formalizing PDF generation apparatus and support a `--pdf`
parameter allowing the user to specify the flavor of PDF generation.
2016-01-03 04:11:42 -05:00
hacksalot 8d7cf32988 Finish Commander.js integration. 2016-01-03 03:18:56 -05:00
hacksalot 655ecebaa5 Clean up comments. 2016-01-03 02:40:04 -05:00
hacksalot 8fc0fa99d3 Remove unnecessary indirection. 2016-01-03 02:39:43 -05:00
hacksalot 69e8adc1cc Remove 'minimist' dependency. 2016-01-03 02:25:39 -05:00
hacksalot 6b3396e01b Use Commander.js for invocations. 2016-01-03 02:22:26 -05:00
hacksalot a95b52acd0 Refactor command processing. 2016-01-02 00:15:46 -05:00
hacksalot 47553b6def Fix ICE encoding issues.
Fix issue where @@@@ is appearing in generated resumes.
2016-01-01 20:27:46 -05:00
hacksalot e4a549ed30 Tests: Add ICE detection test.
ICE is the internal boilerplate we use to freeze/unfreeze themes when
trying to force-feed them Markdown or other formatted data.
2016-01-01 20:26:47 -05:00
hacksalot d8b9d86896 Scrub. 2016-01-01 17:30:57 -05:00
hacksalot 13fc903b2b Catch JSON syntax errors for all commands.
...and emit line/column info.
2016-01-01 17:20:42 -05:00
hacksalot 2b669cf35c Tweak error handling for cmd params. 2016-01-01 15:06:16 -05:00
hacksalot 5a2d892b85 Scrub error-handler.js. 2016-01-01 14:59:21 -05:00
hacksalot 37a7c318d5 Remove stack trace for ENOENT. 2016-01-01 14:58:56 -05:00
hacksalot 43873efcab Tweak analyze command error. 2016-01-01 14:38:52 -05:00
hacksalot bb28e5aa8e Support --help option.
Support standard syntax for the HELP command.
2016-01-01 14:38:00 -05:00
TJ Lavelle 49e56cc226 Fix relative theme directory
The theme directory assumes it was a child of the HackMyResume module, but NPM3 will actually flatten this out. Following the same logic that the template-generator uses, find the path to the themes using NPMs require method.
2016-01-01 11:27:05 -05:00
hacksalot 84ad6cf356 Add missing chalk references. 2016-01-01 04:57:50 -05:00
hacksalot cb14452df3 Replace colors with chalk.
Chalk has a few more options and doesn't mess around with
String.prototype.
2016-01-01 04:44:14 -05:00
hacksalot d54b9a6d6c Remove unused method. 2016-01-01 03:45:14 -05:00
hacksalot 6285c2db3b Introduce "analyze" verb and framework.
Introduce a new "analyze" command and start setting up the inspector /
analyzer pipeline with a simple "gap analysis" inspector using a
reference-counted gap detection approach.
2016-01-01 03:39:48 -05:00
hacksalot 5c39c1c93d Remove extraneous console.log. 2015-12-31 19:47:55 -05:00
hacksalot b85d40b1b3 Improve XML encoding for Word docs.
Fix various encoding errors.
2015-12-31 06:38:30 -05:00
hacksalot 069c02ddcc Interim changes supporting v1.3.0. 2015-12-31 03:34:41 -05:00
hacksalot 2b4266ee42 Merge pull request #69 from zhuangya/missing-extend-def-fix-68
fix: missing extend method
2015-12-30 22:11:20 -05:00
hacksalot 3cf24cfb40 Fix PNG generation glitch. 2015-12-30 20:11:21 -05:00
hacksalot 3acf648eb4 Expose helpers to Underscore engine.
Get the same set of helpers working for Underscore and Handlebars
engines. Needs refactoring.
2015-12-30 20:11:09 -05:00
hacksalot 76cafa4249 Fix reference error in explicit themes. 2015-12-30 20:10:14 -05:00
hacksalot 55943bf49a Fix missing semicolon. 2015-12-30 20:09:39 -05:00
hacksalot a280d8acb2 Support CSS embedding vs. linking. 2015-12-30 19:45:50 -05:00
hacksalot 558a321fe8 Refactor generator logic. 2015-12-30 18:52:41 -05:00
hacksalot d901047043 Update fluent-themes --> fresh-themes. 2015-12-30 18:50:58 -05:00
hacksalot d4e0a0fa05 Add {{styleSheet}} helper (placeholder). 2015-12-30 18:19:00 -05:00
hacksalot 72de1bbd33 Scrub. 2015-12-30 15:21:58 -05:00
hacksalot 2ff912e687 Scrub. 2015-12-30 15:11:18 -05:00
hacksalot ccadb0416f Move freebie formats out of theme class. 2015-12-30 15:03:26 -05:00
hacksalot 5e51beddf7 Refactor. 2015-12-30 14:48:22 -05:00
hacksalot 97c9ba08d0 Fix: Broken HELP command. 2015-12-30 14:00:09 -05:00
hacksalot 39d61c66b9 Finish Theme --> FreshTheme rename. 2015-12-30 13:22:18 -05:00
hacksalot 7a1eadb3fc Tweak error messages.
Stay away from language like "please specify a valid input resume". The
fluentcv fork can use corporate-speak. HackMyResume is more like a
gremlin -- feed it, but never after midnight.
2015-12-30 13:12:51 -05:00
hacksalot 1bcc2f7d0c Add formal support for aliases.
new/create and build/generate
2015-12-30 13:00:30 -05:00
hacksalot e3cb949992 Fix: Exception when HMR is run without params. 2015-12-30 12:59:21 -05:00
hacksalot a0c356941c Remove unnecessary line. 2015-12-30 12:44:16 -05:00
hacksalot 3c7868a750 Scrub. 2015-12-30 12:38:01 -05:00
hacksalot 3e7d9c0411 Integrate JRSTheme class. 2015-12-30 12:37:26 -05:00
hacksalot b21fd93d66 Introduce JRSTheme class.
Start splitting out logic into dedicated abstractions for both FRESH and
JSON Resume themes given the different structure and use cases of each.
2015-12-30 12:08:46 -05:00
hacksalot 37e75acd86 Merge remote-tracking branch 'refs/remotes/origin/master' into dev 2015-12-30 12:06:02 -05:00
Ya Zhuang 6280a18c14 fix: missing extend method
fix #68
2015-12-30 19:20:22 +08:00
hacksalot b803eba934 Scrub string.js.
Will probably be retired in favor of Node reusables.
2015-12-29 10:26:30 -05:00
hacksalot 483207e5a0 Improve Markdown support for JSON Resume themes. 2015-12-29 10:01:45 -05:00
hacksalot 02ef2b2241 Improve error handling.
Better support for spawn errors encountered during generation (for ex,
PDFs through wkhtml) + general refactoring.
2015-12-29 06:35:55 -05:00
hacksalot 13430bcad5 Refactor status codes. 2015-12-29 05:09:05 -05:00
hacksalot bf5c040971 Copy JRS theme assets to target. 2015-12-29 03:10:26 -05:00
Ya Zhuang 5dd3d1a3b4 chore: remove debugging console logs 2015-12-29 03:40:42 +08:00
Ya Zhuang 6b0ea0c7bd add: png format 2015-12-29 03:29:13 +08:00
hacksalot 3c1ae4cbd1 Add baseline support for local generation of JSON Resume themes. 2015-12-28 04:37:42 -05:00
hacksalot 5e7abb66bd Safer source format conversions.
Quick fix against missing fields in FRESH and/or JRS (ahead of introing
more robust standalone converter thing). Address portions of #31 and
#33.
2015-12-24 17:51:26 -05:00
hacksalot 358c397bb9 Show call stack on error.
Hat tip @Furchin.
2015-12-24 16:22:29 -05:00
hacksalot 3d41528059 Fix path parsing issue on prev versions of Node.js.
Work around absence of path.parse in Node versions < v0.12. Addresses
#31 and #33.
2015-12-24 16:18:38 -05:00
hacksalot c5ee1ee33c Quick fix for ".history" errors.
Affects #31 and #33.
2015-12-24 04:05:56 -05:00
hacksalot ef2fe95bd8 Remove unused method. 2015-12-24 04:04:44 -05:00
hacksalot e2589b3730 Fix validate command error.
Still hitting some inconsistent behavior in different NPM
versions/platforms with invalid uppercase dependency names per
https://github.com/npm/npm/issues/3692. Partial fix for #33.
2015-12-24 03:23:56 -05:00
hacksalot ebad1677bc Replace file-exists.js with NPM path-exists. 2015-12-22 18:55:17 -05:00
hacksalot c966f6766c Refactor verbs to separate files. 2015-12-21 02:56:02 -05:00
hacksalot a54476eede Reaffirm string-based generation.
In recent commits, HackMyResume generation logic, much like the pilots
in Top Gun who became too reliant on air-to-air missiles and lost the
true art of dogfighting, has become dependent on file-based generation
as implicit file assumptions have crept in. This commit reaffirms the
file-less, string-based nature of the generation process and, as a side
effect, adjusts the behavior of (binary) PDF generation to match.
2015-12-21 00:36:08 -05:00
hacksalot 43cd1c7e52 Allow TO keyword to be omitted.
If the TO keyword is missing, assume the last file passed in is the
destination file.
2015-12-20 20:53:21 -05:00
hacksalot f80c333361 Scrub. 2015-12-20 20:22:46 -05:00
hacksalot cdbb264093 Add string convenience method. 2015-12-20 18:42:02 -05:00
hacksalot b92cf7298a Refactor helpers.
Helpers shouldn't be specific to a given template engine (eg,
Handlebars) in order to allow sharing of helpers between different
template engines. Isolate abstract helpers in another module and apply
them via Handlebars.registerHelper and as necessary for other template
engines.
2015-12-20 18:24:28 -05:00
gruebait 78c5081a29 Support Markdown-driven hyperlinks in MS Word. 2015-12-20 15:42:31 -05:00
hacksalot 80c6bb6e8b Rename to HMR. 2015-12-19 12:37:42 -05:00
hacksalot f0a22be731 Skip underscore-prefixed folders during theme load. 2015-12-19 08:39:36 -05:00
hacksalot ade60022fd Introduce new helpers. 2015-12-19 00:24:21 -05:00
hacksalot 92128da381 Install URL-trimming helper. 2015-12-18 14:51:51 -05:00
hacksalot 1441fe3ae5 Class-ify Underscore/Handlebars engine. 2015-12-18 13:17:07 -05:00