Skip to content

About

A demo storefront showcasing the brickwork-ssg static-site engine.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

brickwork-demo

A demo storefront showcasing the brickwork-ssg static-site engine. The engine is embedded here as a git submodule at engine/; this repo holds only the site's content (config.json, pages/, assets/, shared/).

Provenance: this repository was extracted from a larger private project and later separated alongside the independent brickwork-ssg engine. The current commit history does not reflect the full development timeline.

Build

git clone --recurse-submodules <this-repo-url>
npm run build            # -> build/   (runs: node engine/cli.js build)

Cloned without submodules? Fetch the engine:

git submodule update --init --recursive

What it showcases

Beyond the built-in components and product generator, this site exercises the engine's site-extension surface without modifying the engine:

  • A site component — components/blocks/testimonials/, mapped by components/registry.json and rendered on the home page. It declares its own sub-component (testimonials.json → testimonial) and uses the build-script helpers (raw, escapeHtml).
  • A site generator — a pages/guides template page drives the data-only generators/guides.js (mapped in generators/registry.json) to emit a static "buying guide" page per entry via the generate(ctx, options) contract.
  • Product pages — a pages/product-detail template page turns the products collection into one detail page each via the built-in products generator.
  • Site tests — test/demo.test.js, run with npm test (= ssg test) after a build, on top of the engine's standard checks.
  • Theming — assets/css/global.css reskins the storefront by overriding the engine's --bw-* CSS variables (no component edits).
npm test                 # build, then run standard checks + test/*.test.js

Admin panel (optional)

npm --prefix engine install   # one-time: install the engine's admin deps
npm run admin                 # http://localhost:3000

Update the engine

git -C engine fetch
git -C engine checkout <commit-or-tag>
git add engine && git commit -m "bump engine"

Image assets

Every image in this repo is generated, so the MIT license covers it cleanly:

  • shared/assets/images/hero.jpg and logo.png are emitted by tools/generate-brand-assets.py (pip install pillow numpy, then python tools/generate-brand-assets.py). It is a dev-time tool — the images are committed, and npm run build does not run it.
  • shared/products/*/shape-*.png are placeholder product shots.

Third-party assets are loaded from a CDN rather than vendored: Bootstrap and Bootstrap Icons (both MIT) and the Cinzel / Montserrat webfonts (SIL OFL 1.1). The one exception is the Viber glyph inlined in components/contactIcons/contactIcons.build.js, a copy of the Bootstrap Icons "telephone" path.

If you swap in a photo, record its source and license here — don't leave an unattributed stock image in the tree, since MIT would then be sublicensing artwork this repo has no right to sublicense.

Deploy

The static output is in build/. Point any static host (Netlify, GitHub Pages, …) at build command npm run build and publish directory build/.

About

A demo storefront showcasing the brickwork-ssg static-site engine.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages