Skip to content

feat(about): env-driven /about reach section, unified AMA + contact #75

@vnykmshr

Description

@vnykmshr

The /about page renders two adjacent reach affordances — an AMA promo block and a contact (mailto:) block — as separate <section> elements in web/templates/about.html. Two gaps surface together:

  1. AMA section copy is hardcoded English (<h2>Ask Me Anything</h2>, <p>Curious about something? Submit a question and I'll answer it publicly.</p>, <button>Ask a Question</button>). The AMA_PAGE_* env vars introduced in v3.11.0 (feat(ama): env-driven AMA landing copy customization #63) feed the AMA overlay and the dedicated /ama page, but the about-page promo ignores them. Operators voicing the rest of their AMA surfaces in their own register see a default-English block on /about.

  2. AMA and contact are visually disjoint. Functionally they're one affordance: here's how to reach the maintainer. As two stacked sections with separate headings, the page reads as two competing CTAs instead of one consolidated reach surface.

Proposal

Consolidate into a single <section class="about-reach"> (or similar) that:

  • Drives heading + intro from AMA_PAGE_HEADING / AMA_PAGE_INTRO (reusing the existing env-var contract — same operator voice, two render contexts).
  • Renders the AMA trigger button alongside the email mailto link as two affordance pathways within one section.
  • Falls back to current English when env vars are unset.
  • Skips the AMA half if AMA isn't configured (existing behavior), skips the email half if BLOG_AUTHOR_EMAIL=\"\", hides the whole section if both are absent.

Why now

log.1mb.dev's AMA + contact about-page section currently shows default English copy alongside the 1mb-voiced AMA overlay/page — voice mismatch within the same site, between adjacent surfaces. Consolidating closes the gap.

Surfaced from log.1mb.dev M3-polish-2 Wave 2: https://github.com/1mb-dev/log

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions