Skip to content

Ban em dashes in copy: policy, CI check, full site pass - #12

Merged
obartra merged 1 commit into
mainfrom
claude/remove-em-dashes-2ce94f
Jul 12, 2026
Merged

Ban em dashes in copy: policy, CI check, full site pass#12
obartra merged 1 commit into
mainfrom
claude/remove-em-dashes-2ce94f

Conversation

@obartra

@obartra obartra commented Jul 12, 2026

Copy link
Copy Markdown
Collaborator

What

Reverses the repo's "house voice uses em dashes" convention:

  • CLAUDE.md: the rule is now never use em dashes in copy or anything that ships; restructure the sentence instead (pipe in titles, comma/colon/period in prose). Updated in the conventions list, the weekly-routine guardrails, "What not to do", and the validator description.
  • CI check: tools/validate_site.py (already run by CI on the built dist/) now walks every shipped text file (HTML, CSS, JS, XML, JSON, MD, SVG, TXT, webmanifest) and fails on a literal em dash or the — / — / — entities, reporting file:line.
  • Copy pass: removed all ~70 em dashes from everything that renders or ships: all seven content/*.yaml, the og/twitter image alts in BaseLayout.astro, the contact form subject + shipped comment, and user-facing strings/comments in main.js, gate.js, style.css, the img README, and the Keystatic admin strings. Page titles now use pipes ("Work | Quentin Fears | ..."); the footer tagline is back to the brief's comma form ("Don't just wear clothes, wear confidence").

Internal docs (README, PROPOSAL, ASSETS, docs/) keep their em dashes; they do not ship and the check reads the build output only.

Validation

  • npm run build succeeds; validate_site.py dist and seo_check.py dist pass clean (6 pages, 0 warnings).
  • Verified the new check end-to-end: a seeded em dash in dist/index.html fails with exit 1 and the right file:line; clean build passes.

🤖 Generated with Claude Code

Reverses the "house voice uses em dashes" rule. CLAUDE.md now bans em
dashes in copy and anything that ships; validate_site.py fails CI on a
literal em dash or its HTML entities in any text file of the build
output. All existing em dashes across content/*.yaml, templates, and
shipped assets are removed by restructuring each sentence (pipes in
titles, commas/colons/periods in prose). Internal docs keep theirs;
they do not ship.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@netlify

netlify Bot commented Jul 12, 2026

Copy link
Copy Markdown

Deploy Preview for qfearless ready!

Name Link
🔨 Latest commit 217ed1e
🔍 Latest deploy log https://app.netlify.com/projects/qfearless/deploys/6a52db2863534600088f5ce4
😎 Deploy Preview https://deploy-preview-12--qfearless.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@obartra
obartra merged commit 4a433e2 into main Jul 12, 2026
6 checks passed
@obartra
obartra deleted the claude/remove-em-dashes-2ce94f branch July 12, 2026 00:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant