1
0
Fork 0
mirror of https://github.com/chobbledotcom/uke-group-north.git synced 2026-07-12 17:46:26 +01:00
No description
  • JavaScript 79.3%
  • SCSS 11.7%
  • Nix 4.4%
  • HTML 3.7%
  • Shell 0.9%
Find a file
stefan burke 74304b3a3b
Fix build, restore lost content, and recreate the boxed two-column design (#18)
* WIP

* Fix build excludes, restore homepage and news content lost in blocks migration

- Exclude _site from source sync so previous build output doesn't pollute builds
- Exclude .build/_site from Biome config discovery (nested root configs broke lint)
- Restore full homepage content (sessions, lessons, quotes, locations, songbooks) in blocks format
- Restore the two news posts deleted in the WIP commit, converted to blocks format with original permalinks
- Add news items listing to the news index page

Local sitemap now matches https://www.ukegroupnorth.com exactly.

https://claude.ai/code/session_013xLFhQjE6SLLfEn3ygUkPt

* Only deploy from main — staging Bunny secrets aren't configured

https://claude.ai/code/session_013xLFhQjE6SLLfEn3ygUkPt

* Recreate old boxed two-column design on the design system

- Override design-system-base.html to render a banner header from each
  page's header_image/header_text/subtitle (reusing the design system's
  image-background block markup) and to render the right-content snippet
  in an aside, wrapping main in a .page-columns container. The template
  already adds the two-columns body class when snippets/right-content.md
  exists; this supplies the missing markup.
- Override page.html to stop the duplicate block render (template's
  page.html renders blocks and design-system-base renders them again,
  doubling every page's content).
- Rewrite theme.scss: boxed 1300px cream panels (nav, banner, content +
  sidebar, footer) with gold borders on a peach backdrop, 16rem-ish right
  sidebar grid on desktop, stacked sidebar sessions list, centred
  headings, matching the previous live site.

https://claude.ai/code/session_013xLFhQjE6SLLfEn3ygUkPt

* Remove screenshot artifacts from version control

https://claude.ai/code/session_013xLFhQjE6SLLfEn3ygUkPt

* Adapt to chobble-template restructure (design-system-base -> base)

- Rename the client layout override to base.html to match the template's
  new layout name (design-system-base.html and page.html were removed
  upstream; layout now comes from src.11tydata.js). The page.html
  override is no longer needed since upstream fixed the double block
  render by deleting that layout.
- Rewrite the GoatCounter inline script without arrow functions: the
  template's linkify transform now HTML-escapes '>' inside inline
  scripts, which turned '=>' into '=>' and broke all site JS
  (sliders, reveal animations, search).

https://claude.ai/code/session_013xLFhQjE6SLLfEn3ygUkPt

* Replace header_image/header_text frontmatter with image-background blocks

- Every page, event, and news post now declares its banner as a leading
  image-background block (tinted, with the title as an h1 and former
  subtitle as a paragraph) instead of bespoke header_image/header_text
  frontmatter.
- base.html override hoists a page's leading image-background block above
  the .page-columns container so the banner spans content + sidebar; the
  bespoke banner markup is gone.
- Pages drop their now-unused subtitle frontmatter (events and news keep
  theirs for item cards and the news post header include).
- Update .pages.yml CMS fields to match (header fields removed, pages
  keyed by name instead of header_text).

https://claude.ai/code/session_013xLFhQjE6SLLfEn3ygUkPt

* Compact type scale and spacing; fix sidebar width blowout

- Override the design-system bundle entry to configure the design
  system's !default variables via 'with ()' — smaller heading sizes
  (h1 2rem, h2 1.5rem desktop, matching the old live site) and a 6px
  spacing unit (25% tighter gaps and section padding). The template's
  documented _theme-variables.scss mechanism doesn't work: its forwarded
  variables are shadowed by _variables.scss's own !default declarations,
  so module configuration is the only working route.
- Fix inconsistent sidebar width: min-width: 0 on main stops wide
  children (sliders, 1200px containers) blowing the 1fr grid track past
  the panel width and shoving the sidebar. Sidebar pinned at 16rem to
  match the old site.

https://claude.ai/code/session_013xLFhQjE6SLLfEn3ygUkPt

* Move type scale and spacing overrides into theme.scss

Replace the bundle-entry override with plain CSS overrides in theme.scss
(loaded last in the design-system bundle, so same-specificity rules win):
compact heading sizes, prose gap/line-height, block stack gap, and the
--section-padding-y custom property. Same computed result, standard
client theming convention.

https://claude.ai/code/session_013xLFhQjE6SLLfEn3ygUkPt

* Use the design system's new runtime sizing tokens in theme.scss

The template now exposes --font-size-*, --space-*, and section padding
tiers as :root custom properties consumed by its mixins. Replace the
flat CSS rule overrides with token overrides in :root — same computed
output (h1 2rem, h2 1.5rem, 6px spacing unit, 2.5rem/4rem section
padding), now via the supported theming surface.

https://claude.ai/code/session_013xLFhQjE6SLLfEn3ygUkPt

* Collapse spacing overrides to the single --space-unit knob

The template's :root now derives all --space-* tiers from --space-unit
via calc(), so the eight explicit tier values are no longer needed.
Rendering verified identical (prose gap 18px, --space-3xl 72px, section
padding 64px).

https://claude.ai/code/session_013xLFhQjE6SLLfEn3ygUkPt

* Drop base.html override — sidebar and banner hoist now live upstream

chobble-template's base.html now renders the right-content snippet in an
aside and hoists a leading image-background block above the page-columns
grid, so the client layout override is gone entirely. Theme selectors
re-scoped to the upstream markup (the hoisted banner is a bare section
under body, no .page-banner wrapper) and the redundant grid/min-width/
slider-stacking CSS removed in favour of the design system's
_page-columns.scss and --right-column-width token.

https://claude.ai/code/session_013xLFhQjE6SLLfEn3ygUkPt

* Design fixes: nav centering, sidebar bullets, event layout and thumbnails

- Nav: add background colour and flex-centred horizontal layout on desktop
- Sidebar: strengthen ul rule specificity to suppress bullets inside .prose
- Events items-array: remove horizontal slider (four items suit a grid better)
- Events: add thumbnail frontmatter matching each event's banner image

* Strip theme.scss back to what the template doesn't already do

The nav box was off-centre because our width/margin rules half-overrode
the template's horizontal-nav layout (its margin-inline wins on
specificity). The template already centres the nav, gives it the
--color-bg background, border-radius, and shadow — so drop all our nav
layout rules and keep only the gold border.

