{# ACADEMIC FINANCIAL EMAIL SKELETON — Design Reference ==================================================== Palette: Every colour and shadow comes from the resolved Theme, which arrives as the "theme" namespace. The token table — name, value, and the sites each one covers — lives in inkfold/builder/theming.py, where something other than a person can read it. The hand-maintained list that used to sit here had already drifted: it named a row-alt colour the table never used. #}
{{ preheader_text | escape_html }} ‌ ‌ ‌ ‌ ‌
{# ATTRIBUTE ONLY, and #125's pairing deliberately does not apply here. This cell's `align` is not text alignment: its job is to centre the 680px email-container table — a BLOCK — within the viewport. A browser maps the attribute to `-webkit-center`, which centres block children; the literal `text-align:center` is a different value that centres inline content only. Pairing them therefore did two wrong things at once: it un-centred the email in the window, and it inherited into every paragraph and heading below, centring the copy of every email in the gallery. Measured, not reasoned about — see tests/test_screenshots.py, because no golden can see it. #}
{# ============================================ #} {# ============================================ #} {# The header region fills two slots, not one: the strip and the masthead below it are separate blocks with separate owners, and #87 gives the strip its own region. Both sit at column 0 on purpose — an indented {{ }} would prepend that indentation to the fragment's first line only, and each block already carries its own. The blank line between them comes from the strip's own trailing newline plus this line's; do not add a third. #} {{ header_bar_html }} {{ banner_html }} {# ══════════════════════════════════════════ #} {# ══════════════════════════════════════════ #} {{ sections_html }} {# The footer renders as one self-contained table below the body. It sits at column 0: an indented {{ }} would prepend that indentation to the fragment's first line only, and the region carries its own. #} {{ footer_html }}