- seed: real Rootline Trust content — no 'example figures' placeholder copy; home composed as split hero (hands-soil image) + stats + feature-grid + botanical divider + field note + newsletter; About gap filled with fern image + impact report between story and pull-quote; first article expanded to ~10 field-notes paragraphs with inline forest image; 6 Pixabay images seeded via seed/media (id+file+alt) - article.ninjatpl: header slot now full-bleed (was max-w-3xl wrapped — the boxed-header artifact bracketing the nav with vertical rules) - landing.ninjatpl: main slot full-bleed so composed sections span the page - SVG geometry guard: every <use>-icon svg now carries explicit width/height matching its size class (18 files) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
14 lines
1.8 KiB
Plaintext
14 lines
1.8 KiB
Plaintext
{# sidebar-nav (earthen) — vertical menu from the `menus` provider. Variants default | compact. highlight-current carried as a progressive-enhancement script keyed on data-bn-sidebar-link. Control flow, icon <use> and script preserved byte-for-byte; earthen skin only. #}
|
|
{% set compact = template == "compact" %}
|
|
<nav data-block-override="earthen:sidebar-nav" class="flex-1 {% if compact %}w-56 py-4 pr-3{% else %}w-64 py-6 pr-4{% endif %}{% if showBorder %} border-r border-border{% endif %}{% if class %} {{ class }}{% endif %}">
|
|
{% if title %}<h3 class="crayon-underline inline-block {% if compact %}px-2 mb-4 text-xs{% else %}px-3 mb-5 text-sm{% endif %} font-semibold" style="font-family:var(--font-heading, 'Fraunces', 'Playfair Display', Georgia, serif);color:hsl(var(--primary));">{{ title }}</h3>{% endif %}
|
|
<ul class="{% if compact %}space-y-0.5{% else %}space-y-1{% endif %}">
|
|
{% for item in menu.items %}
|
|
<li><a href="{{ item.url|default:'#' }}"{% if item.open_in_new_tab %} target="_blank" rel="noopener"{% endif %}{% if item.title %} title="{{ item.title }}"{% endif %} data-bn-sidebar-link class="flex items-center rounded-lg text-sm text-muted-foreground transition-colors hover:text-primary hover:bg-muted {% if compact %}px-2 py-1.5{% else %}px-3 py-2{% endif %} {{ item.css_class }}">{% if item.icon %}<svg width="16" height="16" class="mr-2 h-4 w-4 text-accent" aria-hidden="true"><use href="/icons/{{ item.icon|split:":"|first }}.svg#{{ item.icon|split:":"|last }}"></use></svg>{% endif %}{{ item.label }}</a></li>
|
|
{% endfor %}
|
|
</ul>
|
|
</nav>
|
|
{% if highlightCurrent %}<script>
|
|
(function(){var p=window.location.pathname;document.querySelectorAll('[data-bn-sidebar-link]').forEach(function(a){if(a.getAttribute('href')===p){a.classList.remove('text-muted-foreground');a.classList.add('text-foreground','bg-accent','font-medium');}});})();
|
|
</script>{% endif %}
|