Skip to content
Banjo Ben Clark
Log in Join Now

Embellishments

Every decoration the code can draw. A theme picks a type, a slot it is offered on, and values from each choice's own list — nothing else is expressible, which is what makes this safe to hand to an editor.

Adding one is a code change: an entry in EffectRegistry and a case in effects.js. No migration, no data-model change. The page budget is 6 cost units; each card shows what it spends.

falling-logos

canvas · cost 3

The pick logo, falling at assorted sizes. Uses the nav-logo image slot, so a theme that swapped the mark drops the swapped one.

slots
page · hero · banner
density
light · medium · heavy
size
small · mixed · large
spin
none · slow · tumble
settle
off · ledges · surfaces · both
linger
brief · slow · forever
Assignment row for this
{
  "effect_type": "falling-logos",
  "slot": "page",
  "params": {
    "density": "medium",
    "size": "mixed",
    "spin": "tumble",
    "settle": "surfaces",
    "linger": "brief"
  }
}

garland

dom · cost 1

A swag of pine along the slot's top edge.

slots
nav · banner · section-frame
palette
evergreen · autumn · gold
berries
on · off
Assignment row for this
{
  "effect_type": "garland",
  "slot": "nav",
  "params": {
    "palette": "evergreen",
    "berries": "on"
  }
}

leaves

canvas · cost 2

Tumbling leaves that stick where they land, then fade so the pile never becomes a carpet.

slots
page · hero · banner · section-frame
density
light · medium · heavy
drift
still · breeze · gusty
settle
off · ledges · surfaces · both
palette
autumn · spring · evergreen
linger
slow · forever · brief
Assignment row for this
{
  "effect_type": "leaves",
  "slot": "page",
  "params": {
    "density": "medium",
    "drift": "breeze",
    "settle": "surfaces",
    "palette": "autumn",
    "linger": "slow"
  }
}

snow

canvas · cost 2

Falling snow. Can gather on ledges and inside cut-out photographs, and by default the drift stays — piling up is what snow is for.

slots
page · hero · banner · section-frame
density
light · medium · heavy
drift
still · breeze · gusty
settle
off · ledges · surfaces · both
tint
band-text · white · gold · primary · secondary
linger
forever · slow · brief
Assignment row for this
{
  "effect_type": "snow",
  "slot": "page",
  "params": {
    "density": "medium",
    "drift": "breeze",
    "settle": "surfaces",
    "tint": "band-text",
    "linger": "forever"
  }
}

sparkle

canvas · cost 1

Occasional glints, fading in and out in place.

slots
hero · banner · card
density
light · medium
tint
band-text · white · gold · primary · secondary
Assignment row for this
{
  "effect_type": "sparkle",
  "slot": "hero",
  "params": {
    "density": "medium",
    "tint": "primary"
  }
}

string-lights

dom · cost 1

A cable of bulbs draped across the top of the slot.

slots
nav · banner · hero · section-frame
palette
warm-white · multicolour · red-green · gold
bulb
small · medium · large
droop
shallow · deep
twinkle
on · off
Assignment row for this
{
  "effect_type": "string-lights",
  "slot": "nav",
  "params": {
    "palette": "multicolour",
    "bulb": "medium",
    "droop": "deep",
    "twinkle": "on"
  }
}

Slots

The surfaces the markup offers. An assignment names one of these — never a CSS selector — which is why decorating somewhere the design did not invite is impossible rather than discouraged.

  • page
  • nav
  • banner
  • hero
  • section-frame
  • card