Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
755babdd75 | |||
4fa345d20e | |||
b8678cd808 | |||
4f25981183 | |||
81a5f87eb7 | |||
dd3c4860a0 |
2
package-lock.json
generated
2
package-lock.json
generated
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@gitzone/tsdoc",
|
"name": "@gitzone/tsdoc",
|
||||||
"version": "1.0.5",
|
"version": "1.0.8",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@gitzone/tsdoc",
|
"name": "@gitzone/tsdoc",
|
||||||
"version": "1.0.5",
|
"version": "1.0.8",
|
||||||
"private": false,
|
"private": false,
|
||||||
"description": "a tool for better documentation",
|
"description": "a tool for better documentation",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
|
@ -1,10 +1,60 @@
|
|||||||
import * as plugins from './tsdoc.plugins';
|
import * as plugins from './tsdoc.plugins';
|
||||||
|
import * as paths from './tsdoc.paths';
|
||||||
|
|
||||||
export class MkDocs {
|
export class MkDocs {
|
||||||
|
public smartshellInstance = new plugins.smartshell.Smartshell({
|
||||||
|
executor: 'bash',
|
||||||
|
pathDirectories: [paths.binDir]
|
||||||
|
});
|
||||||
|
|
||||||
public static async isMkDocsDir(dirPathArg: string): Promise<boolean> {
|
public static async isMkDocsDir(dirPathArg: string): Promise<boolean> {
|
||||||
const result = await plugins.smartfile.fs.fileExists(
|
const result = await plugins.smartfile.fs.fileExists(
|
||||||
plugins.path.join(dirPathArg, 'mkdocs.yml')
|
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;
|
||||||
|
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 -it -p 8000:8000 -v ${
|
||||||
|
paths.cwd
|
||||||
|
}:/docs registry.gitlab.com/hosttoday/ht-docker-mkdocs build`
|
||||||
|
);
|
||||||
|
await this.smartshellInstance.exec(`gitzone commit`);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async serve() {
|
||||||
|
await this.update();
|
||||||
|
await this.smartshellInstance.exec(
|
||||||
|
`docker run --rm -it -p 8000:8000 -v ${
|
||||||
|
paths.cwd
|
||||||
|
}:/docs registry.gitlab.com/hosttoday/ht-docker-mkdocs`
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,9 @@ export class TypeDoc {
|
|||||||
this.typedocDirectory = dirPathArg;
|
this.typedocDirectory = dirPathArg;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async compile () {
|
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 () => {
|
export const run = async () => {
|
||||||
const tsdocCli = new plugins.smartcli.Smartcli();
|
const tsdocCli = new plugins.smartcli.Smartcli();
|
||||||
tsdocCli.addCommand('typedoc').subscribe(async argvArg => {
|
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 => {
|
tsdocCli.standardTask().subscribe(async argvArg => {
|
||||||
logger.log('warn', `Auto detecting environment!`);
|
logger.log('warn', `Auto detecting environment!`);
|
||||||
@ -19,11 +22,10 @@ export const run = async () => {
|
|||||||
case await TypeDoc.isTypeDocDir(paths.cwd):
|
case await TypeDoc.isTypeDocDir(paths.cwd):
|
||||||
logger.log('ok', `Detected TypeDoc compliant directory at ${paths.cwd}`);
|
logger.log('ok', `Detected TypeDoc compliant directory at ${paths.cwd}`);
|
||||||
tsdocCli.trigger('typedoc');
|
tsdocCli.trigger('typedoc');
|
||||||
const typeDocInstance = new TypeDoc(paths.cwd);
|
|
||||||
await typeDocInstance.compile();
|
|
||||||
break;
|
break;
|
||||||
case await MkDocs.isMkDocsDir(paths.cwd):
|
case await MkDocs.isMkDocsDir(paths.cwd):
|
||||||
logger.log('ok', `Detected MkDocs compliant directory at ${paths.cwd}`);
|
logger.log('ok', `Detected MkDocs compliant directory at ${paths.cwd}`);
|
||||||
|
tsdocCli.trigger('mkdocs');
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
logger.log('error', `Cannot determine docs format at ${paths.cwd}`);
|
logger.log('error', `Cannot determine docs format at ${paths.cwd}`);
|
||||||
|
Reference in New Issue
Block a user