Also removed other duplication: footer styling (template centres and
pads it), right-column padding and no-op gap (template pads the aside),
and the direct body background (now the --body-background token, which
the template consumes).

* Fix sidebar: full-height border, stacked event cards, no bullets

- align-items: stretch on the two-column grid so the aside (and its
  gold border-left) runs the full page height — template uses start
- stack ul.items cards in the sidebar at 100% width; the template
  sizes them for the main column (flex-basis 280px, 33% max at lg)
- zero --list-marker-content in the sidebar: the design system draws
  bullets via an explicit ::marker content, which survives
  list-style: none

* Drop sidebar layout overrides now handled upstream

chobble-template now stretches the two-column grid (align-items: start
removed) and stacks non-slider items cards at full width inside the
right column, so the theme only keeps the gold divider, centring, and
the --list-marker-content bullet removal.

* Fix events

* Fix

* Convert reviews to template format and show them on the reviews page

The template's reviews system uses markdown body content (not blocks),
tagged via reviews.json, with name/url/date frontmatter fields.
Add reviews.json and reviews.11tydata.js, rewrite all five review files,
add a `reviews` block to pages/reviews.md, and update .pages.yml to
match the new shape (date, optional rating, plain body text).

* Remove reviews data files — copied from template at build time

* Restore Latest Posts on homepage and reviews on event pages

