Follow-up to review feedback on the privacy/CSP change already merged here:
- The comment inserted alongside the CSP was written in Italian while these
configs are in English. It came from the script used to apply the change
across many repositories. Rewritten in English.
- The meta CSP was emitted unconditionally, so it also applied under
'vitepress dev'. Testing showed HMR still connects there, because the dev
server is same-origin and connect-src 'self' covers its websocket - but it
would break as soon as the dev server is not same-origin ('--host', or a
custom server.hmr.port). It is now emitted for production builds only.
- Where footer.message had been left as two concatenated literals (an artefact
of the mechanical rollout) it is collapsed into one.
Nothing changes for visitors: the built site still carries the CSP and the
privacy link.
Signed-off-by: Fabrizio Salmi <fabrizio.salmi@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This site had no privacy notice. Instead of adding a separate copy it links
the canonical one published for every project site on this host:
https://fabriziosalmi.github.io/privacy
The notice is accurate here as-is: same publisher, same host (GitHub Pages),
no cookies, no analytics, and the only device storage is the VitePress
light/dark preference, which the notice describes.
- themeConfig.footer: 'Privacy & legal' link. VitePress renders the footer on
the hero home page too, so it is reachable from every page without touching
the nav.
- head: meta-CSP, default-src 'self'. 'unsafe-inline' is required because
VitePress emits an inline appearance script and inline styles.
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
- Replace hero shield with HeroVisual: 11-track flowing SVG of request glyphs
with ~7% Apple-red blocked highlights, slow CSS-only drift, edge fade,
monospace meta header and pass/blocked footer (data-driven feel).
- Drop the six default feature cards. New HomeFeatureRail renders a 3x2
hairline-bordered editorial grid: numbered eyebrow + bold title + body,
zero icon chrome.
- Redraw platform icons as recognizable brand marks (Nginx hexagon-N, Apache
feather, Traefik "Mr. Traefik" head, HAProxy load-balanced H). Showcase
cards drop card chrome in favor of column dividers; hover adopts the
platform's brand color via per-card --accent CSS var.
- Stats strip becomes a hairline-bordered four-column rail with tabular-num
values, mono sub-labels, and a Google-data-display feel.
- Hero name no longer uses gradient text; pure neutral.
- Code-block bg corrected for light mode.
- Respects prefers-reduced-motion.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- VitePress: custom theme (SF system fonts, glass nav, soft surfaces, pill buttons,
light/dark code blocks, refined feature cards, platform showcase + stat strip).
- Replace every emoji across docs and README with inline SVG icons.
- Verify and fix doc accuracy against actual scripts: JSON schema (category+pattern only),
env-var configuration for json2*/import_* scripts, owasp2json CLI surface.
- Add public assets (logo.svg, favicon.svg, hero-shield.svg) and Shiki haproxy alias.
- Workflows default to self-hosted runner-02 with a configurable fallback to GitHub
runners via the RUNS_ON repo variable.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Create docs/ directory with VitePress configuration
- Add documentation for all web servers (Nginx, Apache, Traefik, HAProxy)
- Add bad bot detection and API reference documentation
- Add GitHub Actions workflow for automatic deployment to GitHub Pages
- Configure VitePress with sidebar, navigation, and search