mirror of
https://github.com/Such-Software/such.software.git
synced 2026-10-17 05:32:05 +02:00
037304b1ad924a67184573032aa5fbcf80b1a47c
TABLES. next-mdx-remote had no remark plugins, so GFM tables rendered as literal pipe characters in a paragraph. Four published posts were affected, not just the new one: bauhaus-echo-launch, flutter-3d-physics-dice, vegan-iq-data-pipeline and smirk-v0-3-0. remark-gfm is now wired into MDXRemote's mdxOptions. BACKTICKS. @tailwindcss/typography wraps every inline <code> in literal backtick characters via code::before / code::after. The served HTML was already clean; the marks were injected by CSS. Monospace already marks code as code, so the backticks were a redundant second marker that reads as a typo in running prose. Suppressed across .prose. TRANSPORT. The previous version's "transports" section covered only Grin slate channels. Tor is a separate mechanism and was undocumented: the wallet accepts a .onion backend origin over plain http, alongside private ranges and .local, because onion services carry their own transport authentication and no CA issues for them. The onion pattern matches the label immediately before .onion, so an onion-lookalike public host is refused. On the backend, the admin plane binds to loopback and TOR_ADMIN_ONION adds exactly one onion host to its Host allowlist as a DNS-rebinding guard. There is no bundled Tor daemon and no I2P support anywhere in either repo. The post now says so rather than leaving it implied. COPY. Removed the editorial voice throughout: no more "the part worth explaining", "the instructive one", "worth dwelling on". A technical report states what a thing does and lets the reader decide what matters. Headings are now descriptive rather than argumentative.
Such Software Website
Corporate website for Such Software LLC, a full-service software provider based in Kennett Square, PA.
Lighthouse Scores
| Page | Performance | Accessibility | SEO | Best Practices |
|---|---|---|---|---|
| Home | 99% | 100% | 100% | 77%* |
| Services | 98% | 100% | 100% | 100% |
| About | 99% | 100% | 100% | 100% |
*Home page Best Practices is 77% due to Cloudflare Turnstile third-party cookies.
Tech Stack
- Next.js 15 with App Router
- React 18 + TypeScript 5
- Tailwind CSS 3 + Framer Motion 11
- Radix UI accessible primitives
- next-themes for dark/light mode
- Zod for validation
- Cloudflare Turnstile for bot protection
- Turborepo + pnpm 9
Project Structure
such-software-site/
├── apps/web/ # Next.js website
│ ├── src/app/ # Pages (home, services, about)
│ ├── src/components/ # React components
│ ├── tests/ # Playwright a11y tests
│ └── public/ # Static assets
├── packages/ui/ # Shared UI components
└── packages/config/ # Shared config
Development
pnpm install # Install dependencies
pnpm dev # Start dev server at localhost:3000
pnpm build # Production build
pnpm start # Start production server
Testing
cd apps/web
pnpm test:a11y # Run Playwright accessibility tests
pnpm test:ui # Run tests with interactive UI
42 accessibility tests across Chromium, Firefox, and WebKit covering WCAG 2.2 AA criteria, heading hierarchy, color contrast, and keyboard navigation.
Accessibility
- WCAG 2.2 AA: engineered to meet, audited against (Lighthouse measured 100%)
- Skip-to-main link, semantic HTML5, ARIA labels
- Proper heading hierarchy, color contrast (4.5:1+)
prefers-reduced-motionsupport- Keyboard navigation, focus indicators
- Structured data (JSON-LD) and canonical URLs
Environment Variables
Create apps/web/.env.local:
NEXT_PUBLIC_TURNSTILE_SITE_KEY=your_site_key
TURNSTILE_SECRET_KEY=your_secret_key
See apps/web/.env.example for template.
License
Proprietary - Such Software LLC
Languages
TypeScript
81%
MDX
15.3%
CSS
2.8%
JavaScript
0.9%