A two-page static site: an e-invitation with a dinner-choice survey, and a honeymoon registry. No build step, no dependencies, no server.
index.html the invitation + embedded survey
registry.html the honeymoon registry (edit amounts in the script at the bottom)
create-form.gs one-click Google Form builder
SETUP.md start-to-finish walkthrough - read this first
img/willow-* the linocut artwork
img/map.svg the three places, for the menu section
.nojekyll tells GitHub Pages to serve files as-is
Setting this up for the first time? Read
SETUP.mdinstead — it's the same information as a start-to-finish walkthrough, including the no-command-line route to GitHub Pages. This file is the shorter reference.
The site is static, so the form itself lives in Google Forms and gets embedded.
- Go to script.google.com → New project
- Delete the sample code, paste in the whole of
create-form.gs - Click Run. Google will ask for permission the first time — click Advanced → Go to project (unsafe). It's your own script; that warning appears for anything unpublished.
- Open the Execution log. It prints three links:
- the form, for editing
- the embed URL ← you need this one
- the responses spreadsheet
If you'd rather not run a script, build the form by hand in Google Forms and get
the embed URL from Send → < > → copy the src="…" value. The questions are
all written out in create-form.gs.
Open index.html, scroll to the bottom, and paste the embed URL:
constFORM_URL="https://docs.google.com/forms/d/e/1FAIpQLS…/viewform?embedded=true";Until you do, the page shows a small "form isn't connected yet" note instead of
a broken frame. If the embedded form ends up with its own scrollbar, raise
min-height on .formbox iframe in the stylesheet.
cd site
git init -b main
git add .
git commit -m "Wedding site"
git remote add origin https://github.com/la424/wedding.git
git push -u origin mainCreate the empty wedding repo on GitHub first (public). Then in the repo:
Settings → Pages → Source: Deploy from a branch → main / / (root) → Save.
It goes live at https://la424.github.io/wedding/ in about a minute.
To email it, link that URL — don't paste the HTML into an email. Gmail and Outlook strip stylesheets and iframes, so an emailed copy would arrive as unstyled text with no survey. A short note plus the link is the way.
Everything lives in the PLAN array at the bottom of registry.html:
{name:"Dinner at The Ebrington Arms",desc:"After the walk to St James' Church.",amount:115}Change amount, add or delete entries, reorder groups. shares: 4 splits one
big item into four equal gifts. Venmo and PayPal links are generated
automatically from these two lines:
constVENMO="Luke-Arnce";constPAYPAL="lukearnce";Before you publish: open https://paypal.me/lukearnce and confirm that handle is actually claimed on your account — PayPal.Me links 404 otherwise. Venmo links work without setup, but test one on your phone; Venmo sometimes ignores a pre-filled amount depending on app version, in which case the guest just types it in.
As written, the registry totals $3,763 if every item and every share is claimed.
img/ holds the screen version. Print-ready files are in the print/ folder
alongside this repo (they're big, so keep them out of git if you'd rather):
| File | What it's for |
|---|---|
willow-color.pdf | The green-and-cream design, 5×7in — a digital keepsake or a printed card |
willow-block.pdf / -600dpi.png | Pure black-and-white carving guide, reads normally |
willow-block-mirrored.* | Print this one to transfer to the block |
willow-lowcarve*.* | Inverted — dark tree on light ground, far less material to remove |
Which to carve.willow-block makes the willow negative space — you carve
away the tree, every leaf and all the frame channels, leaving the background
standing. willow-lowcarve inverts it: remove the background, leave the tree.
Far less carving, different but equally good print.
Why there's a mirrored version. A relief print comes out backwards from the
block, so the block has to carry a mirrored image for the print to read right.
Which file you print depends on the transfer method: -mirrored if you're
tracing through graphite paper or copying by eye, the normal one if you're
laying a print face-down and transferring with acetone, gel medium or an iron
(going face-down flips it for you). Only the lettering is affected — the tree is
near enough symmetrical. Full table in SETUP.md.
Sizing. Everything is dimensioned for hand carving at 5×7in. Running
make_willow.py prints the check:
leaf 1.44 x 2.62 mm
lino between leaves 1.44 mm
lino between strands 2.19 mm
frame channel 1.52 mm
That's about the floor for a small U-gouge. If you scale the design down,
these go with it — at 4×6 the gaps drop to ~1.1mm and it gets fussy. Scaling
up is free. If you want it easier still, open make_willow.py and raise
LEAF_PITCH and FROND_PITCH; the whole tree regenerates.