@@ -149,7 +149,7 @@ var ui_builder = function() {
149
149
name : pattern . flatPatternPath ,
150
150
patternDesc : '' ,
151
151
patternPartial : 'viewall-' + pattern . patternGroup + ( isSubtypePattern ? '-' + pattern . patternSubGroup : '' ) ,
152
- patternSectionSubtype : true ,
152
+ patternSectionSubtype : isSubtypePattern ,
153
153
patternLink : pattern . flatPatternPath + path . sep + 'index.html' ,
154
154
isPattern : false ,
155
155
engine : null ,
@@ -158,7 +158,6 @@ var ui_builder = function() {
158
158
isDocPattern : true
159
159
}
160
160
) ;
161
-
162
161
return docPattern ;
163
162
}
164
163
@@ -178,11 +177,14 @@ var ui_builder = function() {
178
177
if ( pattern . omitFromStyleguide ) { return ; }
179
178
180
179
if ( ! groupedPatterns . patternGroups [ pattern . patternGroup ] ) {
180
+ pattern . isSubtypePattern = false ;
181
+
181
182
groupedPatterns . patternGroups [ pattern . patternGroup ] = { } ;
182
183
//todo: test this
183
184
//groupedPatterns.patternGroups[pattern.patternGroup]['viewall-' + pattern.patternGroup] = injectDocumentationBlock(pattern, patternlab, false);
184
185
}
185
186
if ( ! groupedPatterns . patternGroups [ pattern . patternGroup ] [ pattern . patternSubGroup ] ) {
187
+ pattern . isSubtypePattern = true ;
186
188
groupedPatterns . patternGroups [ pattern . patternGroup ] [ pattern . patternSubGroup ] = { } ;
187
189
groupedPatterns . patternGroups [ pattern . patternGroup ] [ pattern . patternSubGroup ] [ 'viewall-' + pattern . patternGroup + '-' + pattern . patternSubGroup ] = injectDocumentationBlock ( pattern , patternlab , true ) ;
188
190
}
@@ -385,13 +387,18 @@ var ui_builder = function() {
385
387
return patterns ;
386
388
}
387
389
388
- function buildViewAllHTML ( patternlab , patterns , patternPartial ) {
390
+ function buildViewAllHTML ( patternlab , patterns , patternPartial , isPatternType ) {
391
+
392
+ console . log ( 'building viewall HTML for ' , patternPartial ) ;
393
+
394
+ if ( isPatternType ) {
395
+ patternPartial = patternPartial . substring ( patternPartial . indexOf ( 'viewall-' ) ) ;
396
+ }
389
397
390
- var patternsPlusSubtpe = insertPatternSubtypeDocumentationPattern ( patternlab , patterns , patternPartial ) ;
391
398
392
399
var viewAllHTML = pattern_assembler . renderPattern ( patternlab . viewAll ,
393
400
{
394
- partials : patternsPlusSubtpe ,
401
+ partials : patterns ,
395
402
patternPartial : patternPartial ,
396
403
cacheBuster : patternlab . cacheBuster
397
404
} , {
@@ -520,11 +527,16 @@ var ui_builder = function() {
520
527
521
528
var paths = patternlab . config . paths ;
522
529
530
+ var patterns = [ ] ;
531
+
523
532
//loop through the grouped styleguide patterns, building at each level
524
533
_ . forEach ( styleguidePatterns . patternGroups , function ( patternTypeObj , patternType ) {
525
534
526
535
console . log ( 1 , patternType ) ;
527
536
537
+ var p ;
538
+ var typePatterns = [ ] ;
539
+
528
540
_ . forOwn ( patternTypeObj , function ( patternSubtypes , patternSubtype ) {
529
541
530
542
console . log ( 2 , patternSubtype ) ;
@@ -537,13 +549,16 @@ var ui_builder = function() {
537
549
538
550
//render the viewall template
539
551
var subtypePatterns = _ . values ( patternSubtypes ) ;
552
+ typePatterns = typePatterns . concat ( subtypePatterns ) ;
540
553
var viewAllHTML = buildViewAllHTML ( patternlab , subtypePatterns , patternPartial ) ;
541
554
542
- var p = _ . find ( subtypePatterns , function ( pat ) {
555
+ p = _ . find ( subtypePatterns , function ( pat ) {
543
556
return pat . isDocPattern ;
544
557
} ) ;
545
558
546
559
console . log ( 4 , 'about to write view all file to patterns/' , p . flatPatternPath ) ;
560
+ writeFile ( paths . public . patterns + p . flatPatternPath + '/subtypePatterns.json' , JSON . stringify ( subtypePatterns ) ) ;
561
+
547
562
548
563
console . log ( '------' ) ;
549
564
writeFile ( paths . public . patterns + p . flatPatternPath + '/index.html' , mainPageHeadHtml + viewAllHTML + footerHTML ) ;
@@ -553,7 +568,24 @@ var ui_builder = function() {
553
568
554
569
console . log ( '~~~~~~' ) ;
555
570
571
+ //render the footer needed for the viewall template
572
+ var footerHTML = buildFooterHTML ( patternlab , patternType ) ;
573
+
574
+ //render the viewall template
575
+ var viewAllHTML = buildViewAllHTML ( patternlab , typePatterns , patternType , true ) ;
576
+
577
+ writeFile ( paths . public . patterns + p . subdir + '/index.json' , JSON . stringify ( typePatterns ) ) ;
578
+ console . log ( 5 , 'trying to write view all file to patterns/' , p . subdir ) ;
579
+
580
+ writeFile ( paths . public . patterns + p . subdir + '/index.html' , mainPageHeadHtml + viewAllHTML + footerHTML ) ;
581
+
582
+ patterns = patterns . concat ( typePatterns ) ;
583
+
556
584
} ) ;
585
+
586
+ writeFile ( paths . public . patterns + '/patterns.json' , JSON . stringify ( patterns ) ) ;
587
+
588
+ return patterns ;
557
589
}
558
590
559
591
function sortPatterns ( patternsArray ) {
@@ -712,20 +744,20 @@ var ui_builder = function() {
712
744
713
745
//build the viewall pages
714
746
//todo so close
715
- buildViewAllPages2 ( headerHTML , patternlab , styleguidePatterns ) ;
747
+ var patterns = buildViewAllPages2 ( headerHTML , patternlab , styleguidePatterns ) ;
716
748
717
749
//build the main styleguide page
718
750
//todo broken
719
751
var styleguideHtml = pattern_assembler . renderPattern ( patternlab . viewAll ,
720
752
{
721
- partials : _ . values ( styleguidePatterns ) ,
753
+ partials : patterns ,
722
754
cacheBuster : patternlab . cacheBuster
723
755
} , {
724
756
patternSection : patternlab . patternSection ,
725
757
patternSectionSubType : patternlab . patternSectionSubType
726
758
} ) ;
727
759
728
- // writeFile(path.resolve(paths.public.styleguide, 'html/styleguide.html'), headerHTML + styleguideHtml + footerHTML);
760
+ writeFile ( path . resolve ( paths . public . styleguide , 'html/styleguide.html' ) , headerHTML + styleguideHtml + footerHTML ) ;
729
761
730
762
//build the patternlab navigation
731
763
//todo
@@ -739,10 +771,10 @@ var ui_builder = function() {
739
771
console . log ( "\nERROR: Could not load one or more styleguidekit assets from" , paths . source . styleguide , '\n' ) ;
740
772
process . exit ( 1 ) ;
741
773
}
742
- // writeFile(path.resolve(paths.public.root, 'index.html'), patternlabSiteHtml);
774
+ writeFile ( path . resolve ( paths . public . root , 'index.html' ) , patternlabSiteHtml ) ;
743
775
744
776
//write out patternlab.data object to be read by the client
745
- // exportData(patternlab);
777
+ exportData ( patternlab ) ;
746
778
}
747
779
748
780
return {
0 commit comments