Skip to content

M8: 2007-faithful CSS#18

Merged
simonbc merged 6 commits into
mainfrom
m8-css
May 16, 2026
Merged

M8: 2007-faithful CSS#18
simonbc merged 6 commits into
mainfrom
m8-css

Conversation

@simonbc
Copy link
Copy Markdown
Owner

@simonbc simonbc commented May 16, 2026

Summary

Port jottit's CSS to faithfully reproduce the 2007 look on our modern HTML.

Sub-steps (one commit each):

  • Step 1: chrome + 5-file stylesheet rewrite (claim banner, site header, content card, sidebar, dateline, primer; site_base.html + main_base.html)
  • Step 2: front-page polish (logo, textarea sizing, nav)
  • Step 3: admin pages (3-column row layout with explanation column)
  • Step 4: edit page (body.edit, tabs, preview)
  • Step 5: signin / claim / forgot-password dialog look

Test plan

  • 329 tests passing
  • Visit / on dev server — front page matches screenshot 1
  • Create a site, view home — matches screenshot 2 (claim banner, header, primer, content, sidebar, dateline)
  • Visit /admin/settings — matches screenshot 3/4

🤖 Generated with Claude Code

simonbc and others added 5 commits May 16, 2026 16:33
Split base.html into a bare shell + site_base.html (body.app — claim
banner, header strip, white content card, page-list sidebar, footer)
+ main_base.html (body.site — logo, gray body, blue-link nav). Every
content template extends one of the two layout bases; partials that
used to inline header/sidebar/claim-banner are dropped.

Rewrote tokens/reset/base/components/utilities to match the 2007
look: #f0f0ee panel, white content card with #ddd border, 60px left
gutter + 200px right sidebar at ≥768px, dateline footer with grey
button-style history/edit links, yellow "That was easy!" primer.

Wired the /site/hide-primer POST endpoint to flip
sites.show_primer=false and redirect home. Dropped the redundant
"Home" h1 on view_page; the dateline now carries page actions.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Restructured admin_settings (title, subtitle, site address, password,
email, kind-of-site) into the .settings table with label / input /
explain columns separated by #ddd dividers, matching 2007. Nested
.security radio table inside the "Kind of site" row.

admin_change_password / admin_change_site_address / admin_delete
get plain h1 + form-actions row (Save + red Cancel link). admin_design
splits into Fonts / Colors / Sizes / Background sub-tables sharing
the .settings layout.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Added dialog_base.html — body.dialog-page, no site chrome, just a
white card centered on the gray panel. signin / claim_site /
forgot_password / change_password switch from site_base.html to
dialog_base.html. claim_site uses the .settings 3-column table for
password / email / kind-of-site, matching the 2007 #claim_dialog
layout.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Cleaner edit chrome inside the standard site_base.html: full-width
monospace textarea, "Editing: PAGE_NAME" h1 with the page name in
maroon (2007 #content h1 .page_name color), Save / red Cancel /
Delete action row. Live preview/help pane is M9 (JS) work.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Drop the redundant <article><header> wrappers from inside .site-content
(it's already an article) — h1 + body content sit directly. Swap
.empty / .deleted classes for the shared .text-muted utility, and use
2007 ids (#diff, #changes, #revisions) so the legacy id-targeted CSS
hooks line up.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Pyright flagged conn.execute on Optional[Connection]; mirror the
other admin/site views and abort(500) when the request-scoped engine
isn't set.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@simonbc simonbc merged commit 543f50e into main May 16, 2026
1 check passed
@simonbc simonbc deleted the m8-css branch May 16, 2026 15:01
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