Files
Labyricorn a88092631a
Deploy production / deploy (push) Successful in 21s
Add Atom and RSS feeds
2026-08-23 17:37:05 -07:00

206 lines
12 KiB
HTML

{% extends "base.html" %}
{% from "macros/tag-links.html" import tag_links with context %}
{% from "macros/feed-links.html" import feed_autodiscovery, visible_feed_links with context %}
{% block feed_head %}
{% if this._id in ['articles', 'blog'] %}
{% set feed_base = 'https://www.labyricorn.com/' ~ this._id ~ '/' %}
{{ feed_autodiscovery(feed_base ~ 'feed.xml', feed_base ~ 'rss.xml', 'Labyricorn - ' ~ this.title) }}
{% endif %}
{% endblock %}
{% block body %}
{% set filter_tags = namespace(values=[]) %}
{% if this._id in ['blog', 'articles', 'projects'] %}
{% for item in this.children %}
{% set item_tags = item.taxonomy_tags if item._model == 'project' else item.tags %}
{% for tag in item_tags %}
{% if tag not in filter_tags.values %}{% set filter_tags.values = filter_tags.values + [tag] %}{% endif %}
{% endfor %}
{% endfor %}
{% endif %}
{% if this._id in ['blog', 'articles', 'projects'] %}
{% set hero_copy = {
'projects': {
'eyebrow': 'System Architecture',
'slash': 'Built to solve',
'intro': 'Systems, tools, experiments, and working software engineered from idea through implementation.',
'chips': [('Modular', 'architecture'), ('Active', 'development'), ('Documented', 'progress')]
},
'articles': {
'eyebrow': 'Intelligence Briefing',
'slash': 'Analysis & Insight',
'intro': 'In-depth analysis, real context, and actionable insight across technology, systems, security, and the work behind the work.',
'chips': [('Curated', 'research'), ('Verified', 'context'), ('Published', 'analysis')]
},
'blog': {
'eyebrow': 'Transmission / Live Feed',
'slash': 'Signal',
'intro': 'Raw thoughts, quick observations, experiments, and ideas transmitted before they become polished conclusions.',
'chips': [('Live', 'thoughts'), ('Direct', 'signal'), ('Unfiltered', 'notes')]
}
} %}
{% set hero = hero_copy[this._id] %}
<section class="section-hero section-hero--{{ this._id }}" data-section-hero aria-labelledby="{{ this._id }}-hero-title">
<span class="section-hero__corner section-hero__corner--tl" aria-hidden="true"></span>
<span class="section-hero__corner section-hero__corner--tr" aria-hidden="true"></span>
<span class="section-hero__corner section-hero__corner--bl" aria-hidden="true"></span>
<span class="section-hero__corner section-hero__corner--br" aria-hidden="true"></span>
{% if this._id == 'blog' %}<span class="section-hero__glitch-strip" aria-hidden="true"></span>{% endif %}
<div class="section-hero__content">
<div class="section-hero__copy">
<p class="section-hero__eyebrow">
{% if this._id == 'projects' %}
<span class="section-hero__pulse-dot" aria-hidden="true"></span>
{% elif this._id == 'articles' %}
<span class="section-hero__doc-icon" aria-hidden="true"></span>
{% else %}
<span class="section-hero__chat-icon" aria-hidden="true"></span>
{% endif %}
<span>{{ hero.eyebrow }}</span>
{% if this._id == 'blog' %}<span class="section-hero__live-dot" aria-hidden="true"></span>{% endif %}
</p>
<h1 id="{{ this._id }}-hero-title">{{ this.title }}</h1>
<p class="section-hero__slash" aria-hidden="true">// <span>{{ hero.slash }}</span></p>
<p class="section-hero__intro">{{ hero.intro }}</p>
<div class="section-hero__chips" aria-label="{{ this.title }} qualities">
{% for lead, rest in hero.chips %}<span><strong>{{ lead }}</strong> {{ rest }}</span>{% endfor %}
</div>
</div>
<div class="section-hero__visual" aria-hidden="true">
{% if this._id == 'projects' %}
<svg viewBox="0 0 500 220" preserveAspectRatio="none">
<path class="section-hero__trace-soft" d="M10 40 H110 V75 H180 V38 H260" />
<path class="section-hero__trace-soft" d="M20 170 H120 V145 H220 V190 H300" />
<path class="section-hero__trace-soft" d="M270 45 H350 V80 H470" />
<path class="section-hero__trace-soft" d="M245 155 H330 V125 H455" />
<path class="section-hero__trace" d="M40 105 H155 V100 H250 V70 H375" />
<path class="section-hero__trace" d="M85 185 H190 V140 H290 V165 H425" />
<path class="section-hero__packet" d="M40 105 H155 V100 H250 V70 H375" />
<path class="section-hero__packet section-hero__packet--alt" d="M85 185 H190 V140 H290 V165 H425" />
<circle class="section-hero__node" cx="40" cy="105" r="3" />
<circle class="section-hero__node" cx="155" cy="100" r="2.5" />
<circle class="section-hero__node" cx="250" cy="70" r="2.5" />
<circle class="section-hero__node" cx="375" cy="70" r="3" />
<circle class="section-hero__node" cx="85" cy="185" r="3" />
<circle class="section-hero__node" cx="290" cy="165" r="2.5" />
<circle class="section-hero__node" cx="425" cy="165" r="3" />
</svg>
{% elif this._id == 'articles' %}
<svg viewBox="0 0 520 210" preserveAspectRatio="none">
<path class="section-hero__trace-soft" d="M10 42 H125 V70 H205 V38 H290" />
<path class="section-hero__trace-soft" d="M25 170 H130 V142 H215 V188 H320" />
<path class="section-hero__trace-soft" d="M265 34 H345 V68 H500" />
<path class="section-hero__trace-soft" d="M255 148 H330 V118 H478" />
<path class="section-hero__trace" d="M35 106 H140 V102 H235 V72 H385" />
<path class="section-hero__trace" d="M82 184 H192 V141 H294 V164 H446" />
<path class="section-hero__packet" d="M35 106 H140 V102 H235 V72 H385" />
<path class="section-hero__packet section-hero__packet--alt" d="M82 184 H192 V141 H294 V164 H446" />
<circle class="section-hero__node" cx="35" cy="106" r="3" />
<circle class="section-hero__node" cx="140" cy="102" r="2.5" />
<circle class="section-hero__node" cx="235" cy="72" r="2.5" />
<circle class="section-hero__node" cx="385" cy="72" r="3" />
<circle class="section-hero__node" cx="82" cy="184" r="3" />
<circle class="section-hero__node" cx="294" cy="164" r="2.5" />
<circle class="section-hero__node" cx="446" cy="164" r="3" />
</svg>
{% else %}
<svg viewBox="0 0 520 210" preserveAspectRatio="none">
<path class="section-hero__trace-soft" d="M10 38 H110 V68 H200 V40 H290" />
<path class="section-hero__trace-soft" d="M28 170 H128 V145 H214 V188 H318" />
<path class="section-hero__trace-soft" d="M267 34 H354 V64 H500" />
<path class="section-hero__trace-soft" d="M258 150 H330 V118 H478" />
<path class="section-hero__trace" d="M34 105 H140 V100 H238 V72 H390" />
<path class="section-hero__trace" d="M84 184 H194 V141 H296 V164 H448" />
<path class="section-hero__packet" d="M34 105 H140 V100 H238 V72 H390" />
<path class="section-hero__packet section-hero__packet--alt" d="M84 184 H194 V141 H296 V164 H448" />
<circle class="section-hero__node" cx="34" cy="105" r="3" />
<circle class="section-hero__node" cx="140" cy="100" r="2.5" />
<circle class="section-hero__node" cx="238" cy="72" r="2.5" />
<circle class="section-hero__node" cx="390" cy="72" r="3" />
<circle class="section-hero__node" cx="84" cy="184" r="3" />
<circle class="section-hero__node" cx="296" cy="164" r="2.5" />
<circle class="section-hero__node" cx="448" cy="164" r="3" />
</svg>
{% endif %}
{% if this._id == 'projects' %}
<div class="section-hero__status-card">
<span class="section-hero__widget-label">Project Matrix</span>
<strong>Active</strong>
<span class="section-hero__bars"><i></i><i></i><i></i><i></i><i></i><i class="is-off"></i><i class="is-off"></i><i class="is-off"></i></span>
</div>
<p class="section-hero__signal-row section-hero__signal-row--stacked">Status bus // <b>Live</b><br>Devlog routing // enabled<br>Build signal // nominal</p>
{% elif this._id == 'articles' %}
<span class="section-hero__radar"></span>
<div class="section-hero__status-card">
<span class="section-hero__widget-label">Knowledge System</span>
<span class="section-hero__status-line"><span>Curated</span><b>Live</b></span>
<span class="section-hero__status-line"><span>Analyzed</span><b>Live</b></span>
<span class="section-hero__status-line"><span>Sourced</span><b>OK</b></span>
<span class="section-hero__status-line"><span>Published</span><b>Ready</b></span>
</div>
<p class="section-hero__signal-row"><span>Ref // <b>LBR-A01</b></span><span>Status // <b>Verified</b></span><span>Feed // <b>Active</b></span></p>
{% else %}
<span class="section-hero__signal-core"></span>
<div class="section-hero__status-card">
<span class="section-hero__widget-label">Transmission</span>
<span class="section-hero__status-line"><span>Source</span><b>Local</b></span>
<span class="section-hero__status-line"><span>Stream</span><b>Live</b></span>
<span class="section-hero__status-line"><span>Status</span><b>Open</b></span>
<span class="section-hero__status-line"><span>Integrity</span><b>Good</b></span>
</div>
<p class="section-hero__signal-row"><span>Feed // <b>Active</b></span><span>Mode // <b>Raw</b></span><span>Channel // <b>LBR-B01</b></span></p>
{% endif %}
</div>
</div>
</section>
{% else %}
<section class="hero compact">
<div class="shell narrow">
<p class="eyebrow">{{ this.eyebrow }}</p>
<h1>{{ this.summary }}</h1>
</div>
</section>
{% endif %}
<section class="activity-section">
<div class="shell">
<div class="section-heading">
<span>{{ this.title }}</span>
<span>
<span data-entry-count>{{ this.children.count() }} entries</span>
{% if this._id in ['articles', 'blog'] %}
{% set feed_base = 'https://www.labyricorn.com/' ~ this._id ~ '/' %}
· {{ visible_feed_links(feed_base ~ 'feed.xml', feed_base ~ 'rss.xml') }}
{% endif %}
</span>
</div>
{% if filter_tags.values %}
<div class="tag-filter" data-tag-filter aria-label="Filter {{ this.title }} by tag">
<button class="tag-filter-button is-active" type="button" data-tag-value="" aria-pressed="true">All</button>
{% for tag in filter_tags.values|sort %}
{% set tag_record = site.get('/tags/' ~ tag) %}
{% if tag_record %}<button class="tag-filter-button" type="button" data-tag-value="{{ tag }}" aria-pressed="false">{{ tag_record.title }}</button>{% endif %}
{% endfor %}
</div>
<p class="filter-status" data-filter-status aria-live="polite"></p>
{% endif %}
<div class="card-grid">
{% for item in this.children %}
{% set item_tags = item.taxonomy_tags if item._model == 'project' else item.tags %}
<article class="entry-card accent-{{ item.kicker|lower }}"{% if filter_tags.values %} data-filter-item data-tags="{{ item_tags|join(' ') }}"{% endif %}>
<div class="entry-meta"><span class="label">{{ item.kicker }}</span><time>{{ item.date|dateformat('YYYY.MM.dd') }}</time></div>
<h2><a href="{{ item|url }}">{{ item.title }}</a></h2>
<p>{{ item.summary }}</p>
{% if item_tags %}
<div class="entry-tags{% if item._model == 'project' %} technology-list{% endif %}">{{ tag_links(item_tags) }}</div>
{% endif %}
<a class="read-more" href="{{ item|url }}">{% if item._model == 'project' %}View project{% else %}Read entry{% endif %} →</a>
</article>
{% endfor %}
</div>
{% if filter_tags.values %}<p class="filter-empty" data-filter-empty hidden>No entries use this tag.</p>{% endif %}
</div>
</section>
{% endblock %}