Responsive & Lighthouse audit (1.00 mobile + desktop) + remove dormant blog engine#1
Merged
Merged
Conversation
…PLAN_responsive_quality_audit Add desktop Lighthouse config (lighthouserc.desktop.cjs, desktop preset, full 14-URL set, 1.0 assertions) and a lighthouse:desktop npm script. Captures the baseline: code quality fully green; Lighthouse mobile 1.0 (core URLs) and desktop 1.0 on 13/14 (/contact/ a11y 0.98). Full prioritized findings in the gitignored .dwp/ baseline report. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…- Task 2 of PLAN_responsive_quality_audit No fixes required — the repository was already at a fully green baseline. Re-ran all five validation commands (with the carried-over logo-dimension edits present): biome clean, astro 0/0/0, 193 tests, md 110/110, build OK. Empty commit kept for plan traceability; logo edits remain for Task 3. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…lor-scheme First-time visitors now always get light mode regardless of the OS dark preference; dark applies only when the user has explicitly toggled it (stored as theme=dark). Remove the prefers-color-scheme detection from the first-load init in all three layouts (Main/Showcase/Internal); stored preference still wins, and the toggle is unchanged. Also decouple the browser-chrome theme-color from the device: it now defaults to light and is synced to the chosen theme by the init script and the toggle (previously it followed prefers-color-scheme, which would dark the address bar on a light page). Docs updated. Gates: biome, astro:check 0 errors, test 193, build, md:check 110/110. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… Task 3 of PLAN_responsive_quality_audit
Resolves the global Lighthouse label-content-name-mismatch a11y audit, which
spanned three labeled Dailybot/brand links:
- Header logo link: mark the decorative strapline aria-hidden so the accessible
name (aria-label "Deep Work Plan") matches the visible wordmark.
- Origin "Learn about Dailybot" CTA: set logo imgs alt="" and wrap the decorative
arrow in aria-hidden (the img alt injected a conflicting token).
- Footer "Powered by Dailybot": localize the previously hardcoded English
aria-label to `${t.footer.poweredBy} Dailybot` and set logo imgs alt=""
(the EN aria-label mismatched the ES visible text, failing /es/).
Also folds in the carried-over logo intrinsic-dimension corrections
(Header/Footer 270x160, matching the real PNGs — better aspect-ratio/CLS).
Verified: desktop Lighthouse label-content-name-mismatch now passes on all 14
URLs; every URL accessibility 1.0 except /contact/ 0.98 (heading-order, Task 5).
No regressions (biome/astro/tests/build green).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ask 4 of PLAN_responsive_quality_audit Static + built-HTML responsive review of HomePage and all home sections: scaling type, grids that step down (e.g. 2->sm:3->lg:5), stacking CTAs, wrapped comparison table, constrained prose. No fixed-pixel widths, nowrap, or overflow-prone content. The only genuine home defect (Origin label-content-name-mismatch) was already fixed in Task 3, so no new home changes are needed. Empty commit for plan traceability. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… of PLAN_responsive_quality_audit R1 — reader Markdown tables overflowed on mobile because nothing wrapped them. Add a dependency-free rehype plugin (src/lib/rehype-responsive-tables.mjs) that wraps every <table> in <div class="table-responsive">, wired into astro.config markdown.rehypePlugins. The .table-responsive mobile-scroll CSS already existed in global.css. Verified: every methodology/spec/kit reader table (EN + ES) is now wrapped, so wide tables scroll instead of forcing the page wider. R2 — ContactPage promoted the contact-method card titles from <h3> to <h2>. The social section's label is a decorative Kicker (not a heading), so the <h3> skipped a level (Lighthouse heading-order). text-lg styling keeps the visual identical; /contact/ desktop accessibility goes 0.98 -> 1.00. Result: desktop Lighthouse now 1.00 across all four categories on all 14 audited URLs; mobile already 1.0. biome/astro/tests/md/build all green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…onsive_quality_audit Add loading="lazy" to the four footer logo images (brand mark + "Powered by Dailybot" logos). They sit below the fold on every page, so deferring them addresses Lighthouse's offscreen-images opportunity and hardens mobile Performance against sub-1.0 outliers without affecting the above-fold LCP (header logos stay eager). Median Lighthouse is already 1.0 on both mobile and desktop across all audited URLs; this is a defensive optimization. Path-scoped commit: the concurrent blog-engine removal staged in the working tree is owned by another active session and is left untouched. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Remove the dormant blog engine (components, pages/routes incl. /es, blog content collections, blog API endpoints, blog lib + search, blog tests and fixtures) and the related references in translations, middleware, content config, BaseHead, and layouts. The site is now a focused methodology + spec + kit documentation site; page count drops from 137 to 131. Committed together with the responsive/quality audit per request (work performed concurrently by a separate session). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…responsive_quality_audit Skills & Agents Discovery output: capture the battle-tested responsive + Lighthouse audit procedure as a reusable Tier-2 skill (desktop LH config + dual-form-factor sweep, the 9-breakpoint walk, and the fix playbook: .table-responsive table wrapping, label-content-name-mismatch, heading-order, lazy below-fold images, the intentional robots-txt/SEO skip, lhci concurrency caveat). Registered in the skills/agents catalog. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The blog/search removal deleted the search:budgets script and scripts/check-search-performance-budgets.mjs, but the Code Check workflow still ran `pnpm run search:budgets` → ERR_PNPM_NO_SCRIPT (CI red). Remove that step and add the desktop Lighthouse gate (`pnpm run lighthouse:desktop`) alongside mobile, so CI now asserts 1.0 on both form factors. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Deploying deepworkplan-website with
|
| Latest commit: |
2f6a9eb
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://95f74dc8.deepworkplan-website.pages.dev |
| Branch Preview URL: | https://feature-responsive-quality-a.deepworkplan-website.pages.dev |
Running desktop Lighthouse over all 14 URLs (×3 runs) was too heavy for GitHub Actions. Split each form factor into a lean base gate and a full sweep: - lighthouse → mobile base (lighthouserc.cjs, 4 core URLs) [CI] - lighthouse:desktop → desktop base (lighthouserc.desktop.cjs, 4 core URLs)[CI] - lighthouse:full → mobile full (lighthouserc.full.cjs, 14 URLs) [manual] - lighthouse:desktop:full → desktop full (lighthouserc.desktop.full.cjs, 14)[manual] CI (code_check.yml) runs only the two base gates (8 URLs total instead of 18), keeping Actions fast while still asserting 1.0 on mobile + desktop over the core pages. Use the :full commands locally before large UI changes. Skill doc updated. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR: Responsive & Lighthouse audit (100 on mobile + desktop) + remove dormant blog engine
Repo:
DailybotHQ/deepworkplan-websiteBase:
main← Head:feature/responsive-quality-auditCreate: https://github.com/DailybotHQ/deepworkplan-website/compare/main...feature/responsive-quality-audit?expand=1
Title:
Summary
Two workstreams landed on this branch:
PLAN_responsive_quality_audit, Tasks 1–9) — audit the whole site across breakpoints, get the codebase fully green, and drive Lighthouse to a perfect 1.00 in all four categories on both mobile and desktop.Results
astro check0 errors / 0 warnings · 64 tests · md parity · build OKAudit changes
lighthouserc.desktop.cjs(preset: 'desktop', full 14-URL set, 1.0 assertions) +lighthouse:desktopscript. Both configs intentionally skiprobots-txt(the site'srobots.txtcarries the IETF Content-Signal directive that Lighthouse's RFC-9309 audit rejects).src/lib/rehype-responsive-tables.mjswraps every Markdown<table>in.table-responsive(mobile-scroll CSS already inglobal.css).label-content-name-mismatch(was failing on all 14 URLs): fixed the header logo, the Origin "Learn about Dailybot" CTA, and the footer "Powered by Dailybot" link (localizedaria-label, decorative logosalt="", decorative arrow/straplinearia-hidden).heading-order(/contact/): contact-card titlesh3 → h2(visual unchanged) →/contact/desktop a11y 0.98 → 1.00.loading="lazy"on the four below-fold footer logos; corrected logo intrinsic dimensions to the real 270×160./responsive-lighthouse-auditcaptures the full audit playbook (cataloged).Blog-engine removal
Removes blog components, routes (incl.
/es), blog content collections, blog API endpoints, blog lib + search, blog tests/fixtures, and references in translations/middleware/content-config/layouts.QA
Commits
d9cd059baseline + desktop config ·885f9degreen baseline ·795cb61a11y brand links ·c7e53f1home verify ·2f660c8reader tables + contact headings ·543f495footer lazy-load ·723c060remove dormant blog engine ·22e9793add responsive-lighthouse-audit skill (+7a52445theme default).🤖 Generated with Claude Code