Skip to content

Commit 8eba7d6

Browse files
committed
separate from patterns data struture - making this a whole lot easier
confirming with Dave whether or not missing subtypes are stubbed anyways, just sans markdown. seems to be the case
1 parent 4a9000b commit 8eba7d6

File tree

3 files changed

+16
-40
lines changed

3 files changed

+16
-40
lines changed

core/lib/pattern_assembler.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,11 @@ var pattern_assembler = function () {
129129
}
130130
}
131131

132+
function addSubstypePattern(subtypePattern, patternlab) {
133+
console.log('adding ', subtypePattern.patternPartial, 'to subtypePatterns');
134+
patternlab.subtypePatterns[subtypePattern.patternPartial] = subtypePattern;
135+
}
136+
132137
// Render a pattern on request. Long-term, this should probably go away.
133138
function renderPattern(pattern, data, partials) {
134139
// if we've been passed a full Pattern, it knows what kind of template it
@@ -208,12 +213,12 @@ var pattern_assembler = function () {
208213
var subTypePattern = new Pattern(relPath);
209214
subTypePattern.patternSectionSubtype = true;
210215
subTypePattern.patternLink = subTypePattern.name + '/index.html';
211-
subTypePattern.patternPartial = subTypePattern.patternPartial;
212216
subTypePattern.patternDesc = subTypeMarkdown.markdown;
217+
subTypePattern.patternPartial = 'viewall-' + subTypePattern.patternPartial;
213218
subTypePattern.isPattern = false;
214219
subTypePattern.engine = null;
215220

216-
addPattern(subTypePattern, patternlab);
221+
addSubstypePattern(subTypePattern, patternlab)
217222
return subTypePattern;
218223
}
219224
} catch (err) {
@@ -465,6 +470,9 @@ var pattern_assembler = function () {
465470
addPattern: function (pattern, patternlab) {
466471
addPattern(pattern, patternlab);
467472
},
473+
addSubtypePattern: function(subtypePattern, patternlab){
474+
addSubtypePattern(subtypePattern, patternlab);
475+
},
468476
renderPattern: function (template, data, partials) {
469477
return renderPattern(template, data, partials);
470478
},

core/lib/patternlab.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,7 @@ var patternlab_engine = function (config) {
207207
process.exit(1);
208208
}
209209
patternlab.patterns = [];
210+
patternlab.subtypePatterns = {};
210211
patternlab.partials = {};
211212
patternlab.data.link = {};
212213

core/lib/ui_builder.js

Lines changed: 5 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -266,15 +266,11 @@ function buildFooterHTML(patternlab, patternPartial) {
266266

267267
function buildViewAllHTML(patternlab, patterns, patternPartial) {
268268

269-
//console.log(patterns);
270-
271-
// patterns.push({
272-
// "patternName": "awesome",
273-
// "patternLink": "00-atoms-01-global/index.html",
274-
// "patternPartial": "viewall-atoms-global",
275-
// "patternDesc": "<p>This is the description of the category.</p>\n",
276-
// "patternSectionSubtype": true
277-
// })
269+
//attempt to find a subtype pattern before rendering
270+
var subtypePattern = patternlab.subtypePatterns[patternPartial];
271+
if(subtypePattern) {
272+
patterns.unshift(subtypePattern);
273+
} // confirm else scenario
278274

279275
var viewAllHTML = pattern_assembler.renderPattern(patternlab.viewAll,
280276
{
@@ -297,14 +293,12 @@ function buildViewAllPages(mainPageHeadHtml, patternlab, patterns) {
297293
for (i = 0; i < patternlab.patterns.length; i++) {
298294

299295
var pattern = patternlab.patterns[i];
300-
console.log(1, pattern.patternPartial);
301296

302297
// skip underscore-prefixed files
303298
if (isPatternExcluded(pattern)) {
304299
if (patternlab.config.debug) {
305300
console.log('Omitting ' + pattern.patternPartial + " from view all rendering.");
306301
}
307-
console.log('2 pattern excluded');
308302
continue;
309303
}
310304

@@ -313,7 +307,6 @@ function buildViewAllPages(mainPageHeadHtml, patternlab, patterns) {
313307
if (patternlab.config.debug) {
314308
console.log('Omitting ' + pattern.patternPartial + ' from view all rendering because it is defined as a defaultPattern');
315309
}
316-
console.log('3 pattern excluded');
317310
continue;
318311
}
319312

@@ -322,17 +315,14 @@ function buildViewAllPages(mainPageHeadHtml, patternlab, patterns) {
322315
if (pattern.patternGroup !== prevGroup) {
323316
prevGroup = pattern.patternGroup;
324317

325-
console.log('4 comparing ', pattern.patternGroup, 'to', prevGroup);
326318

327319
var viewAllPatterns = [];
328320
var patternPartial = "viewall-" + pattern.patternGroup;
329321
var j;
330322

331-
console.log('built' + patternPartial);
332323

333324
for (j = 0; j < patternlab.patterns.length; j++) {
334325

335-
console.log('5 comparing ', patternlab.patterns[j].patternGroup, 'to', pattern.patternGroup);
336326

337327
if (patternlab.patterns[j].patternGroup === pattern.patternGroup) {
338328
//again, skip any sibling patterns to the current one that may have underscores
@@ -341,7 +331,6 @@ function buildViewAllPages(mainPageHeadHtml, patternlab, patterns) {
341331
if (patternlab.config.debug) {
342332
console.log('Omitting ' + patternlab.patterns[j].patternPartial + " from view all sibling rendering.");
343333
}
344-
console.log('6 pattern excluded');
345334
continue;
346335
}
347336

@@ -350,11 +339,9 @@ function buildViewAllPages(mainPageHeadHtml, patternlab, patterns) {
350339
if (patternlab.config.debug) {
351340
console.log('Omitting ' + pattern.patternPartial + ' from view all sibling rendering because it is defined as a defaultPattern');
352341
}
353-
console.log('7 pattern excluded');
354342
continue;
355343
}
356344

357-
console.log('8 adding ', patternlab.patterns[j].patternPartial, ' to viewAllPatterns');
358345

359346
viewAllPatterns.push(patternlab.patterns[j]);
360347
}
@@ -369,10 +356,6 @@ function buildViewAllPages(mainPageHeadHtml, patternlab, patterns) {
369356
fs.outputFileSync(paths.public.patterns + pattern.subdir.slice(0, pattern.subdir.indexOf(pattern.patternGroup) + pattern.patternGroup.length) + '/index.html', mainPageHeadHtml + viewAllHTML + footerHTML);
370357
}
371358

372-
console.log('9 same group, checking subgroup');
373-
374-
console.log('10 comparing ', pattern.subdir, 'to', prevSubdir);
375-
376359
//create the view all for the subsection
377360
// check if the current sub section is different from the previous one
378361
if (pattern.subdir !== prevSubdir) {
@@ -381,19 +364,14 @@ function buildViewAllPages(mainPageHeadHtml, patternlab, patterns) {
381364
viewAllPatterns = [];
382365
patternPartial = "viewall-" + pattern.patternGroup + "-" + pattern.patternSubGroup;
383366

384-
console.log('11 built ', patternPartial);
385-
386367
for (j = 0; j < patternlab.patterns.length; j++) {
387368

388-
console.log('12 comparing ', patternlab.patterns[j].subdir, 'to', pattern.subdir);
389-
390369
if (patternlab.patterns[j].subdir === pattern.subdir) {
391370
//again, skip any sibling patterns to the current one that may have underscores
392371
if (isPatternExcluded(patternlab.patterns[j])) {
393372
if (patternlab.config.debug) {
394373
console.log('Omitting ' + patternlab.patterns[j].patternPartial + " from view all sibling rendering.");
395374
}
396-
console.log('13 pattern excluded');
397375
continue;
398376
}
399377

@@ -402,17 +380,12 @@ function buildViewAllPages(mainPageHeadHtml, patternlab, patterns) {
402380
if (patternlab.config.debug) {
403381
console.log('Omitting ' + pattern.patternPartial + ' from view all sibling rendering because it is defined as a defaultPattern');
404382
}
405-
console.log('14 pattern excluded');
406383
continue;
407384
}
408385

409-
console.log('15 adding ', patternlab.patterns[j].patternPartial, ' to viewAllPatterns');
410-
411386
viewAllPatterns.push(patternlab.patterns[j]);
412387
}
413388

414-
console.log('16 fell through!');
415-
416389
}
417390

418391
//render the footer needed for the viewall template
@@ -421,11 +394,7 @@ function buildViewAllPages(mainPageHeadHtml, patternlab, patterns) {
421394
//render the viewall template
422395
var viewAllHTML = buildViewAllHTML(patternlab, viewAllPatterns, patternPartial);
423396

424-
console.log('17 writing view all file ', pattern.flatPatternPath);
425-
426397
fs.outputFileSync(paths.public.patterns + pattern.flatPatternPath + '/index.html', mainPageHeadHtml + viewAllHTML + footerHTML);
427-
} else {
428-
console.log('18 fell through!');
429398
}
430399
}
431400
}
@@ -483,8 +452,6 @@ function buildFrontEnd(patternlab) {
483452

484453
//build the styleguide
485454

486-
fs.outputFileSync('./patternlab-s.json', JSON.stringify(styleguidePatterns));
487-
488455
var styleguideHtml = pattern_assembler.renderPattern(patternlab.viewAll,
489456
{
490457
partials: styleguidePatterns,

0 commit comments

Comments
 (0)