Joinery gives small shops and independent brands room to show the story or process behind their products. A cover photograph leads into product stories, categories and a commission block. Product pages show specifications and variants, while the Workshop page and journal explain your process. The layout suits home goods, art, food and drink, stationery, beauty products, gear and made-to-order work. The demo uses furniture and ceramics as example products; you replace every product, photograph and label with your own.
Selling starts with checkout links for each product or variant. You create those links with Stripe Payment Links, Lemon Squeezy, Polar or Shopify, and the Buy button opens the provider’s checkout page. You can also enable a Stripe Checkout cart with your own secret key. That option requires a server adapter; only the Node adapter was tested. A complete Stripe test-mode payment was made through the Joinery cart on localhost, with server-side prices and refusal of tampered requests.
Products, categories, diary entries and pages are Markdown files that you edit in the source folder. The optional EmDash switch replaces that file-based content source with a database and an admin screen, with pages rendered on request by a Node server. Site settings still live in src/site.config.ts. The ZIP includes the source, setup references and 16 CC0 photographs credited in ASSETS.json; the fictional products and sample policies need your own text before publication.









