Compare commits
16 Commits
Author | SHA1 | Date | |
---|---|---|---|
8d2c9e8241 | |||
b78b0ef599 | |||
5a046a7667 | |||
b04f3be3db | |||
d441f5b489 | |||
38f3ccb364 | |||
0c7f50e3cc | |||
7937cc8898 | |||
1a7f33d22b | |||
ea9dfa0e0d | |||
755babdd75 | |||
4fa345d20e | |||
b8678cd808 | |||
4f25981183 | |||
81a5f87eb7 | |||
dd3c4860a0 |
32
package-lock.json
generated
32
package-lock.json
generated
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@gitzone/tsdoc",
|
||||
"version": "1.0.5",
|
||||
"version": "1.0.13",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
@ -165,6 +165,14 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"@pushrocks/smartexit": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartexit/-/smartexit-1.0.7.tgz",
|
||||
"integrity": "sha512-G/gBbYWRAZs/O7YPUKTeEpCFvvfH7fayYvP3jqeHbZFFwILmaweLXDw/ns6R3bkI5w+lnlCoj26aXCtUWfqMtA==",
|
||||
"requires": {
|
||||
"@pushrocks/lik": "^3.0.5"
|
||||
}
|
||||
},
|
||||
"@pushrocks/smartfile": {
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartfile/-/smartfile-7.0.2.tgz",
|
||||
@ -268,20 +276,14 @@
|
||||
}
|
||||
},
|
||||
"@pushrocks/smartshell": {
|
||||
"version": "2.0.13",
|
||||
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartshell/-/smartshell-2.0.13.tgz",
|
||||
"integrity": "sha512-jLfAhLxMVKAScKdln1QrQqBI7A7INhMNHIq28fJEBi0BNDUS0eerw4yMAnR4CRmcrh4xFp1z+ju1kaPO3I/4MA==",
|
||||
"version": "2.0.15",
|
||||
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartshell/-/smartshell-2.0.15.tgz",
|
||||
"integrity": "sha512-yLkNRYiQTyTamQl3N8bXAiFkew1VK1IJusVfy+OLp456amY8byAg6JI89HHzsSJkK7QnK0+4hcK4fUbkijevsA==",
|
||||
"requires": {
|
||||
"@pushrocks/smartpromise": "^2.0.5",
|
||||
"@pushrocks/smartexit": "^1.0.7",
|
||||
"@pushrocks/smartpromise": "^3.0.2",
|
||||
"@types/which": "^1.3.1",
|
||||
"which": "^1.3.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@pushrocks/smartpromise": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-2.0.5.tgz",
|
||||
"integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@pushrocks/smarttime": {
|
||||
@ -413,9 +415,9 @@
|
||||
"integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA=="
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "12.0.0",
|
||||
"resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-12.0.0.tgz",
|
||||
"integrity": "sha512-Jrb/x3HT4PTJp6a4avhmJCDEVrPdqLfl3e8GGMbpkGGdwAV5UGlIs4vVEfsHHfylZVOKZWpOqmqFH8CbfOZ6kg=="
|
||||
"version": "12.0.2",
|
||||
"resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-12.0.2.tgz",
|
||||
"integrity": "sha512-5tabW/i+9mhrfEOUcLDu2xBPsHJ+X5Orqy9FKpale3SjDA17j5AEpYq5vfy3oAeAHGcvANRCO3NV3d2D6q3NiA=="
|
||||
},
|
||||
"@types/shelljs": {
|
||||
"version": "0.8.5",
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@gitzone/tsdoc",
|
||||
"version": "1.0.5",
|
||||
"version": "1.0.13",
|
||||
"private": false,
|
||||
"description": "a tool for better documentation",
|
||||
"main": "dist/index.js",
|
||||
@ -20,7 +20,7 @@
|
||||
"@gitzone/tsbuild": "^2.0.22",
|
||||
"@gitzone/tstest": "^1.0.15",
|
||||
"@pushrocks/tapbundle": "^3.0.7",
|
||||
"@types/node": "^12.0.0",
|
||||
"@types/node": "^12.0.2",
|
||||
"tslint": "^5.11.0",
|
||||
"tslint-config-prettier": "^1.15.0"
|
||||
},
|
||||
@ -30,7 +30,7 @@
|
||||
"@pushrocks/smartfile": "^7.0.2",
|
||||
"@pushrocks/smartlog": "^2.0.19",
|
||||
"@pushrocks/smartlog-destination-local": "^7.0.5",
|
||||
"@pushrocks/smartshell": "^2.0.13",
|
||||
"@pushrocks/smartshell": "^2.0.15",
|
||||
"typedoc": "^0.14.2",
|
||||
"typescript": "^3.4.5"
|
||||
}
|
||||
|
@ -1,10 +1,67 @@
|
||||
import * as plugins from './tsdoc.plugins';
|
||||
import * as paths from './tsdoc.paths';
|
||||
|
||||
export class MkDocs {
|
||||
public smartshellInstance = new plugins.smartshell.Smartshell({
|
||||
executor: 'bash',
|
||||
pathDirectories: [paths.binDir]
|
||||
});
|
||||
|
||||
public static async isMkDocsDir(dirPathArg: string): Promise<boolean> {
|
||||
const result = await plugins.smartfile.fs.fileExists(
|
||||
plugins.path.join(dirPathArg, 'mkdocs.yml')
|
||||
);
|
||||
return !result;
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async handleCommand(argvArg) {
|
||||
const mkdocsInstance = new MkDocs(paths.cwd);
|
||||
switch (true) {
|
||||
case argvArg.serve:
|
||||
await mkdocsInstance.serve();
|
||||
break;
|
||||
case argvArg.publish:
|
||||
await mkdocsInstance.publish();
|
||||
break;
|
||||
default:
|
||||
await mkdocsInstance.compile();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Instance
|
||||
public typedocDirectory: string;
|
||||
constructor(dirPathArg) {
|
||||
this.typedocDirectory = dirPathArg;
|
||||
}
|
||||
|
||||
public async update() {
|
||||
await this.smartshellInstance.exec(
|
||||
`docker pull registry.gitlab.com/hosttoday/ht-docker-mkdocs`
|
||||
);
|
||||
}
|
||||
|
||||
public async compile() {
|
||||
await this.update();
|
||||
await this.smartshellInstance.exec(`rm -rf public/`);
|
||||
await this.smartshellInstance.exec(
|
||||
`docker run --rm -p 8000:8000 -v ${
|
||||
paths.cwd
|
||||
}:/docs registry.gitlab.com/hosttoday/ht-docker-mkdocs build`
|
||||
);
|
||||
}
|
||||
|
||||
public async serve() {
|
||||
await this.update();
|
||||
await this.smartshellInstance.exec(
|
||||
`docker run --rm -p 8000:8000 -v ${
|
||||
paths.cwd
|
||||
}:/docs registry.gitlab.com/hosttoday/ht-docker-mkdocs`
|
||||
);
|
||||
}
|
||||
|
||||
public async publish() {
|
||||
await this.compile();
|
||||
await this.smartshellInstance.exec(`gitzone commit`);
|
||||
}
|
||||
}
|
||||
|
@ -22,6 +22,8 @@ export class TypeDoc {
|
||||
}
|
||||
|
||||
public async compile() {
|
||||
await this.smartshellInstance.exec(`typedoc --module "commonjs" --target "ES2016" --out public/ ts/`);
|
||||
await this.smartshellInstance.exec(
|
||||
`typedoc --module "commonjs" --target "ES2016" --out public/ ts/`
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -8,10 +8,13 @@ import { MkDocs } from './tsdoc.classes.mkdocs';
|
||||
export const run = async () => {
|
||||
const tsdocCli = new plugins.smartcli.Smartcli();
|
||||
tsdocCli.addCommand('typedoc').subscribe(async argvArg => {
|
||||
|
||||
const typeDocInstance = new TypeDoc(paths.cwd);
|
||||
await typeDocInstance.compile();
|
||||
});
|
||||
|
||||
tsdocCli.addCommand('mkdocs').subscribe(async argvArg => {});
|
||||
tsdocCli.addCommand('mkdocs').subscribe(async argvArg => {
|
||||
await MkDocs.handleCommand(argvArg);
|
||||
});
|
||||
|
||||
tsdocCli.standardTask().subscribe(async argvArg => {
|
||||
logger.log('warn', `Auto detecting environment!`);
|
||||
@ -19,11 +22,10 @@ export const run = async () => {
|
||||
case await TypeDoc.isTypeDocDir(paths.cwd):
|
||||
logger.log('ok', `Detected TypeDoc compliant directory at ${paths.cwd}`);
|
||||
tsdocCli.trigger('typedoc');
|
||||
const typeDocInstance = new TypeDoc(paths.cwd);
|
||||
await typeDocInstance.compile();
|
||||
break;
|
||||
case await MkDocs.isMkDocsDir(paths.cwd):
|
||||
logger.log('ok', `Detected MkDocs compliant directory at ${paths.cwd}`);
|
||||
tsdocCli.trigger('mkdocs');
|
||||
break;
|
||||
default:
|
||||
logger.log('error', `Cannot determine docs format at ${paths.cwd}`);
|
||||
|
Reference in New Issue
Block a user