@@ -15,6 +15,8 @@ export class HtmlHelpService implements IHtmlHelpService {
15
15
private static HTML_COMMAND_HELP_REGEX = / @ H T M L _ C O M M A N D _ H E L P @ / g;
16
16
private static RELATIVE_PATH_TO_STYLES_CSS_REGEX = / @ R E L A T I V E _ P A T H _ T O _ S T Y L E S _ C S S @ / g;
17
17
private static RELATIVE_PATH_TO_IMAGES_REGEX = / @ R E L A T I V E _ P A T H _ T O _ I M A G E S @ / g;
18
+ private static RELATIVE_PATH_TO_INDEX_REGEX = / @ R E L A T I V E _ P A T H _ T O _ I N D E X @ / g;
19
+ private static MARKDROWN_LINK_REGEX = / \[ ( [ \s \S ] + ?) \] \( [ \s \S ] * ?\) / g;
18
20
19
21
private pathToManPages : string ;
20
22
private pathToHtmlPages : string ;
@@ -27,6 +29,9 @@ export class HtmlHelpService implements IHtmlHelpService {
27
29
}
28
30
29
31
private pathToImages = this . $staticConfig . HTML_CLI_HELPERS_DIR ;
32
+ private get pathToIndexHtml ( ) : string {
33
+ return path . join ( this . $staticConfig . HTML_PAGES_DIR , "index.html" ) ;
34
+ }
30
35
31
36
constructor ( private $logger : ILogger ,
32
37
private $injector : IInjector ,
@@ -69,7 +74,8 @@ export class HtmlHelpService implements IHtmlHelpService {
69
74
. replace ( HtmlHelpService . MAN_PAGE_NAME_REGEX , mdFileName . replace ( HtmlHelpService . MARKDOWN_FILE_EXTENSION , "" ) )
70
75
. replace ( HtmlHelpService . HTML_COMMAND_HELP_REGEX , htmlText )
71
76
. replace ( HtmlHelpService . RELATIVE_PATH_TO_STYLES_CSS_REGEX , path . relative ( path . dirname ( filePath ) , this . pathToStylesCss ) )
72
- . replace ( HtmlHelpService . RELATIVE_PATH_TO_IMAGES_REGEX , path . relative ( path . dirname ( filePath ) , this . pathToImages ) ) ;
77
+ . replace ( HtmlHelpService . RELATIVE_PATH_TO_IMAGES_REGEX , path . relative ( path . dirname ( filePath ) , this . pathToImages ) )
78
+ . replace ( HtmlHelpService . RELATIVE_PATH_TO_INDEX_REGEX , path . relative ( path . dirname ( filePath ) , this . pathToIndexHtml ) ) ;
73
79
74
80
this . $fs . writeFile ( filePath , outputHtml ) . wait ( ) ;
75
81
this . $logger . trace ( "Finished writing file '%s'." , filePath ) ;
@@ -144,10 +150,23 @@ export class HtmlHelpService implements IHtmlHelpService {
144
150
public getCommandLineHelpForCommand ( commandName : string ) : IFuture < string > {
145
151
return ( ( ) : string => {
146
152
var helpText = this . readMdFileForCommand ( commandName ) . wait ( ) ;
147
- var outputText = this . $microTemplateService . parseContent ( helpText , { isHtml : false } ) ;
153
+ var outputText = this . $microTemplateService . parseContent ( helpText , { isHtml : false } )
154
+ . replace ( / & n b s p ; / g, " " )
155
+ . replace ( HtmlHelpService . MARKDROWN_LINK_REGEX , "$1" ) ;
156
+
148
157
var opts = {
149
158
unescape : true ,
150
- link : chalk . red
159
+ link : chalk . red ,
160
+ tableOptions : {
161
+ chars : { 'mid' : '' , 'left-mid' : '' , 'mid-mid' : '' , 'right-mid' : '' } ,
162
+ style : {
163
+ 'padding-left' : 1 ,
164
+ 'padding-right' : 1 ,
165
+ head : [ 'green' , 'bold' ] ,
166
+ border : [ 'grey' ] ,
167
+ compact : false
168
+ }
169
+ }
151
170
} ;
152
171
153
172
marked . setOptions ( { renderer : new TerminalRenderer ( opts ) } ) ;
0 commit comments