1 | #!/usr/bin/env node
|
2 |
|
3 | var path = require('path');
|
4 | var parseArgs = require('minimist');
|
5 | var templatizer = require('../templatizer');
|
6 |
|
7 | var argv = parseArgs(process.argv.slice(2), {
|
8 | alias: {
|
9 | d: 'directory',
|
10 | o: 'outfile'
|
11 | }
|
12 | });
|
13 |
|
14 | var usage = [
|
15 | ' ',
|
16 | ' Templatizer: convert directory of jade templates, to a precompile file of template functions',
|
17 | ' ',
|
18 | ' Usage examples:',
|
19 | ' ',
|
20 | ' templatizer -d /path/to/templates -o templates.js',
|
21 | ' # compile directory of templates to templates.js',
|
22 | ' ',
|
23 | ' templatizer --directory /path/to/templates --outfile templates.js',
|
24 | ' # as above with longer form of options',
|
25 | ' ',
|
26 | ' # if `outfile` is not supplied, output will be written to stdout'
|
27 | ].join('\n');
|
28 |
|
29 |
|
30 | var directory = argv.d;
|
31 | var outfile = argv.o;
|
32 |
|
33 | if (!directory) {
|
34 | console.log(usage);
|
35 | process.exit(1);
|
36 | }
|
37 |
|
38 | directory = path.join(process.cwd(), directory);
|
39 |
|
40 | if (outfile) {
|
41 | outfile = path.join(process.cwd(), outfile);
|
42 | templatizer(directory, outfile, function (err) {
|
43 | if (err) throw err;
|
44 | });
|
45 | } else {
|
46 | templatizer(directory, function (err, templates) {
|
47 | if (err) throw err;
|
48 | process.stdout.write(templates);
|
49 | });
|
50 | }
|