Commit Graph
8 Commits
Author SHA1 Message Date
jwinterm 1dc0c5f06a fix(lint): make the linter run again, and finish the em dash sweep
The linter had two faults stacked on top of each other.

First, the global `ajv: ^8.17.1` override starved @eslint/eslintrc, which
needs ajv 6 and passes it `missingRefs`; ajv 8 rejects that option, so ESLint
died before loading a single rule. Scoped overrides give eslint and
@eslint/eslintrc ajv 6.12.6 and leave the audit override in place everywhere
else.

Second, underneath that, `extends: ["@repo/config/eslint-preset.js"]` could
never resolve: ESLint's shareable-config naming convention rewrites it to
`@repo/eslint-config-config/...`. require.resolve hands ESLint a real path.

With the linter running it reported 35 react/no-unescaped-entities errors
across 7 files. Those are escaped rather than silenced, using ESLint's own
coordinates so only flagged text nodes were touched. Lint now exits 0. Two
@next/next/no-img-element warnings remain on the splash logos, which are
deliberate: theme-paired and fetchPriority="high".

Em dashes are also gone from the six blog posts and the README (105
occurrences), same rules as the site copy: colons for definition labels,
commas for appositives, semicolons for independent clauses.
2026-08-17 05:53:16 -04:00
jwinterm 637c6d09ef update bauhaus and main page copy 2026-04-18 16:16:58 -04:00
jwinterm 41276cd0bb add play and app store buttons and review vegan blog 2026-04-08 12:41:00 -04:00
jwinterm b7db48d9be update neroswap and bauhaus blog posts 2026-03-27 19:21:07 -04:00
jwinterm 725723ed8b add live links for suchoice 2026-03-26 11:28:28 -04:00
jwinterm d0a3e8c399 fix: content audit — SEO, cross-links, draft filtering, styling
- Add sitemap.xml and robots.txt (such.software-site)
- Fix blog date on neroswap post (2025→2026)
- Filter draft posts from generateStaticParams and getPost
- Fix stale product list in website-relaunch blog post
- Fix Godot version (4.6→4)
- Add cross-links: product pages→blog posts, blog posts→product pages
- Add OG/Twitter metadata to blog [slug] pages
- Fix Bauhaus Echo privacy: hover color (emerald→blue), contact URL
- Fix Suchoice: card styling (p-6→glass-card), font-semibold→font-bold
- Fix products listing meta to include Suchoice
2026-03-17 13:17:59 -04:00
jwinterm cfc5c7265b Fix blog post ordering by using ISO dates in frontmatter 2026-03-10 10:54:00 -04:00
jwinterm 2b9b1bf429 Migrate blog from hardcoded TSX posts to MDX with auto-population
- Add gray-matter + next-mdx-remote for MDX rendering
- Create content/blog/ with .mdx files and frontmatter
- Add dynamic [slug] route and blog utility (src/lib/blog.ts)
- Blog index auto-populates from MDX files, sorted newest first
- Upgrade React to 19 for next-mdx-remote v6 compatibility
- Convert existing posts: website-relaunch, smirk-wallet, bauhaus-echo, crypto-checkout
2026-03-10 10:46:41 -04:00