{% extends "brickwork/shell/docs.html" %}
{% comment %}
An editorial article: long-form publishing on the shared reading shell
(icvoss/django-brickwork#415). First archetype in the Editorial and
publishing family.
COPY THIS FILE into your project and edit it. It is not on the template loader
path, so you cannot extend it (ADR-056).
What your view must supply:
crumbs breadcrumb trail: [{label, url}, ...], last unlinked
docs_nav_label rail / jump label (this page uses "In this article")
docs_search_action the URL bw_search in the site header submits to
author_name display name in the byline
author_href author profile URL (full author page is #416)
author_initials initials fallback for {% include %} _avatar.html
published_on visible publication date string
reading_time visible reading-time string (e.g. "8 min read")
category_label category badge text (full category page is #417)
category_href category listing URL
article_state "ready" | "empty" | "error"
The heading text, prose, callouts, figure and on-this-page links below are
typed into the template.
WHY THIS PAGE EXTENDS THE DOCS SHELL, NOT A NEW EDITORIAL SHELL:
ADR-091 bought the docs shell for one deciding fact: article-then-rail in
source order, with site chrome outside . An editorial article needs
the same seams (reading column, optional on-this-page rail, site header and
footer). A second shell with the same regions would be a fork wearing a
family name. Family taxonomy is the examples/ directory
(`editorial/` -> "Editorial and publishing"), not which shell a page
extends: shells are cross-family building blocks (docs/CATALOGUE.md). The
phone jump and rail label are renamed via docs_nav_label so the chrome does
not say "Documentation" on a journal page.
WHAT DIFFERS FROM examples/docs/article.html:
A docs article orients a reader who already chose a section of a reference
tree: section rail, technical callouts, code panels. An editorial article
orients a reader who chose a story: byline (avatar + author + date +
reading time), a category badge, captioned figure, and continue-reading
neighbours. Reading-progress glue stays on #421 (closed under #260 as
documentation over _progress.html, not a new primitive). Full author,
category, archive, series and related-content pages are #416 to #420.
States: article_state is the page's real branch.
"ready": byline, prose, figure, on-this-page TOC, sibling rail, pager.
"empty": the article is not published yet (or was withdrawn). Empty state;
chrome and breadcrumbs stay so the reader can leave.
"error": the content store failed. bw_alert danger; same chrome rule.
LOADING: not applicable for the default server-rendered path.
Accessibility: byline text names the author (avatar aria-label matches);
category is a real link wrapping the badge text, not colour alone; heading
anchors name the section; pager direction is in the link text (WCAG 2.4.4);
empty and error keep search + breadcrumbs. On-this-page TOC sits in content
(not inside docs_nav) so it does not nest a second