1+ require . paths . push ( "./lib" ) ;
2+ require . paths . push ( __dirname ) ;
13var fs = require ( 'fs' ) ,
24 spawn = require ( 'child_process' ) . spawn ,
3- mustache = require ( '../lib/ mustache' ) ,
4- callback = require ( './ callback' ) ,
5- markdown = require ( '../lib/ markdown' ) ;
5+ mustache = require ( 'mustache' ) ,
6+ callback = require ( 'callback' ) ,
7+ markdown = require ( 'markdown' ) ;
68
79var documentation = {
810 section :{ } ,
@@ -44,7 +46,7 @@ var work = callback.chain(function () {
4446 mergeTemplate ( 'wiki_widgets.js' , 'wiki_widgets.js' , documentation , callback . chain ( ) ) ;
4547 console . log ( 'DONE' ) ;
4648} ) ;
47- work ( ) ;
49+ if ( ! this . testmode ) work ( ) ;
4850////////////////////
4951
5052function noop ( ) { }
@@ -78,6 +80,10 @@ function mergeTemplate(template, output, doc, callback){
7880}
7981
8082
83+ function trim ( string ) {
84+ return string . replace ( / ^ [ \s \n \r ] + / g, '' ) . replace ( / [ \s \n \r ] + $ / g, '' ) ;
85+ }
86+
8187function unknownTag ( doc , name ) {
8288 var error = "[" + doc . raw . file + ":" + doc . raw . line + "]: unknown tag: " + name ;
8389 console . log ( error ) ;
@@ -93,7 +99,7 @@ function escapedHtmlTag(doc, name, value) {
9399}
94100
95101function markdownTag ( doc , name , value ) {
96- doc [ name ] = markdown . toHTML ( value ) ;
102+ doc [ name ] = markdown . toHTML ( value . replace ( / ^ # / gm , '##' ) ) ;
97103}
98104
99105var TAG = {
@@ -103,8 +109,10 @@ var TAG = {
103109 namespace : valueTag ,
104110 css : valueTag ,
105111 see : valueTag ,
112+ usageContent : valueTag ,
106113 'function' : valueTag ,
107114 description : markdownTag ,
115+ TODO : markdownTag ,
108116 returns : markdownTag ,
109117 name : function ( doc , name , value ) {
110118 doc . name = value ;
@@ -113,13 +121,13 @@ var TAG = {
113121 param : function ( doc , name , value ) {
114122 doc . param = doc . param || [ ] ;
115123 doc . paramRest = doc . paramRest || [ ] ;
116- var match = value . match ( / ^ ( { ( [ ^ \s = ] + ) ( = ) ? } \s * ) ? ( [ ^ \s ] + | \[ ( \S + ) + = ( [ ^ \] ] + ) \] ) \s + ( .* ) / ) ;
124+ var match = value . match ( / ^ ( { ( [ ^ \s = ] + ) ( = ) ? } \s * ) ? ( ( [ ^ \s = ] + ) | \[ ( \S + ) + = ( [ ^ \] ] + ) \] ) \s + ( .* ) / ) ;
117125 if ( match ) {
118126 var param = {
119127 type : match [ 2 ] ,
120- name : match [ 4 ] || match [ 5 ] ,
121- 'default' :match [ 6 ] ,
122- description :match [ 7 ] } ;
128+ name : match [ 6 ] || match [ 5 ] ,
129+ 'default' :match [ 7 ] ,
130+ description :match [ 8 ] } ;
123131 doc . param . push ( param ) ;
124132 if ( ! doc . paramFirst ) {
125133 doc . paramFirst = param ;
@@ -138,11 +146,11 @@ function parseNgDoc(doc){
138146 var atText ;
139147 var match ;
140148 doc . raw . text . split ( / \n / ) . forEach ( function ( line , lineNumber ) {
141- if ( match = line . match ( / ^ @ ( \w + ) ( \s + ( .* ) ) ? / ) ) {
149+ if ( match = line . match ( / ^ \s * @ ( \w + ) ( \s + ( .* ) ) ? / ) ) {
142150 // we found @name ...
143151 // if we have existing name
144152 if ( atName ) {
145- ( TAG [ atName ] || unknownTag ) ( doc , atName , atText . join ( '\n' ) ) ;
153+ ( TAG [ atName ] || unknownTag ) ( doc , atName , trim ( atText . join ( '\n' ) ) ) ;
146154 }
147155 atName = match [ 1 ] ;
148156 atText = [ ] ;
@@ -178,8 +186,9 @@ function findNgDoc(file, callback) {
178186 if ( inDoc && line . match ( / \* \/ / ) ) {
179187 doc . raw . text = doc . raw . text . join ( '\n' ) ;
180188 doc . raw . text = doc . raw . text . replace ( / ^ \n / , '' ) ;
181- if ( doc . raw . text . match ( / @ n g d o c / ) )
189+ if ( doc . raw . text . match ( / @ n g d o c / ) ) {
182190 callback ( doc ) ;
191+ }
183192 doc = null ;
184193 inDoc = false ;
185194 }
0 commit comments