Changelog

  1. Add lightbox tap/click zoom and fix truncated section tooltips.
  2. Use Claude Fable for section tooltips and all Anthropic calls.
  3. Revert "Add Watching section with Letterboxd film log and admin."
  4. Add Watching section with Letterboxd film log and admin.
  5. Add custom cover for James Baldwin: A Biography.
  6. Log Anthropic API token usage to D1.
  7. Replace Must Reads genre chips with a dropdown.
  8. Add Latest and Must Reads sub-tabs to Reading admin.
  9. Merge pull request #19 from fingerguns/cursor/must-reads-genre-tagging-2a1b
  10. Add Must Reads genre tagging with AI assignment and filter UI
  11. Merge pull request #18 from fingerguns/cursor/power-and-glory-cover-cf55
  12. Set The Power and the Glory cover to Penguin Classics edition.
  13. Update colophon and README for recent archive features.
  14. Add Thinking filter deep links and Jitterbug Perfume cover.
  15. Merge pull request #17 from fingerguns/cursor/update-now-page-working-25c0
  16. Update Now page Working section to Back in Brooklyn
  17. Add custom Must Reads covers and simplify tag cloud script.
  18. Refine Must Reads intro prompts and add tag cloud tooling.
  19. Use Claude Opus for Reading tab intro redrafts.
  20. Fix Reading tab intro AI refresh after model deprecation.
  21. Update Spotify thumbnail and video poster caches from latest build.
  22. Auto-redraft Reading tab intros when books change.
  23. Add intro copy to Reading Latest and Must Reads tabs
  24. Route Reading archive to /reading/latest and sync Spirits cover
  25. Merge pull request #16 from fingerguns/cursor/reading-path-urls-4621
  26. Use path URLs for Reading tabs instead of hashes
  27. Fix Thinking filter icons staying lit after toggle off
  28. Fix mobile archive toolbars and add Reading tab deep links
  29. Keep Thinking toolbar on one mobile row with filters left
  30. Match Thinking archive toolbar layout to Reading archive (#15)
  31. Merge pull request #14 from fingerguns/cursor/pedro-paramo-cover-fix-b7c6
  32. Fix Pedro Páramo cover by merging favorites JSON overrides at build time
  33. Reuse Latest covers for matching reading favorites (#13)
  34. Reading admin: manage Books Everyone Should Read in D1 (#12)
  35. Add Bookshop affiliate links and Reading archive tabs (#11)
  36. Add Bookshop.org affiliate links to Reading posts (#10)
  37. Hide embeddable YouTube and Spotify URLs in Thinking post text.
  38. Update colophon and README for recent site features.
  39. Add collapsible Socials links under Elsewhere on the homepage.
  40. Update About page photo to new portrait at 305px width.
  41. Sort Reading entries by read month, not date added
  42. Refresh section header tooltips and improve hint regeneration
  43. Reset Thinking type filters on each archive visit
  44. Apply Thinking type filters in list view too
  45. Right-align Thinking type filters on mobile toolbar row
  46. Put Thinking toolbar icons on one tight row on mobile
  47. Keep Thinking grid filters on one line on mobile
  48. Restore native video grid thumbnails via stored JPEG posters
  49. Speed up Thinking grid thumbnails with resized images
  50. Show all Thinking grid thumbnails until a filter is selected
  51. Defer Thinking grid media until grid view and viewport
  52. Invert Thinking grid filters to solo-select from all-off default
  53. Fix Thinking grid filters not hiding tiles
  54. Add Thinking grid type filters and Tt badge on text thumbnails
  55. Use YouTube video thumbnails on Thinking grid tiles with logo badge
  56. Show Spotify album art on Thinking grid tiles with logo badge
  57. Use clearer camera lens icon on Thinking grid photo thumbnails
  58. Use video first frame as Thinking grid thumbnail for native video posts
  59. Add camera icon badge to Thinking grid photo thumbnails
  60. Fix Thinking grid text/icon collision on desktop
  61. Reading grid: 3 columns on desktop, keep 2 on mobile
  62. Add optional author field for reading entries to improve cover search
  63. Reading covers: fall back to title search when exact ISBN misses on Apple/Google
  64. Reading: multi-source cover picker (Open Library, Apple Books, Google Books)
  65. Guard Reading cover title-search fallback against false matches
  66. Switch Reading grid cover lookup to Open Library
  67. Add grid view to Reading archive: storefront-style 2-column book covers
  68. Make Thinking grid thumbnails responsive on mobile: locked 3-column grid
  69. Update Walt Whitman colophon for grid view, media badges, and embeds
  70. Update colophon and README for Thinking grid view and Spotify embeds
  71. Swap video badge icon from play button to video camera glyph
  72. Replace Thinking view toggle text with list/grid icon buttons
  73. Add media-type icon badges to Thinking grid text cards
  74. Merge remote-tracking branch 'origin/main'
  75. Add grid view to Thinking archive.
  76. Spotify embeds: use compact 152px height for all link types
  77. Add Spotify link embeds to Thinking notes
  78. Update colophon and README for Bluesky video-service syndication
  79. Bluesky: post video via video.bsky.app processing service
  80. Revert Giphy GIF integration in Thinking
  81. Giphy picker: make close button a plain X, no box
  82. Fix Giphy picker UI: stop cropping thumbnails, align close button
  83. Fix Thinking admin: hidden previews/GIF panel showing on load
  84. Add Giphy GIF option to Thinking
  85. Merge pull request #9 from fingerguns/cursor/unfurl-youtube-thinking-c44e
  86. Unfurl YouTube links in Thinking posts as native embeds
  87. Revert portrait photo/video sizing: single Thinking media always fills the blog width
  88. Shrink portrait Thinking videos to match the 2-photo grid tile width
  89. Widen single portrait Thinking photo to match the 2-photo grid tile width
  90. Refine Thinking photo grid: portrait single photos shrink to 224px, three-photo grid centers the lone bottom tile
  91. Scale Thinking video player to the full blog width
  92. Merge pull request #8 from fingerguns/cursor/update-readme-colophon-6a08
  93. Update README and colophon to reflect Webmentions and mobile lightbox
  94. Merge pull request #7 from fingerguns/cursor/add-about-page-disclaimer-0301
  95. Add employer disclaimer to About page
  96. Add Walt Whitman style toggle to the colophon, for fun
  97. Fix horizontal scroll on Thinking archive: wrap long URLs/hashtags on mobile
  98. Apply full-bleed Thinking lightbox in phone landscape orientation too
  99. Remove lightbox image corner rounding; full-bleed photos in mobile lightbox
  100. Update colophon and README for multi-photo Thinking, permalink syndication, and Mastodon/Bluesky video fixes
  101. Add infinite swipe between Thinking lightbox photos on mobile.
  102. Fix Thinking lightbox to use the full viewport width.
  103. Size Thinking lightbox images to the viewport, not the blog column.
  104. Crop Thinking multi-photo thumbnails to equal squares.
  105. Enable up to four photos per Thinking post.
  106. Merge pull request #6 from fingerguns/cursor/mastodon-video-async-processing-9e72
  107. fix: poll Mastodon media API until video is processed before posting status
  108. Merge pull request #5 from fingerguns/cursor/update-now-page-working-90e1
  109. Update Now page Working section to summer holiday in Sifnos
  110. Merge pull request #4 from fingerguns/cursor/video-thumbnail-mobile-fix-6205
  111. Fix video thumbnail rendering on mobile by appending #t=0.001 to src
  112. Fix Bluesky video syndication for iPhone MOV files.
  113. Include Thinking permalink in syndicated media post text.
  114. Merge pull request #3: native audio/video playback in syndicated feeds
  115. feat: native audio/video syndication to micro.blog, Mastodon, and Bluesky
  116. Fix Thinking breadcrumb separator typography.
  117. Revert Thinking breadcrumb to pre-mobile-typography-churn state.
  118. Restore h2 Thinking label in breadcrumb for homepage typography.
  119. Fix Thinking breadcrumb three-line break on iOS Safari.
  120. Fix Thinking breadcrumb splitting across three lines on mobile.
  121. Fix Thinking breadcrumb wrapping on mobile.
  122. Fix Thinking breadcrumb typography mismatch.
  123. Align Thinking breadcrumb label and date visually.
  124. Match Thinking breadcrumb date weight and size to section label.
  125. Fix Thinking breadcrumb date typography.
  126. Unify Thinking breadcrumb kicker typography on one line.
  127. Fix Thinking breadcrumb to two lines and match homepage site title.
  128. Restyle Thinking permalink breadcrumb to match site typography.
  129. Add breadcrumb header to Thinking permalink pages.
  130. Edge-cache media and prefetch video on Thinking permalinks.
  131. Speed up Thinking video uploads with presigned direct-to-R2 upload.
  132. Show upload progress for Thinking video and large media posts.
  133. Accept iPhone MOV videos for Thinking uploads.
  134. Prefix audio and video Thinking syndication with Audio: or Video:.
  135. Add MP4 video posts to Thinking via R2.
  136. Update colophon for audio Thinking, media proxy, and AI tooltips.
  137. Append rommy.blog link to audio Thinking syndication on Mastodon.
  138. Include post titles in Writing and Reading syndication text.
  139. Serve Thinking media same-origin for iOS audio playback.
  140. Add audio posts to Thinking (Voice Memos M4A).
  141. Compress photos over 5 MB before upload instead of rejecting them.
  142. Revert 5 megapixel Thinking photo compression; keep 5 MB limit.
  143. Fix Thinking photo uploads blocked by admin 5 MB client check.
  144. Compress Thinking photos over 5MP before upload to R2.
  145. Add section hover tooltips with AI-powered refresh on content changes.
  146. Merge pull request #2 from fingerguns/cursor/auto-deploy-worker-0345
  147. Add GitHub Actions workflow to auto-deploy Cloudflare Worker
  148. Merge pull request #1 from fingerguns/cursor/delete-reading-entry-68cc
  149. Add list/delete reading entries to worker and admin UI
  150. Only add Bluesky link card to Thinking posts over 300 characters
  151. Add Bluesky link card to Thinking posts
  152. Fix curly quotes in colophon href attributes
  153. Rewrite colophon with tighter prose
  154. Remove Mastodon from Elsewhere links
  155. Update colophon: Mastodon syndication, link cards, Webmentions
  156. Use link title instead of "Sharing:" prefix in syndication
  157. Add link card unfurling for Writing, Reading, and Sharing syndication
  158. Remove Farcaster syndication from worker and schema.
  159. Add Farcaster syndication via Neynar
  160. Add Mastodon syndication (@rommy@mas.to)
  161. Add Mastodon (@rommy@mas.to) to Elsewhere links
  162. Add webmentions support
  163. Remove Remark42 comments from blog
  164. Fix Remark42 dark mode: beat base CSS specificity and target .K_P form class
  165. Remark42 dark mode: seamless container, lighter textarea, correct button
  166. Re-enable Remark42 comments on Writing posts
  167. Fix Remark42 dark mode: color-scheme and stale config cleanup
  168. Syndicate Writing, Reading, and Sharing to Bluesky and Micro.blog.
  169. Hide Remark42 comments until dark-mode styling is fixed.
  170. Inject Remark42 dark theme via __colors__ before CSS paints.
  171. Fix Remark42 dark mode without changing light styling.
  172. Revert Remark42 styling to the light-mode version that looked amazing.
  173. Fix Remark42 dark mode using body.dark instead of OS prefers-color-scheme.
  174. Rewrite Remark42 dark mode via prefers-color-scheme for seamless styling.
  175. Fix inverted Remark42 dark mode: dark frame, white input.
  176. Bust Remark42 iframe CSS cache and strengthen dark mode selectors.
  177. Seamless Remark42 dark mode matching rommy.blog palette.
  178. Note email sign-in option in colophon Remark42 section.
  179. Fix Remark42 theme for v1.16 CSS variable system.
  180. Improve Remark42 comment styling and document Cloudflare cache gotcha.
  181. Add Remark42 comments on Writing posts.
  182. Update colophon for Thinking hashtags and full admin archive.
  183. Link Thinking hashtags to Bluesky on site and in syndication.
  184. Show full Thinking archive labels and refresh colophon.
  185. Remove GitHub Pages CNAME; document Cloudflare-only hosting.
  186. Delete CNAME
  187. Use soft 300-character guide for Thinking admin textarea.
  188. Align Thinking photo picker and character counter on one row.
  189. Add live character counter to Thinking admin textarea.
  190. Fix Thinking archive load in admin.
  191. Refactor build pipeline and Thinking infrastructure.
  192. Store Thinking posts in D1 instead of fetching Micro.blog at build time
  193. Put Thinking delete actions on their own line below the blurb.
  194. Fix delete panel styling on mobile browsers.
  195. Fix Thinking delete confirmation italics under font-synthesis: none.
  196. Restyle Thinking delete confirmation as italic inline links.
  197. Use post-page delete confirmation instead of pop-ups.
  198. Fix mobile Thinking delete with buttons and admin archive list.
  199. Fix Thinking delete on Brave mobile via same-origin API.
  200. Fix microblog body styles dropped in delete link change.
  201. Style Thinking delete as muted links beside timestamps.
  202. Add Thinking delete on archive with Bluesky syndication tracking.
  203. Increase homepage archive arrow size.
  204. Revert homepage section dividers.
  205. Add horizontal dividers between homepage sections.
  206. Fix Reading sort: newest added first, preserve migration order.
  207. Restore optional 30-day remember-me for admin blog password.
  208. Harden admin security (step 1): rate limits, no stored password.
  209. Update colophon and README for current link and OG behavior.
  210. Remove build-time link preview cards; keep plain links in Thinking.
  211. Fix link preview titles and use compact Bluesky-style cards.
  212. Add OG images for Thinking/Writing and link preview cards in Thinking.
  213. Add MIT license for project code.
  214. Add README documenting rommy.blog stack and setup.
  215. Update colophon for current photo workflow and admin UX.
  216. Fix Thinking photo picker alignment; restore filename font size.
  217. Shrink Thinking photo filename and improve icon alignment.
  218. Remove PHOTO label from Thinking tab; keep icon picker row.
  219. Remove admin deploy timing note paragraph from HTML.
  220. Remove admin deploy timing note from footer area.
  221. Remove Thinking photo format and size hint from admin.
  222. Remove Writing photo workflow hint from admin.
  223. Center Thinking photo filename with icon using flexbox.
  224. Align Thinking photo filename with larger centered icon.
  225. Restore Thinking filename text size and space before format hint.
  226. Match Thinking photo picker to compact framed image icon.
  227. Replace Thinking file picker with photo icon and small filename label.
  228. Photo bar: link-style controls, hide when caret leaves image, more submit spacing.
  229. Polish photo toolbar: compact one-line layout, hide on deselect.
  230. Move photo wrap controls out of Quill toolbar into a dedicated bar.
  231. Make Writing toolbar Wrap and Delete labels always visible.
  232. Add delete/remove for photos in Writing and Thinking admin.
  233. Fix Writing image text wrap in Quill and published HTML.
  234. Add R2 image uploads to Writing with Quill wrap controls.
  235. Update colophon for D1, R2 photos, Bluesky compression, and portrait display.
  236. Show portrait thinking photos at half size with click to enlarge.
  237. Compress Thinking photos for Bluesky only; keep originals elsewhere.
  238. Clarify Thinking photo limits and per-service error messages.
  239. Add photo upload to Thinking admin (R2, Micropub, Bluesky).
  240. Center Compose and Drafts sub-tabs on WRITING tab
  241. Update colophon to reflect D1 backend migration
  242. Add spacing between WRITING lead and sub-tabs
  243. Redesign WRITING tab with Compose and Drafts sub-tabs
  244. Add delete post option on writing pages with confirmation
  245. Trigger Pages redeploy with D1 env vars
  246. Phase 2: migrate all blog content to Cloudflare D1
  247. Update colophon: hosting moved to Cloudflare Pages
  248. Restore changelog: fetch full git history on Cloudflare Pages builds
  249. Rebuild site
  250. Update thinking via admin
  251. Allow admin CORS from rommy-blog.pages.dev
  252. KV drafts + build-pages.mjs for Cloudflare Pages migration
  253. Revert KV drafts and Pages migration — back to localStorage + GitHub Pages
  254. Add build-pages.mjs for Cloudflare Pages (outputs to dist/)
  255. Add node_modules to .gitignore for Cloudflare Pages deploy
  256. KV-backed draft auto-save (cross-device, replaces localStorage)
  257. Rebuild site
  258. Update thinking via admin
  259. Link 'crunch a lot of numbers' to LinkedIn on About page
  260. Update contact link text on About page
  261. Rebuild site
  262. Update thinking via admin
  263. Rebuild site
  264. Update thinking via admin
  265. All site dates display in ET (linklog, thinking, changelog, /now)
  266. Display all dates in ET; fix Haiku #1 and #2 dates (were UTC)
  267. Rebuild site
  268. Update posts.json for: Haiku #3
  269. Add post: Haiku #3
  270. Rebuild site
  271. Update thinking via admin
  272. Update post metadata: haiku-2
  273. Edit post: haiku-2
  274. Update post metadata: haiku-2
  275. Edit post: haiku-2
  276. Update post metadata: haiku-2
  277. Edit post: haiku-2
  278. Update post metadata: haiku-2
  279. Edit post: haiku-2
  280. Update post metadata: haiku-2
  281. Edit post: haiku-2
  282. Update post metadata: haiku-2
  283. Edit post: haiku-2
  284. Update post metadata: haiku-2
  285. Edit post: haiku-2
  286. Update post metadata: haiku-1
  287. Edit post: haiku-1
  288. Update post metadata: haiku-2
  289. Edit post: haiku-2
  290. Update post metadata: haiku-2
  291. Edit post: haiku-2
  292. Revert Quill Enter override to default behavior
  293. Enter = soft line break in editor; double Enter = paragraph on save
  294. Update post metadata: haiku-2
  295. Edit post: haiku-2
  296. Rebuild site
  297. Update posts.json for: Haiku #2
  298. Add post: Haiku #2
  299. Hide draft notice after publish until new content is typed
  300. Rebuild site
  301. Update posts.json for: Haiku #1
  302. Add post: Haiku #1
  303. Move draft notice inline to the right of the Publish button
  304. Update post metadata: the-importance-and-power-of-routine
  305. Edit post: the-importance-and-power-of-routine
  306. One-click edit: post pages link to admin, admin handles ?post=slug
  307. Edit: remove comma in routine post
  308. Edit: add 'and wrote' to routine post
  309. Edit: add 'on Zoom calls' to routine post
  310. Strip Quill empty paragraph spacers from writing posts
  311. Add auto-save draft to Writing tab
  312. Rebuild site
  313. Update posts.json for: The importance and power of routine
  314. Add post: The importance and power of routine
  315. Rebuild site
  316. Update thinking via admin
  317. Clear thinking for resubmit
  318. Auto-link URLs as Bluesky facets in THINKING posts
  319. Rebuild site
  320. Update thinking via admin
  321. Revert thinking to previous post
  322. Update thinking
  323. Auto-link bare URLs in THINKING text
  324. Add /colophon/ page, Changelog // Colophon in all footers
  325. Rebuild site
  326. Update thinking via admin
  327. Fix contact form submit button visibility (wrong CSS variable)
  328. Add spacing before Get in touch link on about page
  329. Add /contact/ page with Formspree form, link from about page
  330. Add GA4 tracking (G-L1CC5F3DP8) across all pages
  331. Fix THINKING section layout on homepage after div/span change
  332. Match THINKING text formatting on homepage and /now/ to the thinking page
  333. Rebuild site
  334. Render newlines in THINKING text as line breaks on homepage and /now/
  335. Rebuild site
  336. Add sharing: 10 Best Solid Colognes for Men | Man of Many
  337. Rebuild site
  338. Rebuild site
  339. Update thinking via admin
  340. Rebuild site
  341. Update thinking via admin
  342. Trigger follow-up rebuild after THINKING post for micro.blog sync
  343. Rebuild site
  344. Update thinking via admin
  345. Mirror THINKING posts to Bluesky via app password
  346. Thinking: individual static post pages, dates link internally
  347. Replace '← Home' with '←' on all pages
  348. Home: show only arrows on see-more links
  349. Now: section headings match homepage style (caps, grey, small)
  350. Now: update Working blurb
  351. Thinking: more space between heading and first post
  352. Thinking: add space between post and timestamp
  353. Rebuild changelog
  354. Thinking: move datetime below post content
  355. Rebuild site
  356. Update thinking via admin
  357. Writing: YYYY-MM-DD date format on post pages
  358. Thinking: only show posts from 2026 onward
  359. Rename /microblog/ to /thinking/
  360. Microblog: add // separator between date and time
  361. Microblog: YYYY-MM-DD HH:MM date format
  362. Microblog: YY:MM:DD HH:MM 24h date format
  363. Rebuild changelog
  364. Microblog: link dates to original posts on rommy.micro.blog
  365. Rebuild site
  366. Update thinking via admin
  367. Schedule hourly rebuild for microblog feed
  368. Thinking: add See more link to /microblog/
  369. Rename microblog page heading to micro.blog
  370. Microblog: use YYYY-MM-DD date format
  371. Add /microblog page from micro.blog feed
  372. Mirror THINKING posts to micro.blog via Micropub
  373. Rebuild site
  374. Update thinking via admin
  375. Rebuild site
  376. Update thinking via admin
  377. Footer: admin link lowercase in parens, left-grouped with copyright
  378. Add Admin footer link; hide tabs until signed in
  379. Admin: fix mobile zoom on tab switch, responsive layout
  380. Fix italic not rendering in Quill editor
  381. Rebuild changelog
  382. Writing tab: Quill rich text editor with theme-aware styling
  383. Rebuild site
  384. Update thinking via admin
  385. Admin: Login tab with remember-me, session-gated forms
  386. Admin: persist login session for 30 days via localStorage
  387. On Intention: replace 'whereas' with 'and'
  388. Rebuild: No Longer Human first in reading
  389. Rebuild changelog after rebase
  390. Reading: preserve insertion order (newest first)
  391. Rebuild site
  392. Update thinking via admin
  393. Rebuild site
  394. Add reading: No Longer Human
  395. Rebuild site
  396. Update thinking via admin
  397. Rebuild site
  398. Update thinking via admin
  399. Fix infinite scroll: anchor sentinel to body bottom, not after list
  400. Fix changelog: fetch full git history in CI
  401. Rebuild site
  402. Update posts.json for: On intention
  403. Add post: On intention
  404. Admin: fix spacing between Body label and hint text
  405. Admin: capitalize WRITING in new post lead text
  406. Remove House of the Spirits test entry from reading
  407. Reading tab: remove bookshop search, manual URL entry only
  408. Rebuild site
  409. Add reading: House of the Spirits
  410. Reading tab: search bookshop.org on submit instead of on-type
  411. Reading tab: auto-fetch bookshop.org URL from title search
  412. Sharing tab: auto-fetch page title from URL
  413. Admin: add Reading and Sharing tabs
  414. Admin: rename New Post tab to Writing
  415. Admin: tabbed UI for Thinking vs New Post
  416. Extend admin with new post form and update worker
  417. Point reading links to bookshop.org product pages
  418. Rebuild site
  419. Update thinking via admin
  420. Rebuild site
  421. Update thinking via admin
  422. Rebuild site
  423. Update thinking via admin
  424. Rebuild site
  425. Update thinking via admin
  426. Rebuild site
  427. Update thinking via admin
  428. Configure admin API URL for Cloudflare Worker
  429. Add admin UI and worker for updating Thinking
  430. Reword Veri post opening as two sentences
  431. Update Veri post opening paragraph
  432. Reword opening line in Veri post
  433. Fix spelling: enamored in Veri post
  434. Add NYTimes bubble house article to sharing
  435. Fix wording in Veri post
  436. Update thinking
  437. Add Veri post with floating Reddit ad image
  438. Add Inside the Box by David Epstein to reading
  439. Add new post: It's the beginning of spring...
  440. Update thinking
  441. Update thinking
  442. Update thinking
  443. Update thinking
  444. Update thinking
  445. Revert See more to right-aligned (option 1)
  446. Style See more as centered rule divider
  447. Style See more as flush-left underlined CTA
  448. Right-align See more link
  449. Align See more link with list link column
  450. Rename section heading to Thinking
  451. Rename NOW section heading to Microthought
  452. Add Buttondown subscribe link to footer on all pages
  453. Fix reading time flex layout on mobile (wrap date in span)
  454. Move reading time to same line as date, right-justified
  455. Add nownownow.com to sharing
  456. Use grid layout for post lists on all screen sizes
  457. Add /now page linked from Elsewhere section
  458. Move Changelog to same line as Atom feed in footer
  459. Add OG tags, reading time, back-to-top, infinite scroll, and changelog
  460. Use fixed 6.5rem date column on mobile to prevent wrapping
  461. Fix wrapping dates on mobile with nowrap and max-content column
  462. Restore date column min-width so reading links align with other sections
  463. Fix mobile grid to not affect desktop layout
  464. Mobile rendering improvements for iPhone
  465. Update Cursor to Sonnet 4.6 in AI post title and meta
  466. Preface Cursor post title with [AI]
  467. Fix datetime on Artsy link so it sorts to top
  468. Add [Purchased] Scott Sueme Overlap to sharing
  469. Add dark/light mode toggle to footer
  470. Switch to light mode: warm off-white background, dark text
  471. Rename Thinking section to Now
  472. Sharing: add Kengo Kuma Angers Cathedral (Dezeen)
  473. Update Thinking
  474. Add sharing archive page and update sitemap
  475. Sharing: add Empty Chairs by Liu Xia (Poetry Foundation)
  476. Sharing: add Upcoming readings by J.T. Price
  477. Add post: I asked Cursor to describe this blog as a web designer
  478. Cap sections at 5 with auto-generated archive pages and See more link
  479. Strip hashtags from Sharing titles; link photos on About page
  480. Add About page linked from Elsewhere
  481. Sharing: remove OPEN SPACE channel link
  482. Sharing: add No Small Parts Life Aquatic clip
  483. Sharing: add Team Coco Jim Downey shorts
  484. Update Thinking
  485. Add post: On walking...a lot
  486. Remove site subtitle from homepage and feed
  487. Sharing: add OPEN SPACE YouTube channel
  488. Footer: make Atom feed link more visible
  489. Site subtitle: Unsolicited thoughts & opinions
  490. Update Thinking
  491. Site tagline: Unsolicited opinions
  492. Sharing: add Jim Jarmusch Criterion YouTube interview
  493. Remove colophon line; smaller footer typography
  494. Footer: copyright above subscribe, smaller muted styling
  495. Add © 2026 copyright line at bottom of site and posts
  496. Remove date from Thinking section and data
  497. Add Thinking section above Writing (single updatable thought)
  498. Revise "dressing well" post copy
  499. Add "What happened to dressing well and feeling good?" post
  500. Update site tagline
  501. Fix Bookshop link for Ten Planets
  502. Add Reading section
  503. Add dated Links section to homepage
  504. Add robots.txt and sitemap.xml
  505. Add LinkedIn to Elsewhere
  506. Remove Farcaster from Elsewhere
  507. Switch posts to folder-style URLs
  508. Use GitHub avatar as favicon
  509. Open only Elsewhere links in new tabs
  510. Add Farcaster and open links in new tab
  511. Order same-day posts by time
  512. Add "Vibes...coded." post
  513. Rename site title to rommy.blog
  514. Update CNAME
  515. Update CNAME
  516. Create CNAME
  517. Create README.md
  518. Move blog files to repository root
  519. Remove second post and update GitHub link
  520. Rename hello-world post to hello-from-cursor
  521. Update site name across pages and feed
  522. Update posts.json
  523. Update posts.json with site info
  524. Initial blog template upload