- Seed: home hero -> landing 'hero' slot (full-bleed) and cta -> 'cta' slot; reconcile_blocks on home + harbour-light so demo re-install rewrites them. - Hero: remove noir-spotlight from the image wrapper and the landing hero-slot wrapper — its radial vignette fades the photo to --background (cream in light mode) exactly where the onImg white text sits. Image + black scrim now carry legibility in both modes. - Image override: figure is column-flex so the typed caption sits under the evidence frame (was landing beside it); frames render grayscale to match the dossier persona. - Harbour Light article extended to 9 paragraphs (case-file voice) per the seed length gate. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
12 lines
1.6 KiB
Plaintext
12 lines
1.6 KiB
Plaintext
{# image override — square evidence frame with a typed mono caption. Fields mirror builtin: src, alt, caption, size, align, aspectRatio, objectFit. Media resolved via {% img %} (the media filter is not registered in the block render path). #}
|
|
{% with size=size|default:"full" align=align|default:"center" objectFit=objectFit|default:"cover" %}
|
|
<figure data-block-override="noir:image" class="my-8 flex-1 flex flex-col {% if align == "left" %}items-start{% elif align == "right" %}items-end{% else %}items-center{% endif %}{% if class %} {{ class }}{% endif %}">
|
|
<div class="noir-file p-2 {% if size == "xs" %}max-w-[200px] w-full{% elif size == "sm" %}max-w-[400px] w-full{% elif size == "md" %}max-w-[600px] w-full{% elif size == "lg" %}max-w-[800px] w-full{% else %}w-full{% endif %}">
|
|
<div class="relative overflow-hidden bg-muted grayscale {% if aspectRatio == "square" %}aspect-square{% elif aspectRatio == "video" %}aspect-video{% elif aspectRatio == "portrait" %}aspect-[3/4]{% elif aspectRatio == "wide" %}aspect-[21/9]{% endif %}">
|
|
{% if objectFit == "contain" %}{% img src alt=alt class="w-full h-full object-contain" layout=size %}{% elif objectFit == "fill" %}{% img src alt=alt class="w-full h-full object-fill" layout=size %}{% elif objectFit == "none" %}{% img src alt=alt class="w-full h-full object-none" layout=size %}{% else %}{% img src alt=alt class="w-full h-full object-cover" layout=size %}{% endif %}
|
|
</div>
|
|
</div>
|
|
{% if caption %}<figcaption class="mt-3 text-center noir-mono text-sm" style="color:hsl(var(--muted-foreground));">{{ caption }}</figcaption>{% endif %}
|
|
</figure>
|
|
{% endwith %}
|