revealjs-validator
Statyczny walidator HTML dla prezentacji Reveal.js. Wyłapuje błędy, których Reveal.js nie zgłasza - od złego tła przez zerwane animacje po nieznane wartości przejść. Brakujący kompilator dla Reveal.js.
Problem
Reveal.js nie mówi, gdy coś jest źle
Reveal.js używa własnych atrybutów HTML do sterowania tłami, animacjami i przejściami. Kod napisany "z głowy" - albo przez AI - wygląda poprawnie w przeglądarce, ale Reveal.js go po cichu ignoruje. Nie ma kompilatora, który by o tym powiedział. Do tej pory.
<section style="background: red;"> Reveal.js ignoruje inline CSS na sekcji - tło wypełni tylko obszar treści, nie cały viewport.
data-auto-animate bez pary Animacja między slajdami wymaga tego samego atrybutu na dwóch kolejnych sekcjach. Pojedynczy atrybut nie ma efektu i nie zgłasza błędu.
data-transition="fly" Reveal.js nie zna wartości "fly". Ignoruje ją bez komunikatu. Dozwolone: none, fade, slide, convex, concave, zoom.
Skąd się wziął ten projekt: Pracuję z Claude Code przy prezentacjach Reveal.js. Claude pisze świetny CSS - który cicho psuje Reveal.js, bo nie zna jego specyfiki. Sfrustrowałem się wystarczająco, żeby zbudować narzędzie, które to kontroluje. Teraz Claude Code uruchamia walidator przed commitem i wiemy od razu, co jest nie tak.
Możliwości
Co robi walidator
66 reguł z oficjalnej dokumentacji
Każda reguła pochodzi wprost z docs.revealjs.com. Żadnych opinii ani wymuszania stylu - tylko to, czego Reveal.js faktycznie wymaga do poprawnego działania.
Auto-fix
10 reguł obsługuje automatyczną naprawę z flagą --fix. Podgląd zmian bez zapisu: --fix --dry-run. Pliki poprawiane tylko tam, gdzie walidator jest pewny.
Walidacja cross-plikowa
Tryb --project sprawdza relacje między slajdami, CSS, konfiguracją i assetami. Wyłapuje zerwane pary data-auto-animate, martwe klasy CSS i brakujące pliki.
Pre-commit hooks
Flaga --staged waliduje tylko pliki w staging area - blokuje commit gdy są błędy. Integracja z git bez konfiguracji CI.
Instalacja
Zacznij w minutę
Pakiet npm, działa z Node.js. Bez konfiguracji - sam wykrywa pliki HTML i CSS w projekcie.
# Zainstaluj
npm install --save-dev revealjs-validator
# Waliduj slajdy
npx revealjs-validator "slides/*.html" "theme/*.css"
# Cały projekt (cross-file)
npx revealjs-validator --project path/to/presentation/
# Auto-fix
npx revealjs-validator --fix "slides/*.html"
# Tylko staged files (pre-commit)
npx revealjs-validator --staged Pełna dokumentacja na GitHubie - lista wszystkich 66 reguł z opisami, opcje konfiguracji, API programistyczne i przykłady integracji z CI/CD.
Open source na MIT
Kod, issues i pull requesty na GitHubie. Jeśli Reveal.js zaskoczył Cię błędem, którego walidator nie wykrywa - zgłoś issue.
maciejdzierzek/revealjs-validator