themes-y2k/blocks/metaball_hero.ninjatpl
Alex Dunmow a86a54639a feat: convert to codeless .bnp — templates + manifest, Go/templ deleted (WO-WZ-021)
Convert the Y2K theme from a Go+templ wasm plugin to a fully codeless .bnp:
blocks/blocks.yaml + .ninjatpl, page/system templates, template overrides,
email wrapper, master pages and CSS declared in manifest.yaml. All *.go, *.templ,
*_templ.go, go.mod and go.sum deleted; schemas moved schemas/ -> blocks/.

Static parity proven 48/48 identical against the templ baseline (10 blocks x
full+empty+variant branches, 4 overrides incl. heading L1-6, email full+empty).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 15:10:52 +08:00

33 lines
1.8 KiB
Plaintext

<section class="relative overflow-hidden y2k-mesh-bg py-24 md:py-32" data-block-key="y2k:metaball_hero" data-bg-preset="{{ bgPreset|default:"magenta-teal" }}">
<svg class="absolute inset-0 w-full h-full opacity-80" viewBox="0 0 600 400" preserveAspectRatio="none" aria-hidden="true">
<defs>
<filter id="y2k-metaball" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur in="SourceGraphic" stdDeviation="18" result="b1"></feGaussianBlur>
<feGaussianBlur in="b1" stdDeviation="8" result="b2"></feGaussianBlur>
<feColorMatrix in="b2" type="matrix" values="
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 22 -10" result="meta"></feColorMatrix>
<feComposite in="meta" in2="SourceGraphic" operator="atop"></feComposite>
</filter>
<linearGradient id="y2k-mb-grad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="currentColor"></stop>
<stop offset="100%" stop-color="currentColor" stop-opacity="0.7"></stop>
</linearGradient>
</defs>
<g filter="url(#y2k-metaball)" fill="url(#y2k-mb-grad)" class="text-primary">
<circle class="y2k-metaball" cx="180" cy="200" r="80"></circle>
<circle class="y2k-metaball" cx="320" cy="160" r="70"></circle>
<circle class="y2k-metaball" cx="430" cy="240" r="90"></circle>
</g>
</svg>
<div class="relative z-10 max-w-4xl mx-auto px-4 text-center">
<div class="inline-block px-6 py-4 rounded-2xl bg-card/70 backdrop-blur-md y2k-bevel">
<h1 class="y2k-heading text-[4rem] md:text-[5rem] leading-tight font-bold text-foreground">{{ headline|default:"new EP out now" }}</h1>
{% if sub %}<p class="text-lg md:text-xl text-foreground/80 mt-3 mb-6">{{ sub }}</p>{% endif %}
{% if ctaLabel %}<a href="{{ ctaHref|default:"#" }}" class="y2k-button text-lg">{{ ctaLabel }}</a>{% endif %}
</div>
</div>
</section>