Open source · npm · MIT

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.

terminal
# 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