Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
f095d5c
WIP
stefan-burke Jun 10, 2026
252790b
Fix build excludes, restore homepage and news content lost in blocks …
claude Jun 11, 2026
ef2a75e
Only deploy from main — staging Bunny secrets aren't configured
claude Jun 11, 2026
fc0aa25
Recreate old boxed two-column design on the design system
claude Jun 11, 2026
9567219
Remove screenshot artifacts from version control
claude Jun 11, 2026
5b90c86
Adapt to chobble-template restructure (design-system-base -> base)
claude Jun 11, 2026
aa4d1fe
Replace header_image/header_text frontmatter with image-background bl…
claude Jun 11, 2026
30eae49
Compact type scale and spacing; fix sidebar width blowout
claude Jun 11, 2026
ab1ee11
Move type scale and spacing overrides into theme.scss
claude Jun 11, 2026
18590ed
Use the design system's new runtime sizing tokens in theme.scss
claude Jun 12, 2026
8dd26d2
Collapse spacing overrides to the single --space-unit knob
claude Jun 12, 2026
fe9086a
Drop base.html override — sidebar and banner hoist now live upstream
claude Jun 12, 2026
e5243cf
Design fixes: nav centering, sidebar bullets, event layout and thumbn…
claude Jun 12, 2026
b586b29
Strip theme.scss back to what the template doesn't already do
claude Jun 12, 2026
594414e
Fix sidebar: full-height border, stacked event cards, no bullets
claude Jun 12, 2026
4fe3b99
Drop sidebar layout overrides now handled upstream
claude Jun 12, 2026
a4cde10
Fix events
stefan-burke Jun 12, 2026
589a234
Fix
stefan-burke Jun 12, 2026
d3de329
Convert reviews to template format and show them on the reviews page
claude Jun 12, 2026
7b9d8c0
Remove reviews data files — copied from template at build time
claude Jun 12, 2026
c117d35
Restore Latest Posts on homepage and reviews on event pages
claude Jun 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .envrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
use flake
use flake . --impure
150 changes: 5 additions & 145 deletions .github/workflows/build-and-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,149 +9,9 @@ concurrency:
cancel-in-progress: false

jobs:
setup:
name: Merge Repos
runs-on: ubuntu-latest
steps:
- name: Checkout this repo
uses: actions/checkout@v4
with:
path: source

- name: Checkout Chobble Template
uses: actions/checkout@v4
with:
repository: chobble-mirror/chobble-template
ref: main
path: template
sparse-checkout-cone-mode: false
sparse-checkout: |
.eleventy.js
package.json
bun.lock
bunfig.toml
flake.nix
flake.lock
bin
scripts
packages
src

- name: Copy template files to combined dir
run: |
mkdir -p combined
rsync \
--recursive \
--verbose \
--delete \
--exclude=".git" \
--exclude="*.md" \
--exclude="images" \
template/ \
combined/

- name: Overlay our repo files into combined src
run: |
rsync \
--recursive \
--verbose \
--exclude=".*" \
--exclude="README.md" \
--exclude="package.json" \
source/ \
combined/src/

- name: Update site.json with secrets
run: |
sed -i \
's/"formspark_id": null/"formspark_id": "${{ secrets.FORMSPARK_ID }}"/g' \
"combined/src/_data/config.json"
sed -i \
's/"botpoison_public_key": null/"botpoison_public_key": "${{ secrets.BOTPOISON_PUBLIC_KEY }}"/g' \
"combined/src/_data/config.json"

- name: Upload combined directory
uses: actions/upload-artifact@v4
with:
name: combined-files
path: combined/
retention-days: 1
include-hidden-files: true

build:
name: Build Site
needs: setup
runs-on: ubuntu-latest
steps:
- name: Download combined directory
uses: actions/download-artifact@v4
with:
name: combined-files
path: combined

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Restore cache
uses: actions/cache@v4
with:
path: |
combined/node_modules
combined/.image-cache
key: ${{ runner.os }}-bun-${{ hashFiles('combined/bun.lock') }}
restore-keys: |
${{ runner.os }}-bun-

