1 | 'use strict';
|
2 |
|
3 | module.exports = function(ctx) {
|
4 | const console = ctx.extend.console;
|
5 |
|
6 | console.register('clean', 'Remove generated files and cache.', require('./clean'));
|
7 |
|
8 | console.register('config', 'Get or set configurations.', {
|
9 | usage: '[name] [value]',
|
10 | arguments: [
|
11 | {name: 'name', desc: 'Setting name. Leave it blank if you want to show all configurations.'},
|
12 | {name: 'value', desc: 'New value of a setting. Leave it blank if you just want to show a single configuration.'}
|
13 | ]
|
14 | }, require('./config'));
|
15 |
|
16 | console.register('deploy', 'Deploy your website.', {
|
17 | options: [
|
18 | {name: '--setup', desc: 'Setup without deployment'},
|
19 | {name: '-g, --generate', desc: 'Generate before deployment'}
|
20 | ]
|
21 | }, require('./deploy'));
|
22 |
|
23 | console.register('generate', 'Generate static files.', {
|
24 | options: [
|
25 | {name: '-d, --deploy', desc: 'Deploy after generated'},
|
26 | {name: '-f, --force', desc: 'Force regenerate'},
|
27 | {name: '-w, --watch', desc: 'Watch file changes'},
|
28 | {name: '-b, --bail', desc: 'Raise an error if any unhandled exception is thrown during generation'}
|
29 | ]
|
30 | }, require('./generate'));
|
31 |
|
32 | console.register('list', 'List the information of the site', {
|
33 | desc: 'List the information of the site.',
|
34 | usage: '<type>',
|
35 | arguments: [
|
36 | {name: 'type', desc: 'Available types: page, post, route, tag, category'}
|
37 | ]
|
38 | }, require('./list'));
|
39 |
|
40 | console.register('migrate', 'Migrate your site from other system to Hexo.', {
|
41 | init: true,
|
42 | usage: '<type>',
|
43 | arguments: [
|
44 | {name: 'type', desc: 'Migrator type.'}
|
45 | ]
|
46 | }, require('./migrate'));
|
47 |
|
48 | console.register('new', 'Create a new post.', {
|
49 | usage: '[layout] <title>',
|
50 | arguments: [
|
51 | {name: 'layout', desc: 'Post layout. Use post, page, draft or whatever you want.'},
|
52 | {name: 'title', desc: 'Post title. Wrap it with quotations to escape.'}
|
53 | ],
|
54 | options: [
|
55 | {name: '-r, --replace', desc: 'Replace the current post if existed.'},
|
56 | {name: '-s, --slug', desc: 'Post slug. Customize the URL of the post.'},
|
57 | {name: '-p, --path', desc: 'Post path. Customize the path of the post.'}
|
58 | ]
|
59 | }, require('./new'));
|
60 |
|
61 | console.register('publish', 'Moves a draft post from _drafts to _posts folder.', {
|
62 | usage: '[layout] <filename>',
|
63 | arguments: [
|
64 | {name: 'layout', desc: 'Post layout. Use post, page, draft or whatever you want.'},
|
65 | {name: 'filename', desc: 'Draft filename. "hello-world" for example.'}
|
66 | ]
|
67 | }, require('./publish'));
|
68 |
|
69 | console.register('render', 'Render files with renderer plugins.', {
|
70 | init: true,
|
71 | desc: 'Render files with renderer plugins (e.g. Markdown) and save them at the specified path.',
|
72 | usage: '<file1> [file2] ...',
|
73 | options: [
|
74 | {name: '--output', desc: 'Output destination. Result will be printed in the terminal if the output destination is not set.'},
|
75 | {name: '--engine', desc: 'Specify render engine'},
|
76 | {name: '--pretty', desc: 'Prettify JSON output'}
|
77 | ]
|
78 | }, require('./render'));
|
79 | };
|