← back to Dw Yolo Loop
Schumacher: junk-product filter in build-line (skip vendor-name-only titles + imageless); snapshot 2326 clean, colors extracted
51eefb7c0fbbd9d52a0b47fc54db4ceb6ec123dc · 2026-06-12 13:08:22 -0700 · Steve Abrams
Files touched
M artmura-site/build-line.js
Diff
commit 51eefb7c0fbbd9d52a0b47fc54db4ceb6ec123dc
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Fri Jun 12 13:08:22 2026 -0700
Schumacher: junk-product filter in build-line (skip vendor-name-only titles + imageless); snapshot 2326 clean, colors extracted
---
artmura-site/build-line.js | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/artmura-site/build-line.js b/artmura-site/build-line.js
index ab4fcc0..97cc23f 100644
--- a/artmura-site/build-line.js
+++ b/artmura-site/build-line.js
@@ -74,6 +74,13 @@ async function metafields(pid) {
const sku = (yard.sku || '').trim().replace(/-sample$/i, ''); // sample-only products: drop the -SAMPLE suffix
const tags = (p.tags || '').split(',').map(s => s.trim()).filter(Boolean);
const baseTitle = p.title.replace(/\s*\|\s*[^|]+$/, '').replace(/\s+Wallcovering$/i, '');
+ // skip placeholder/junk products: title is just the vendor name (e.g. "Schumacher | Schumacher
+ // Wallcovering") or no image — these have no real pattern and pollute the lookbook.
+ const cleanBase = baseTitle.replace(/\s+/g, ' ').trim().toLowerCase();
+ const isJunk = !cleanBase || cleanBase === VENDOR.toLowerCase()
+ || cleanBase === `${VENDOR} ${VENDOR}`.toLowerCase()
+ || !(p.images && p.images.length);
+ if (isJunk) continue;
if (sku) handles[sku.toUpperCase()] = p.handle;
products.push({
mfr_sku: mf.mfr_sku || sku,
← 66accf5 Schumacher config block + collection created (/collections/s
·
back to Dw Yolo Loop
·
Schumacher landing LIVE (2326 products, 38/38 clickthrough); 4791fbe →