pridaná generovaná navigácia z H1–H3 s unikátnymi ID,
pridaný responzívny panel a ukladanie stavu podľa URL, pridané verzovanie CSS a JS pomocou MD5 hashov, aktualizovaná dokumentácia
This commit is contained in:
@@ -6,6 +6,7 @@ Zdrojove subory su v adresari `src/`:
|
||||
|
||||
- `src/md2html.php`: vstupny bod konverzie Markdown do HTML.
|
||||
- `src/markdown.css`: styly vystupneho HTML.
|
||||
- `src/toc.js`: interaktivny obsah dokumentu bez externych JS zavislosti.
|
||||
|
||||
Zavislosti sa instaluju cez `composer install` v koreni projektu do `vendor/`.
|
||||
Konfiguracia NGINX musi smerovat Markdown poziadavky na `src/md2html.php`.
|
||||
@@ -29,3 +30,31 @@ Konfiguracia predpoklada projekt v adresari `md2html` pod `root` daneho servera
|
||||
Subor `fastcgi_params` musi byt dostupny v konfiguracii NGINX.
|
||||
|
||||
Po uprave over konfiguraciu prikazom `nginx -t` a nacitaj ju prikazom `nginx -s reload`.
|
||||
|
||||
## Obsah dokumentu
|
||||
|
||||
Tlacidlo v lavom hornom rohu otvara obsah vytvoreny z nadpisov H1 az H3.
|
||||
Na desktope panel uvolni miesto vedla dokumentu, na mobile sa zobrazi ako overlay.
|
||||
Zatvorit ho mozno tlacidlom, klavesom Escape alebo na mobile kliknutim mimo panelu.
|
||||
Panel ma vlastne scrollovanie a odkazy smeruju na unikatne ID nadpisov.
|
||||
Existujuce jednoznacne ID zostavaju zachovane.
|
||||
|
||||
Stav sa uklada do localStorage pod klucom `md2html:toc:` + pathname + query string,
|
||||
bez URL fragmentu. Pri nedostupnom ulozisku ovladanie funguje dalej.
|
||||
Bez JavaScriptu zostava dokument citatelny, navigacne ovladanie je skryte.
|
||||
|
||||
## Testovanie
|
||||
|
||||
Testy vyzaduju PHP s DOM rozsirenim, nainstalovane Composer zavislosti a Node.js
|
||||
s podporou `node:test` a `--test-isolation=none`. Nepouzivaju prehliadac ani dalsie balicky.
|
||||
V PowerShelli z korena projektu spusti:
|
||||
|
||||
```powershell
|
||||
php -l src/md2html.php
|
||||
node --check src/toc.js
|
||||
./tests/run.ps1
|
||||
```
|
||||
|
||||
Testy overuju realny vystup Parsedownu a JS spravanie pomocou modelu DOM.
|
||||
Vizualne rozlozenie, skutocne scrollovanie a ovladanie v prehliadaci treba overit
|
||||
manualne na desktope aj mobile.
|
||||
|
||||
Reference in New Issue
Block a user