- name: Build with Bun
run: |
cd combined
bun install --frozen-lockfile
bun scripts/eleventy-build.js
mkdir -p ../_site
mv _site/* ../_site/

- name: Upload built site
uses: actions/upload-artifact@v4
with:
name: built-site
path: _site/
retention-days: 1

deploy:
name: Deploy
needs: [setup, build]
runs-on: ubuntu-latest
steps:
- name: Download built site
uses: actions/download-artifact@v4
with:
name: built-site
path: _site

- name: Deploy to Bunny
uses: R-J-dev/bunny-deploy@v2.0.6
with:
access-key: ${{ secrets.BUNNY_ACCESS_KEY }}
directory-to-upload: _site
storage-endpoint: "https://uk.storage.bunnycdn.com"
storage-zone-name: "uke-group-north"
storage-zone-password: ${{ secrets.BUNNY_STORAGE_ZONE_PASSWORD }}
concurrency: "5"
enable-delete-action: true
enable-purge-pull-zone: true
pull-zone-id: "4574563"
replication-timeout: "15000"

notify-failure:
name: Notify on Failure
runs-on: ubuntu-latest
needs: [setup, build, deploy]
if: failure()
steps:
- name: Send failure notification
uses: NiNiyas/ntfy-action@master
with:
url: 'https://ntfy.sh'
topic: ${{ secrets.NTFY_TOPIC }}
uses: chobbledotcom/chobble-client/.github/workflows/shared-build-and-deploy.yml@main
with:
bunny-storage-endpoint: "https://uk.storage.bunnycdn.com"
deploy-only-on-main: true
secrets: inherit
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ yarn-debug.log*
yarn-error.log*
.DS_Store
.direnv
screenshots/
19 changes: 7 additions & 12 deletions .pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,11 @@ content:
type: collection
subfolders: false
view:
fields: [permalink, meta_title, header_text]
primary: header_text
sort: [header_text]
fields: [permalink, meta_title, name]
primary: name
sort: [name]
fields:
- { name: header_image, type: image, label: Header Image }
- { name: header_text, type: string, label: Header Text }
- { name: subtitle, type: string, label: Subtitle }
- { name: name, type: string, label: Name }
- { name: body, label: Body, type: code, options: { language: markdown } }
- { name: meta_description, type: string, label: Meta Description }
- { name: meta_title, type: string, label: Meta Title }
Expand All @@ -48,11 +46,9 @@ content:
subfolders: false
fields:
- { name: title, type: string, label: Title }
- { name: header_image, type: image, label: Header Image }
- { name: date, label: Date, type: date }
- { name: subtitle, type: string, label: Subtitle }
- { name: body, label: Body, type: code, options: { language: markdown } }
- { name: header_text, type: string, label: Header Text }
- { name: meta_description, type: string, label: Meta Description }
- { name: meta_title, type: string, label: Meta Title }

Expand All @@ -66,7 +62,6 @@ content:
- { name: title, type: string, label: Name }
- { name: snippet, type: string, label: Role }
- { name: image, type: image, label: Profile Image }
- { name: header_image, type: image, label: Header Image }
- {
name: body,
label: Biography,
Expand All @@ -82,7 +77,9 @@ content:
fields:
- { name: name, type: string, label: Name }
- { name: url, type: string, label: URL }
- { name: body, label: Body, type: code, options: { language: markdown } }
- { name: date, type: date, label: Date }
- { name: rating, type: number, label: Rating (1-5), required: false }
- { name: body, label: Review Text, type: code, options: { language: markdown } }
- name: products
label: Products
type: reference
Expand All @@ -104,15 +101,13 @@ content:
primary: title
sort: [title]
fields:
- { name: header_image, type: image, label: Header Image }
- { name: title, type: string, label: Title }
- { name: subtitle, type: string, label: Subtitle }
- { name: event_date, label: Event Date, type: date, required: false }
- { name: recurring_date, type: string, label: Recurring Date (e.g. "Every Friday at 2 PM"), required: false }
- { name: event_location, type: string, label: Event Location }
- { name: map_embed_src, type: string, label: Map Embed URL, required: false }
- { name: body, label: Body, type: code, options: { language: markdown } }
- { name: header_text, type: string, label: Header Text }
- { name: meta_title, type: string, label: Meta Title }
- { name: meta_description, type: string, label: Meta Description }

Expand Down
Loading
Loading