@@ -8,6 +8,7 @@ var path = require('path'),
88 pph = require ( './pseudopattern_hunter' ) ,
99 mp = require ( './markdown_parser' ) ,
1010 plutils = require ( './utilities' ) ,
11+ dataLoader = require ( './data_loader' ) ( ) ,
1112 patternEngines = require ( './pattern_engines' ) ,
1213 lh = require ( './lineage_hunter' ) ,
1314 lih = require ( './list_item_hunter' ) ,
@@ -34,7 +35,7 @@ var pattern_assembler = function () {
3435 for ( var i = 0 ; i < patternlab . patterns . length ; i ++ ) {
3536 switch ( partialName ) {
3637 case patternlab . patterns [ i ] . relPath :
37- case patternlab . patterns [ i ] . subdir + '/' + patternlab . patterns [ i ] . fileName :
38+ case patternlab . patterns [ i ] . verbosePartial :
3839 return patternlab . patterns [ i ] ;
3940 }
4041 }
@@ -324,16 +325,13 @@ var pattern_assembler = function () {
324325
325326 //look for a json file for this template
326327 try {
327- var jsonFilename = path . resolve ( patternsPath , currentPattern . subdir , currentPattern . fileName + ".json" ) ;
328- try {
329- var jsonFilenameStats = fs . statSync ( jsonFilename ) ;
330- } catch ( err ) {
331- //not a file
332- }
333- if ( jsonFilenameStats && jsonFilenameStats . isFile ( ) ) {
334- currentPattern . jsonFileData = fs . readJSONSync ( jsonFilename ) ;
328+ var jsonFilename = path . resolve ( patternsPath , currentPattern . subdir , currentPattern . fileName ) ;
329+ let configData = dataLoader . loadDataFromFile ( jsonFilename , fs ) ;
330+
331+ if ( configData ) {
332+ currentPattern . jsonFileData = configData ;
335333 if ( patternlab . config . debug ) {
336- console . log ( 'processPatternIterative: found pattern-specific data.json for ' + currentPattern . patternPartial ) ;
334+ console . log ( 'processPatternIterative: found pattern-specific config data for ' + currentPattern . patternPartial ) ;
337335 }
338336 }
339337 }
@@ -344,17 +342,14 @@ var pattern_assembler = function () {
344342
345343 //look for a listitems.json file for this template
346344 try {
347- var listJsonFileName = path . resolve ( patternsPath , currentPattern . subdir , currentPattern . fileName + ".listitems.json" ) ;
348- try {
349- var listJsonFileStats = fs . statSync ( listJsonFileName ) ;
350- } catch ( err ) {
351- //not a file
352- }
353- if ( listJsonFileStats && listJsonFileStats . isFile ( ) ) {
354- currentPattern . listitems = fs . readJSONSync ( listJsonFileName ) ;
345+ var listJsonFileName = path . resolve ( patternsPath , currentPattern . subdir , currentPattern . fileName + ".listitems" ) ;
346+ let listItemsConfig = dataLoader . loadDataFromFile ( listJsonFileName , fs ) ;
347+
348+ if ( listItemsConfig ) {
349+ currentPattern . listitems = listItemsConfig ;
355350 buildListItems ( currentPattern ) ;
356351 if ( patternlab . config . debug ) {
357- console . log ( 'found pattern-specific listitems.json for ' + currentPattern . patternPartial ) ;
352+ console . log ( 'found pattern-specific listitems config for ' + currentPattern . patternPartial ) ;
358353 }
359354 }
360355 }
0 commit comments