@@ -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 ,
@@ -68,7 +73,8 @@ export class HtmlHelpService implements IHtmlHelpService {
68
73
. replace ( HtmlHelpService . MAN_PAGE_NAME_REGEX , mdFileName . replace ( HtmlHelpService . MARKDOWN_FILE_EXTENSION , "" ) )
69
74
. replace ( HtmlHelpService . HTML_COMMAND_HELP_REGEX , htmlText )
70
75
. replace ( HtmlHelpService . RELATIVE_PATH_TO_STYLES_CSS_REGEX , path . relative ( path . dirname ( filePath ) , this . pathToStylesCss ) )
71
- . replace ( HtmlHelpService . RELATIVE_PATH_TO_IMAGES_REGEX , path . relative ( path . dirname ( filePath ) , this . pathToImages ) ) ;
76
+ . replace ( HtmlHelpService . RELATIVE_PATH_TO_IMAGES_REGEX , path . relative ( path . dirname ( filePath ) , this . pathToImages ) )
77
+ . replace ( HtmlHelpService . RELATIVE_PATH_TO_INDEX_REGEX , path . relative ( path . dirname ( filePath ) , this . pathToIndexHtml ) ) ;
72
78
73
79
this . $fs . writeFile ( filePath , outputHtml ) . wait ( ) ;
74
80
this . $logger . trace ( "Finished writing file '%s'." , filePath ) ;
@@ -140,10 +146,23 @@ export class HtmlHelpService implements IHtmlHelpService {
140
146
public getCommandLineHelpForCommand ( commandName : string ) : IFuture < string > {
141
147
return ( ( ) : string => {
142
148
var helpText = this . readMdFileForCommand ( commandName ) . wait ( ) ;
143
- var outputText = this . $microTemplateService . parseContent ( helpText , { isHtml : false } ) ;
149
+ var outputText = this . $microTemplateService . parseContent ( helpText , { isHtml : false } )
150
+ . replace ( / & n b s p ; / g, " " )
151
+ . replace ( HtmlHelpService . MARKDROWN_LINK_REGEX , "$1" ) ;
152
+
144
153
var opts = {
145
154
unescape : true ,
146
- link : chalk . red
155
+ link : chalk . red ,
156
+ tableOptions : {
157
+ chars : { 'mid' : '' , 'left-mid' : '' , 'mid-mid' : '' , 'right-mid' : '' } ,
158
+ style : {
159
+ 'padding-left' : 1 ,
160
+ 'padding-right' : 1 ,
161
+ head : [ 'green' , 'bold' ] ,
162
+ border : [ 'grey' ] ,
163
+ compact : false
164
+ }
165
+ }
147
166
} ;
148
167
149
168
marked . setOptions ( { renderer : new TerminalRenderer ( opts ) } ) ;
0 commit comments