Skip to content

docs: custom domain + HTML/CSS linting + fast, universal, modern site#45

Merged
EliorMachlev merged 10 commits into
mainfrom
fix/github-pages-cname
Jun 29, 2026
Merged

docs: custom domain + HTML/CSS linting + fast, universal, modern site#45
EliorMachlev merged 10 commits into
mainfrom
fix/github-pages-cname

Conversation

@EliorMachlev

@EliorMachlev EliorMachlev commented Jun 29, 2026

Copy link
Copy Markdown
Owner

Summary

Started as the GitHub Pages custom-domain change and grew into a full docs-site hardening + overhaul. Everything here is scoped to docs/, the docs CI, and the README badge — no application/service code is touched.

What's included

1. Custom domain

  • Add docs/CNAMEJenkinsAsService.machlev.org (DNS already configured)
  • Update README Docs badge to the custom domain

2. Docs quality gate (new CI)

  • New html-lint.yml: W3C Nu HTML Checker + Stylelint (stylelint-config-standard), path-filtered to docs/**, no new SHA-pinned actions required
  • osv-scanner.yml (Trivy): add pull_request trigger so the check runs on PRs
  • Fix W3C Nu error (nested <ul> wrapped in <li>)
  • Resolve all 61 Stylelint errors with no rule suppression (modern rgb(), kebab-case classes, range media queries, break-*, selector-specificity ordering, etc.)

3. Performance — super fast

  • Drop Google Fonts on all 8 pages (was preconnect ×2 + render-blocking stylesheet) → zero-network system-ui font stack
  • Mermaid CDN loads only on the 3 pages that render diagrams (overview, configuration, architecture); removed from the other 5 — the landing page now ships no third-party JS

4. Universal — no browser-specific CSS

  • ::-webkit-scrollbar → standard scrollbar-width / scrollbar-color
  • Removed -webkit-overflow-scrolling and text-rendering hacks
  • Verified: zero -webkit-/-moz-/-ms- remain in docs/

5. Modern + accessible

  • Unify accent on blue (drop AI-purple #533483), incl. Mermaid theme vars
  • Expo easing token cubic-bezier(.16,1,.3,1); fluid clamp() type; text-wrap balance/pretty
  • :active press feedback, card hover-lift, stronger table-row hover
  • :focus-visible outlines, prefers-reduced-motion, color-scheme per theme, @media (hover: none) keeps the Copy button usable on touch, 44px hamburger target

Verification

  • ✅ Stylelint: 0 errors
  • ⏳ W3C Nu HTML validation runs in CI (needs Java; not available locally)

🤖 Generated with Claude Code

EliorMachlev and others added 10 commits June 29, 2026 23:12
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Runs HTMLHint via npx on every push/PR that touches docs/. No new
action required — uses pre-installed Node on ubuntu-latest with
actions/checkout only. Rules: doctype, title, attr casing, tag pairs,
unique IDs, non-empty src, alt required.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- HTML: html5validator (W3C vnu.jar wrapper) — official W3C HTML5 validator
- CSS: Stylelint with stylelint-config-standard — industry standard CSS linter
- Drop HTMLHint and .htmlhintrc
- alpha-value-notation: number and color-function-notation: legacy to match
  the existing rgba()/opacity number style in styles.css

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Restructure CSS to satisfy no-descending-specificity: move generic
  typography (a, ul, li) before layout components; interleave toc and
  sidebar-nav link rules ordered by specificity (0,1,1 → 0,2,1 → 0,2,2)
- Convert all rgba() to modern rgb(r g b / a) notation; remove
  color-function-notation: legacy override from .stylelintrc.json
- Lowercase font stack names (blinkmacsystemfont, helvetica, arial, consolas)
- Replace -webkit-text-size-adjust with text-size-adjust
- Expand all single-line multi-declaration blocks
- Remove duplicate width: 100% (kept calc(100% - 40px))
- Rename BEM double-dash classes to single-dash in CSS and all HTML files:
  callout--tip/warning/note/summary → callout-tip/warning/note/summary
  btn--primary/secondary → btn-primary/secondary
- Update media queries to range notation: max-width: N → width <= N
- Replace deprecated page-break-* with break-* (break-inside, break-after)
- Remove redundant .site-footer a rule (covered by generic a rule)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Update workflow count from 8 to 9
- Add HTML & CSS Lint section (html-lint.yml): W3C Nu Checker + Stylelint,
  path-filtered to docs/**, no new action allowlist entries needed
- Fix PSScriptAnalyzer description: SARIF is serialised inline via
  ConvertTo-Json, no ConvertToSARIF module or PSGallery dependency
- Fix Trivy trigger: now Push/PR/weekly (pull_request was added)
- Add Docs quality row to Security Scanning Stack Summary table

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Speed:
- Drop Google Fonts (preconnect x2 + render-blocking stylesheet) on all
  8 pages in favour of a zero-network system-ui font stack
- Load Mermaid CDN only on the 3 pages that render diagrams
  (overview, configuration, architecture); removed from the other 5

Universal (no browser-specific CSS):
- Replace ::-webkit-scrollbar with standard scrollbar-width/scrollbar-color
- Remove -webkit-overflow-scrolling and text-rendering hacks

Modern / UX:
- Unify accent on blue (drop AI-purple #533483); update Mermaid theme vars
- Expo easing token cubic-bezier(.16,1,.3,1) via --ease/--transition
- Fluid type with clamp(); text-wrap balance/pretty on headings/paragraphs
- :active press feedback on buttons, hamburger, theme toggle, copy button
- Card hover lift; stronger table row hover

Accessibility:
- :focus-visible outlines for keyboard nav
- prefers-reduced-motion: reduce disables smooth scroll + transitions
- color-scheme set per theme for native form/scrollbar theming
- @media (hover: none) keeps copy button visible on touch
- Larger 44px touch target on hamburger

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@EliorMachlev EliorMachlev changed the title fix(pages): add CNAME for custom domain JenkinsAsService.machlev.org docs: custom domain + HTML/CSS linting + fast, universal, modern site Jun 29, 2026
@EliorMachlev EliorMachlev merged commit 4f286ef into main Jun 29, 2026
12 checks passed
@EliorMachlev EliorMachlev deleted the fix/github-pages-cname branch June 29, 2026 21:30
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