Matching the live site: the homepage gains a Latest Posts news listing
after the Plato quote, and each event page ends with the full reviews
list via a reviews block.

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-06-12 22:51:45 +01:00
.github/workflows Fix build, restore lost content, and recreate the boxed two-column design (#18) 2026-06-12 22:51:45 +01:00
.image-cache Initial commit 2025-08-12 07:10:22 +00:00
_data Update Chobble link 2025-10-12 00:42:35 +01:00
_includes Fix build, restore lost content, and recreate the boxed two-column design (#18) 2026-06-12 22:51:45 +01:00
assets Add screenshot 2025-10-16 16:19:39 +01:00
bin Switch to npm for builds/serving 2025-08-18 12:42:24 +01:00
css Fix build, restore lost content, and recreate the boxed two-column design (#18) 2026-06-12 22:51:45 +01:00
events Fix build, restore lost content, and recreate the boxed two-column design (#18) 2026-06-12 22:51:45 +01:00
images Fix build, restore lost content, and recreate the boxed two-column design (#18) 2026-06-12 22:51:45 +01:00
news Fix build, restore lost content, and recreate the boxed two-column design (#18) 2026-06-12 22:51:45 +01:00
pages Fix build, restore lost content, and recreate the boxed two-column design (#18) 2026-06-12 22:51:45 +01:00
reviews Fix build, restore lost content, and recreate the boxed two-column design (#18) 2026-06-12 22:51:45 +01:00
scripts Fix build, restore lost content, and recreate the boxed two-column design (#18) 2026-06-12 22:51:45 +01:00
snippets Fix build, restore lost content, and recreate the boxed two-column design (#18) 2026-06-12 22:51:45 +01:00
.envrc Fix build, restore lost content, and recreate the boxed two-column design (#18) 2026-06-12 22:51:45 +01:00
.gitignore Fix build, restore lost content, and recreate the boxed two-column design (#18) 2026-06-12 22:51:45 +01:00
.pages.yml Fix build, restore lost content, and recreate the boxed two-column design (#18) 2026-06-12 22:51:45 +01:00
biome.json Fix build, restore lost content, and recreate the boxed two-column design (#18) 2026-06-12 22:51:45 +01:00
bunfig.toml Fix build, restore lost content, and recreate the boxed two-column design (#18) 2026-06-12 22:51:45 +01:00
CLAUDE.md Fix build, restore lost content, and recreate the boxed two-column design (#18) 2026-06-12 22:51:45 +01:00
flake.lock Fix build, restore lost content, and recreate the boxed two-column design (#18) 2026-06-12 22:51:45 +01:00
flake.nix Fix build, restore lost content, and recreate the boxed two-column design (#18) 2026-06-12 22:51:45 +01:00
package.json Fix build, restore lost content, and recreate the boxed two-column design (#18) 2026-06-12 22:51:45 +01:00
pnpm-lock.yaml Switch to pnpm 2025-11-29 13:02:40 +00:00
README.md Fix build, restore lost content, and recreate the boxed two-column design (#18) 2026-06-12 22:51:45 +01:00

Chobble Client Site Builder

Quick static site generator that combines the Chobble Template with your content.

Quick Start

  1. Add your content - Edit markdown files and images in the relevant folders
  2. Push to GitHub - The site builds automatically via GitHub Actions
  3. Deploy happens automatically - Site deploys to Neocities (or your chosen host)

What Goes Where

The .pages.yml defines all your content types:

  • pages/ - Static pages with navigation
  • news/ - Blog posts with dates
  • products/ - Shop items with prices and Etsy links
  • categories/ - Product categories
  • team/ - Team member profiles
  • reviews/ - Customer testimonials
  • events/ - Upcoming events
  • menus/, menu-categories/, menu-items/ - Restaurant menu system
  • snippets/ - Reusable content bits
  • images/ - All your images

How It Works

When you push to GitHub:

  1. GitHub Actions merges your content with the template
  2. Builds the static site with Eleventy
  3. Deploys to your configured hosting (Neocities by default)

Configuration

Set these GitHub secrets for your repo:

  • NEOCITIES_API_KEY - For deployment
  • FORMSPARK_ID - For contact forms (optional)
  • BOTPOISON_PUBLIC_KEY - For spam protection (optional)

Local Development

Run ./bin/build to build locally. The output appears in result/.