1
0
mirror of https://github.com/JuanCanham/HackMyResume.git synced 2024-11-25 01:40:10 +00:00
Commit Graph

417 Commits

Author SHA1 Message Date
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
hacksalot
b0bc71cd66 Introduce "either" helper for Handlebars themes. 2015-12-18 13:00:47 -05:00
hacksalot
e908e8bb34 Add missing Underscore require(). 2015-12-18 10:13:50 -05:00
hacksalot
d708a6c6d8 Refactor Handlebars helpers. 2015-12-18 10:10:30 -05:00
hacksalot
a630741098 Fix exception. 2015-12-18 10:10:19 -05:00
devlinjd
fc9cbab974 Choose template engine from active theme. 2015-12-17 11:04:29 -05:00
devlinjd
eabab26eef Update file headers. 2015-12-17 10:15:59 -05:00
devlinjd
5475b081b1 Support basic Markdown in MS Word docs. 2015-12-16 23:26:53 -05:00
devlinjd
ae9c295ce1 Better Handlebars support. 2015-12-16 20:13:27 -05:00
devlinjd
e0ef774692 Add missing semicolon. 2015-12-16 12:13:50 -05:00
devlinjd
0c1364593a Support post-save callback. 2015-12-16 11:26:30 -05:00
devlinjd
1603a4bc73 Prosecute FCVD updates. 2015-12-16 11:25:50 -05:00
devlinjd
8361cf9960 Remove extraneous comma.
Go away, extraneous comma.
2015-12-16 11:25:04 -05:00
devlinjd
8273e7d150 ... 2015-12-15 06:20:06 -05:00
devlinjd
5c49a8297f Fix: FCVD error. 2015-12-14 07:32:41 -05:00
devlinjd
b38a7c1da2 Improve conversions and tests. 2015-12-12 10:48:26 -05:00
devlinjd
9d459370ce Update FRESH<-->JRS converter. 2015-12-12 04:42:56 -05:00
devlinjd
00e6407347 Kludge theme loading issue for FCVD.
Resolve in v0.11.0.
2015-12-10 10:28:19 -05:00
devlinjd
3805a36271 Fix folder generation wrinkle. 2015-12-09 23:30:53 -05:00
devlinjd
541198321e Fix JSHint warnings. 2015-12-09 21:44:35 -05:00
devlinjd
0395792359 Restore canonical output filename. 2015-12-09 05:08:10 -05:00
devlinjd
2abfe4426c Refactor. 2015-12-09 04:32:48 -05:00
devlinjd
3dcf3c3974 Tweak Markdownification. 2015-12-09 04:32:39 -05:00
devlinjd
857de65750 More MEGADESK. 2015-12-09 00:13:58 -05:00
devlinjd
f3c9f92263 Add baseline Markdownification. 2015-12-08 22:22:33 -05:00
devlinjd
e8704e1374 Fix file generation glitch. 2015-12-08 22:22:14 -05:00
devlinjd
87c03b437c Generate safe date times; don't hard-code. 2015-12-08 22:21:42 -05:00
devlinjd
7c58f0ea96 Add symlink support. 2015-12-08 10:13:04 -05:00
devlinjd
fcaeb381fe Gather. 2015-12-07 21:24:14 -05:00
devlinjd
5a716dff16 Add basic multiplexing support. 2015-12-07 16:39:59 -05:00
devlinjd
8ee2716245 Scrub theme.js. 2015-12-07 10:16:38 -05:00
devlinjd
5f19f0a7df Add baseline support for multifile themes. #rough 2015-12-07 09:51:00 -05:00
devlinjd
cf25621679 Introduce placeholder LaTeX generator. 2015-12-06 18:29:16 -05:00
devlinjd
228f14d06c Support recursive theme template loading. 2015-12-06 18:19:33 -05:00
devlinjd
307c37dc44 Use "src" subfolder instead of "templates". 2015-12-06 18:18:36 -05:00
devlinjd
3b8d100f39 Add baseline Handlebars support. 2015-12-06 16:19:55 -05:00
devlinjd
e4d098a3ce Add safety for implicit Markdown. 2015-12-06 05:51:03 -05:00
devlinjd
92ca11f23c Adjust output. 2015-12-02 15:10:38 -05:00
devlinjd
5b3a25c461 Support NEW command. 2015-12-02 14:56:36 -05:00
devlinjd
fbc98060ce Fix theme loading glitch. 2015-11-24 10:56:28 -05:00
devlinjd
42770989bc Tweak colors for Linux. 2015-11-22 00:10:08 -05:00
devlinjd
eade6f3a5c Tweak colors. 2015-11-22 00:07:30 -05:00
devlinjd
5735ddc495 Multiple enhancements.
A set of rough enhancements supporting FRESH:

- Added ability to process multiple sources for all commands (BUILD,
VALIDATE, CONVERT).

- Added new HELP command to show usage.

- Improved error-handling and color-coding.
2015-11-21 16:12:22 -05:00
devlinjd
992069b22d Cleanup. 2015-11-21 10:33:16 -05:00
devlinjd
cbddb4b3aa Add convenience filter for links. 2015-11-21 09:13:21 -05:00
devlinjd
317de75a5b Refactor. 2015-11-21 07:59:30 -05:00
devlinjd
9fbab27d73 Improve validation and color-coding. 2015-11-21 05:56:16 -05:00
devlinjd
debd866545 Adjust date references. 2015-11-21 03:11:18 -05:00
devlinjd
5304cbabd9 Tweak converter. 2015-11-20 15:29:38 -05:00
devlinjd
4de997840e Scrub. 2015-11-20 09:53:36 -05:00
devlinjd
9cde39703e Clean up handling of "meta". 2015-11-20 09:28:55 -05:00
devlinjd
c14176a504 Implement "convert" command. 2015-11-20 08:29:19 -05:00
devlinjd
16cf97e08e Improve converter. 2015-11-20 08:27:39 -05:00