@@ -7,8 +7,8 @@ var template = require('jsdoc/template'),
7
7
handle = require ( 'jsdoc/util/error' ) . handle ,
8
8
helper = require ( 'jsdoc/util/templateHelper' ) ,
9
9
logger = require ( 'jsdoc/util/logger' ) ,
10
- typeLinks = require ( './typeLinkExt' ) . typeLinks ,
11
-
10
+ typeLinks = require ( './typeLinkExt' ) . typeLinks ,
11
+
12
12
_ = require ( 'underscore' ) ,
13
13
htmlsafe = helper . htmlsafe ,
14
14
linkto = helper . linkto ,
@@ -19,21 +19,28 @@ var template = require('jsdoc/template'),
19
19
view ,
20
20
language ,
21
21
outdir = env . opts . destination ;
22
- var util = require ( 'util' ) ;
22
+ var util = require ( 'util' ) ;
23
+
23
24
function find ( spec ) {
24
25
return helper . find ( data , spec ) ;
25
26
}
26
27
27
28
function tutoriallink ( tutorial ) {
28
- return helper . toTutorial ( tutorial , null , { tag : 'em' , classname : 'disabled' , prefix : 'Tutorial: ' } ) ;
29
+ return helper . toTutorial ( tutorial , null , {
30
+ tag : 'em' ,
31
+ classname : 'disabled' ,
32
+ prefix : 'Tutorial: '
33
+ } ) ;
29
34
}
30
35
31
36
function getAncestorLinks ( doclet ) {
32
37
return helper . getAncestorLinks ( data , doclet ) ;
33
38
}
34
39
35
40
function hashToLink ( doclet , hash ) {
36
- if ( ! / ^ ( # .+ ) / . test ( hash ) ) { return hash ; }
41
+ if ( ! / ^ ( # .+ ) / . test ( hash ) ) {
42
+ return hash ;
43
+ }
37
44
38
45
var url = helper . createLink ( doclet ) ;
39
46
@@ -111,6 +118,7 @@ function getPathFromDoclet(doclet) {
111
118
112
119
return filepath ;
113
120
}
121
+
114
122
function generateNav ( navObject ) {
115
123
116
124
// var docData = {
@@ -131,14 +139,17 @@ function generateNav(navObject) {
131
139
132
140
fs . writeFileSync ( outpath , html , 'utf8' ) ;
133
141
}
142
+
134
143
function generate ( title , docs , filename , resolveLinks ) {
135
144
resolveLinks = resolveLinks === false ? false : true ;
136
145
137
146
var docData = {
138
147
filename : filename ,
139
148
title : title ,
140
149
docs : docs ,
141
- packageInfo : ( find ( { kind : 'package' } ) || [ ] ) [ 0 ]
150
+ packageInfo : ( find ( {
151
+ kind : 'package'
152
+ } ) || [ ] ) [ 0 ]
142
153
} ;
143
154
144
155
var outpath = path . join ( outdir , filename ) ,
@@ -150,6 +161,7 @@ function generate(title, docs, filename, resolveLinks) {
150
161
151
162
fs . writeFileSync ( outpath , html , 'utf8' ) ;
152
163
}
164
+
153
165
function getCustomTagValue ( item , title ) {
154
166
var tags = item . tags ;
155
167
if ( ! tags || ! tags . length ) {
@@ -162,6 +174,7 @@ function getCustomTagValue(item, title) {
162
174
}
163
175
return null ;
164
176
}
177
+
165
178
function generateSourceFiles ( sourceFiles ) {
166
179
Object . keys ( sourceFiles ) . forEach ( function ( file ) {
167
180
var source ;
@@ -174,8 +187,7 @@ function generateSourceFiles(sourceFiles) {
174
187
kind : 'source' ,
175
188
code : helper . htmlsafe ( fs . readFileSync ( sourceFiles [ file ] . resolved , 'utf8' ) )
176
189
} ;
177
- }
178
- catch ( e ) {
190
+ } catch ( e ) {
179
191
handle ( e ) ;
180
192
}
181
193
@@ -237,37 +249,29 @@ function sortNav(members) {
237
249
} ) ;
238
250
return merged ;
239
251
}
252
+
240
253
function buildCategories ( members , templatePath ) {
241
254
var categories = { } ;
242
- if ( language === 'en' ) {
243
- var exists = fs . existsSync ( path . resolve ( templatePath , "categories.json" ) ) ;
244
- if ( exists ) {
245
- categories = JSON . parse ( fs . readFileSync ( path . resolve ( templatePath , "categories.json" ) ) ) ;
246
- } else {
247
- logger . error ( 'Please generate a Chinese JSdoc first' )
255
+ _ . each ( members , function ( v ) {
256
+
257
+ var category = getCustomTagValue ( v , 'category' ) ;
258
+ if ( ! category ) {
259
+ category = "BaseTypes" ;
248
260
}
249
- } else {
250
- _ . each ( members , function ( v ) {
251
-
252
- var category = getCustomTagValue ( v , 'category' ) ;
253
- if ( ! category ) {
254
- category = "BaseTypes" ;
261
+ var arr = category . split ( " " ) ;
262
+ var aa = categories ;
263
+ for ( let index = 0 ; index < arr . length ; index ++ ) {
264
+ const element = arr [ index ] ;
265
+ if ( ! aa [ element ] ) {
266
+ aa [ element ] = { } ;
267
+ aa [ element ] . default = [ ] ;
255
268
}
256
- var arr = category . split ( " " ) ;
257
- var aa = categories ;
258
- for ( let index = 0 ; index < arr . length ; index ++ ) {
259
- const element = arr [ index ] ;
260
- if ( ! aa [ element ] ) {
261
- aa [ element ] = { } ;
262
- aa [ element ] . default = [ ] ;
263
- }
264
- aa = aa [ element ] ;
265
- }
266
- aa . default . push ( v . longname ) ;
267
- } ) ;
268
- var outpath = path . resolve ( templatePath , "categories.json" ) ;
269
- fs . writeFileSync ( outpath , JSON . stringify ( categories ) , 'utf8' ) ;
270
- }
269
+ aa = aa [ element ] ;
270
+ }
271
+ aa . default . push ( v . longname ) ;
272
+ } ) ;
273
+ var outpath = path . resolve ( templatePath , "categories.json" ) ;
274
+ fs . writeFileSync ( outpath , JSON . stringify ( categories ) , 'utf8' ) ;
271
275
return categories ;
272
276
}
273
277
@@ -366,7 +370,7 @@ exports.publish = function (taffyData, opts, tutorials) {
366
370
367
371
var globalUrl = helper . getUniqueFilename ( 'global' ) ;
368
372
helper . registerLink ( 'global' , globalUrl ) ;
369
- view . typeLinks = typeLinks ;
373
+ view . typeLinks = typeLinks ;
370
374
// set up templating
371
375
view . layout = 'layout.tmpl' ;
372
376
@@ -417,7 +421,9 @@ exports.publish = function (taffyData, opts, tutorials) {
417
421
}
418
422
} ) ;
419
423
// update outdir if necessary, then create outdir
420
- var packageInfo = ( find ( { kind : 'package' } ) || [ ] ) [ 0 ] ;
424
+ var packageInfo = ( find ( {
425
+ kind : 'package'
426
+ } ) || [ ] ) [ 0 ] ;
421
427
if ( packageInfo && packageInfo . name ) {
422
428
outdir = path . join ( outdir , packageInfo . name , packageInfo . version ) ;
423
429
}
@@ -439,8 +445,8 @@ exports.publish = function (taffyData, opts, tutorials) {
439
445
var staticFileScanner ;
440
446
if ( conf [ 'default' ] . staticFiles ) {
441
447
staticFilePaths = conf [ 'default' ] . staticFiles . paths || [ ] ;
442
- staticFileFilter = new ( require ( 'jsdoc/src/filter' ) ) . Filter ( conf [ 'default' ] . staticFiles ) ;
443
- staticFileScanner = new ( require ( 'jsdoc/src/scanner' ) ) . Scanner ( ) ;
448
+ staticFileFilter = new ( require ( 'jsdoc/src/filter' ) ) . Filter ( conf [ 'default' ] . staticFiles ) ;
449
+ staticFileScanner = new ( require ( 'jsdoc/src/scanner' ) ) . Scanner ( ) ;
444
450
445
451
staticFilePaths . forEach ( function ( filePath ) {
446
452
var extraStaticFiles = staticFileScanner . scan ( [ filePath ] , 10 , staticFileFilter ) ;
@@ -478,8 +484,7 @@ exports.publish = function (taffyData, opts, tutorials) {
478
484
479
485
if ( url . indexOf ( '#' ) > - 1 ) {
480
486
doclet . id = helper . longnameToUrl [ doclet . longname ] . split ( / # / ) . pop ( ) ;
481
- }
482
- else {
487
+ } else {
483
488
doclet . id = doclet . name ;
484
489
}
485
490
@@ -491,7 +496,7 @@ exports.publish = function (taffyData, opts, tutorials) {
491
496
492
497
// do this after the urls have all been generated
493
498
data ( ) . each ( function ( doclet ) {
494
-
499
+
495
500
doclet . ancestors = getAncestorLinks ( doclet ) ;
496
501
if ( doclet . kind === 'member' ) {
497
502
addSignatureTypes ( doclet ) ;
@@ -501,7 +506,7 @@ exports.publish = function (taffyData, opts, tutorials) {
501
506
addSignatureTypes ( doclet ) ;
502
507
var attribs = helper . getAttribs ( doclet ) ;
503
508
var attribsString = buildAttribsString ( attribs ) ;
504
-
509
+
505
510
doclet . attribs = util . format ( '<span class="type-signature">%s</span>' , attribsString ) ;
506
511
doclet . kind = 'member' ;
507
512
}
@@ -529,7 +534,12 @@ exports.publish = function (taffyData, opts, tutorials) {
529
534
view . navOrder = JSON . parse ( fs . readFileSync ( path . resolve ( templatePath , "./config.json" ) ) ) ;
530
535
view . language = language ;
531
536
generateNav ( view . nav ) ;
532
- attachModuleSymbols ( find ( { kind : [ 'class' , 'function' ] , longname : { left : 'module:' } } ) ,
537
+ attachModuleSymbols ( find ( {
538
+ kind : [ 'class' , 'function' ] ,
539
+ longname : {
540
+ left : 'module:'
541
+ }
542
+ } ) ,
533
543
members . modules ) ;
534
544
535
545
// only output pretty-printed source files if requested; do this before generating any other
@@ -538,13 +548,22 @@ exports.publish = function (taffyData, opts, tutorials) {
538
548
generateSourceFiles ( sourceFiles ) ;
539
549
}
540
550
541
- if ( members . globals . length ) { generate ( 'Global' , [ { kind : 'globalobj' } ] , globalUrl ) ; }
551
+ if ( members . globals . length ) {
552
+ generate ( 'Global' , [ {
553
+ kind : 'globalobj'
554
+ } ] , globalUrl ) ;
555
+ }
542
556
543
557
// index page displays information from package.json and lists files
544
- var files = find ( { kind : 'file' } ) ;
558
+ var files = find ( {
559
+ kind : 'file'
560
+ } ) ;
545
561
546
- generate ( 'Index' ,
547
- [ { kind : 'mainpage' , readme : opts . readme , longname : ( opts . mainpagetitle ) ? opts . mainpagetitle : 'Main Page' } ] . concat ( files ) ,
562
+ generate ( 'Index' , [ {
563
+ kind : 'mainpage' ,
564
+ readme : opts . readme ,
565
+ longname : ( opts . mainpagetitle ) ? opts . mainpagetitle : 'Main Page'
566
+ } ] . concat ( files ) ,
548
567
indexUrl ) ;
549
568
550
569
// set up the lists that we'll use to generate pages
@@ -556,27 +575,37 @@ exports.publish = function (taffyData, opts, tutorials) {
556
575
557
576
for ( var longname in helper . longnameToUrl ) {
558
577
if ( hasOwnProp . call ( helper . longnameToUrl , longname ) ) {
559
- var myClasses = helper . find ( classes , { longname : longname } ) ;
578
+ var myClasses = helper . find ( classes , {
579
+ longname : longname
580
+ } ) ;
560
581
if ( myClasses . length ) {
561
582
generate ( 'Class: ' + myClasses [ 0 ] . name , myClasses , helper . longnameToUrl [ longname ] ) ;
562
583
}
563
584
564
- var myModules = helper . find ( modules , { longname : longname } ) ;
585
+ var myModules = helper . find ( modules , {
586
+ longname : longname
587
+ } ) ;
565
588
if ( myModules . length ) {
566
589
generate ( 'Module: ' + myModules [ 0 ] . name , myModules , helper . longnameToUrl [ longname ] ) ;
567
590
}
568
591
569
- var myNamespaces = helper . find ( namespaces , { longname : longname } ) ;
592
+ var myNamespaces = helper . find ( namespaces , {
593
+ longname : longname
594
+ } ) ;
570
595
if ( myNamespaces . length ) {
571
596
generate ( 'Namespace: ' + myNamespaces [ 0 ] . name , myNamespaces , helper . longnameToUrl [ longname ] ) ;
572
597
}
573
598
574
- var myMixins = helper . find ( mixins , { longname : longname } ) ;
599
+ var myMixins = helper . find ( mixins , {
600
+ longname : longname
601
+ } ) ;
575
602
if ( myMixins . length ) {
576
603
generate ( 'Mixin: ' + myMixins [ 0 ] . name , myMixins , helper . longnameToUrl [ longname ] ) ;
577
604
}
578
605
579
- var myExternals = helper . find ( externals , { longname : longname } ) ;
606
+ var myExternals = helper . find ( externals , {
607
+ longname : longname
608
+ } ) ;
580
609
if ( myExternals . length ) {
581
610
generate ( 'External: ' + myExternals [ 0 ] . name , myExternals , helper . longnameToUrl [ longname ] ) ;
582
611
}
@@ -609,13 +638,14 @@ exports.publish = function (taffyData, opts, tutorials) {
609
638
} ) ;
610
639
}
611
640
saveChildren ( tutorials ) ;
641
+
612
642
function buildAttribsString ( attribs ) {
613
643
var attribsString = '' ;
614
-
644
+
615
645
if ( attribs && attribs . length ) {
616
- attribsString = htmlsafe ( util . format ( '(%s) ' , attribs . join ( ', ' ) ) ) ;
646
+ attribsString = htmlsafe ( util . format ( '(%s) ' , attribs . join ( ', ' ) ) ) ;
617
647
}
618
-
648
+
619
649
return attribsString ;
620
650
}
621
- } ;
651
+ } ;
0 commit comments