1
0
Fork 0
mirror of https://github.com/chobbledotcom/chobble-template.git synced 2026-05-14 04:26:33 +01:00
The Chobble template - an Eleventy site, built with Nix https://example.chobble.com
  • JavaScript 83.8%
  • SCSS 7.4%
  • HTML 5.1%
  • XSLT 3.2%
  • TypeScript 0.3%
  • Other 0.1%
Find a file
stefan burke 3ca8715002
Remove base.html and migrate layouts to design-system-base (#1410)
* Remove base.html and migrate layouts to design-system-base

Deleted the legacy base.html layout and updated the five layouts that
inherited from it (item-reviews, page, products, stripe-checkout,
theme-editor) to use design-system-base instead.

https://claude.ai/code/session_01DdeLSqpwTFoetUyLKBmSQs

* Fix validatePageBodyContent to pass through content from intermediate layouts

The filter was returning "" for any layout other than "design-system-base.html",
which silently discarded rendered HTML from intermediate layouts (page.html,
products.html, etc.) that now chain through design-system-base.

Direct pages using `layout: design-system-base.html` (with the .html extension)
still get the throw-on-content validation; intermediate layouts using
`layout: design-system-base` (without extension) now have their rendered
content passed through correctly.

https://claude.ai/code/session_01DdeLSqpwTFoetUyLKBmSQs

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-05-11 11:57:25 +00:00
.claude/agents Extract shared js-toolkit package from utility code (#749) 2026-01-19 01:04:05 +00:00
.forgejo/workflows Refactor ecommerce API integration and add product cache validation (#1055) 2026-02-06 20:30:16 +00:00
.github Switch to Ubicloud (#1266) 2026-04-09 16:50:29 +00:00
.zed Add jscpd for copy/paste detection (#51) 2025-11-28 13:53:06 +00:00
bin Profile script and identify performance bottlenecks (#762) 2026-01-20 20:54:05 +00:00
packages/js-toolkit Remove locations feature (#1386) 2026-05-02 17:24:46 +00:00
screenshots Improve reviews layout design (#742) 2026-01-18 16:46:37 +00:00
scripts Remove header_image and header_text fields (#1404) 2026-05-07 22:13:37 +00:00
src Remove base.html and migrate layouts to design-system-base (#1410) 2026-05-11 11:57:25 +00:00
test Remove header_image and header_text fields (#1404) 2026-05-07 22:13:37 +00:00
.claude.json Add PostToolUse lint hook for Write/Edit operations (#559) 2026-01-09 18:51:27 +00:00
.eleventy.js Remove locations feature (#1386) 2026-05-02 17:24:46 +00:00
.envrc Use system nixpkgs 2025-12-11 00:20:24 +00:00
.gitignore bun update (#1370) 2026-04-30 19:58:10 +00:00
.jscpd.json Add click-sparkle WebGL effect to about page (#1361) 2026-04-25 02:50:35 +00:00
.pages.yml Unify blocks: map, item-meta, remove properties alias (#1408) 2026-05-10 16:17:08 +00:00
.stylelintrc.json Add stylelint with property sorting to surface SCSS duplicates (#1395) 2026-05-05 00:43:34 +00:00
biome.json Include click-sparkle.js in linters and code-quality scanners (#1362) 2026-04-25 10:51:47 +00:00
BLOCKS_LAYOUT.md Unify blocks: map, item-meta, remove properties alias (#1408) 2026-05-10 16:17:08 +00:00
bun.lock Add stylelint with property sorting to surface SCSS duplicates (#1395) 2026-05-05 00:43:34 +00:00
bunfig.toml Add stylelint with property sorting to surface SCSS duplicates (#1395) 2026-05-05 00:43:34 +00:00
CLAUDE.md Add test efficiency guidance to CLAUDE.md (#1336) 2026-04-20 11:45:31 +00:00
flake.lock Fix quote multi-day pricing and hire-name mismatch across quote flow (#1351) 2026-04-23 03:45:41 +00:00
flake.nix Strengthen the types (#706) 2026-01-16 13:58:19 +00:00
knip.json Add stylelint with property sorting to surface SCSS duplicates (#1395) 2026-05-05 00:43:34 +00:00
LICENSE Initial commit 2025-03-18 17:36:20 +00:00
package.json Add stylelint with property sorting to surface SCSS duplicates (#1395) 2026-05-05 00:43:34 +00:00
README.md Update README.md (#1220) 2026-04-03 15:40:30 +00:00
tsconfig.json Add click-sparkle WebGL effect to about page (#1361) 2026-04-25 02:50:35 +00:00
tsconfig.strict.json Add strict typecheck ratchet and type generation freshness test (#1088) 2026-02-17 14:31:05 +00:00

The Chobble Template

⚠️ Don't forget to change the Formspark and Botpoison info in _data/config.json or in your repository's action secrets ⚠️

See this template in action at:

Want me to make you a website based on this template? Hit me up at chobble.com.

💖 Want to support the development of this template? 💖 Donate at liberapay.com/chobble

An Eleventy starter for business websites. The GitHub action deploys to both Neocities and Bunny.net - you'll need to edit that for your setup.

Content Types

  • Products - galleries, options with SKUs, FAQs, specifications, features lists, linked reviews with ratings
  • Categories - product groupings with inherited thumbnails
  • Events - one-off and recurring schedules, iCal feed generation
  • News - blog posts with Atom feed
  • Menus - categories, items, pricing, dietary indicators (vegan, gluten-free, etc.)
  • Locations - multi-site support with sub-locations
  • Properties - for holiday lets, linked to locations
  • Reviews - linked to products, aggregate ratings
  • Team - member profiles
  • Snippets - reusable content blocks

Shopping Cart & Payments

  • LocalStorage-based cart with quantity limits
  • Stripe/Square checkout via external ecommerce backend
  • Quote/enquiry mode (submit cart as request instead of payment)
  • Auto-generated SKUs via GitHub Action

Theming

  • 10 pre-built themes: Default, Neon, 90s Computer, Floral, Hacker, Monochrome, Ocean, Old Mac, Rainbow, Sunset
  • Per-page theme overrides
  • Visual theme editor at /theme-editor/ with export
  • CSS custom properties for colours, fonts, borders, layout
  • SCSS support
  • Bunny Fonts integration

Images

  • Responsive images with srcset via eleventy-img
  • Base64 LQIP placeholders
  • Gallery component with thumbnail navigation and full-size overlay
  • Custom aspect ratio cropping

Forms

SEO & Structured Data

  • Schema.org markup for products (with reviews/ratings), events, FAQs, organisation
  • Canonical URLs
  • Sitemap
  • Atom feed with XSL stylesheet
  • Meta descriptions, noindex support

Navigation & Layout

  • Horizontal or left sidebar navigation
  • Sticky mobile nav option
  • Two-column layout with sidebar
  • Slider component for horizontal scrolling
  • Scroll-fade animations (respects prefers-reduced-motion)

Development

  • Nix flakes with direnv support
  • bin/lint - format with Biome
  • bin/screenshot - automated screenshots
  • Biome linting
  • jscpd duplicate detection
  • Knip unused code detection
  • 17+ test files with custom runner
  • instant.page for link prefetching on hover

Deployment

  • GitHub Actions workflow for Neocities and Bunny.net
  • Forgejo Actions support
  • PagesCMS integration for no-code editing
  • External ecommerce backend for payment processing

Configuration

  • _data/config.json - Formspark, Botpoison, ecommerce checkout, map embed, nav options
  • _data/site.json - name, URL, description, social links (14 platforms), opening hours
  • _data/meta.json - language, organisation details for schema.org
  • _data/strings.json - customisable labels and permalink directories

Want a website based on this template? Clone this repo, or hit me up at Chobble.com.