- Article title no longer rendered twice: seed article pages drop the duplicate level-1 heading block; the article template's page <h1> is the sole title. - Home dead gap resolved: landing sections divided by a hard 4px rule. The CMS wraps each block in its own <div data-block-id>, so the divider adjacency now targets the block wrappers ([data-block-id]+[data-block-id] .bru-section), not the (non-sibling) sections; landing section padding reduced 4rem->3rem. - SVG geometry guard completed: explicit width/height on every <use> icon SVG, including the 5 testimonial star ratings the earlier regex missed (the ">=" in their class conditional). - Seed quality: HARDSET site title hardset; article expanded to ~9 hard-edged paragraphs to kill the below-article void. - Fresh 2880x1800 light+dark captures for home/about/article; preview = home-light. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
19 lines
1.7 KiB
Plaintext
19 lines
1.7 KiB
Plaintext
{# brutalist contact-card override — bordered channel slabs, accent icon square. Fields: heading, description, columns, channels[] (icon, label, value, link). Keeps builtin icon split + literal conditional column classes. #}
|
|
<section class="bru-section bg-background text-foreground{% if class %} {{ class }}{% endif %}">
|
|
<div class="bru-wrap-mid">
|
|
{% if heading %}<h2 class="bru-kicker" style="font-size:clamp(1.75rem,4vw,3rem)">{{ heading }}</h2>{% endif %}
|
|
{% if description %}<p class="mt-3 text-lg text-muted-foreground" style="max-width:44rem">{{ description }}</p>{% endif %}
|
|
<div class="mt-10 grid grid-cols-1 gap-4 {% if columns == 3 %}sm:grid-cols-2 lg:grid-cols-3{% elif columns == 1 %}{% else %}sm:grid-cols-2{% endif %}">
|
|
{% for channel in channels %}
|
|
<div class="bru-slab bru-shadow-sm bru-hover flex items-start gap-4 p-5">
|
|
{% if channel.icon %}<span class="inline-flex h-11 w-11 shrink-0 items-center justify-center bg-accent text-accent-foreground" style="border:3px solid hsl(var(--border))"><svg width="20" height="20" class="h-5 w-5" aria-hidden="true"><use href="/icons/{{ channel.icon|split:":"|first }}.svg#{{ channel.icon|split:":"|last }}"></use></svg></span>{% endif %}
|
|
<div class="min-w-0">
|
|
{% if channel.label %}<div class="bru-meta text-muted-foreground">{{ channel.label }}</div>{% endif %}
|
|
{% if channel.value %}<div class="mt-0.5 break-words bru-kicker" style="font-size:1rem;text-transform:none">{% if channel.link %}<a href="{{ channel.link }}" class="transition-colors hover:text-accent">{{ channel.value }}</a>{% else %}{{ channel.value }}{% endif %}</div>{% endif %}
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
</section>
|