Keletas HTML5 stadarto naujovių [1]:
- Atributo reikšmė gali būti neatskirta kabutėmis, jei joje nėra šių simbolių:
- U+0020, U+0009, U+000A, U+000C, U+000D (tarpo simbolių),
- U+0022 (kabučių („"“)),
- U+0022 (apostrofo („'“)),
- U+003D (lygybės („=“)),
- U+003C (daugiau ženklo („<“)),
- U+003E (mažiau ženklo (>)),
- U+0060 (gravio („`“)).
<input value=yes> - Kai kurios žymos) gali būti praleistos (pradžios žymė negali būti praleista, jei ji turi atributų):
htmlpradžios žymė gali būti praleista jei pirmas elementas viduje nėra komentaras,htmlpabaigos žymė gali būti praleista jei pirmas elementas po jos nėra komentaras,headpradžios žymė gali būti praleista jei ji yra tuščia arba pirmiausia viduje yra elementas,headpabaigos žymė gali būti praleista jei po jos seka ne tarpas ir ne komentaras,bodypradžios žymė gali būti praleista jei ji yra tuščia, po to seka ne tarpas ir ne komentaras bei pirmasis elementas nėrameta,link,script,styleartemplate,bodypabaigos žymė gali būti praleista jei pirmas elementas po jos nėra komentaras,lipabaigos žymė gali būti praleista jei po jos seka kitaslielementas arba tėviniame elemente daugiau nebėra turinio,dtpabaigos žymė gali būti praleista jei po jos sekadtarbaddelementas,ddpabaigos žymė gali būti praleista jei po jos sekaddarbadtelementas arba tėviniame elemente daugiau nebėra turinio,ppabaigos žymė gali būti praleista jei po jos sekaaddress,article,aside,blockqoute,div,dl,fieldset,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,hr,main,nav,ol,p,pre,section,tablearbaulelementas arba tėviniame elemente daugiau nebėra turinio ir tėvinis elementas nėraa,rbpabaigos žymė gali būti praleista jei po jos sekarb,rt,rtcarbarpelementas arba tėviniame elemente daugiau nebėra turinio,rtpabaigos žymė gali būti praleista jei po jos sekarb,rt,rtcarbarpelementas arba tėviniame elemente daugiau nebėra turinio,rtcpabaigos žymė gali būti praleista jei po jos sekarb,rtcarbarpelementas arba tėviniame elemente daugiau nebėra turinio,rppabaigos žymė gali būti praleista jei po jos sekarb,rt,rtcarbarpelementas arba tėviniame elemente daugiau nebėra turinio,optgrouppabaigos žymė gali būti praleista jei po jos seka kitasoptgroupelementas arba tėviniame elemente daugiau nebėra turinio,optionpabaigos žymė gali būti praleista jei po jos sekaoptionarbaoptgroupelementas arba tėviniame elemente daugiau nebėra turinio,colgrouppradžios žymė gali būti praleista jei pirmas elementas viduje yracolir jei prieš jį nėra kitocolgroupelemento, kurio pabaigos žymė buvo praleista,colgrouppabaigos žymė gali būti praleista jei po jos seka ne tarpas ir ne komentaras,theadpabaigos žymė gali būti praleista jei po jos sekatbodyarbatfootelementas,tbodypradžios žymė gali būti praleista jei pirmas elementas viduje yratrir jei prieš jį nėratbody,theadarbatfootelemento, kurio pabaigos žymė buvo praleista,tbodypabaigos žymė gali būti praleista jei po jos sekatbodyarbatfootelementas arba tėviniame elemente daugiau nebėra turinio,tfootpabaigos žymė gali būti praleista jei po jos sekatbodyelementas arba tėviniame elemente daugiau nebėra turinio,trpabaigos žymė gali būti praleista jei po jos seka kitastrelementas arba tėviniame elemente daugiau nebėra turinio,tdpabaigos žymė gali būti praleista jei po jos seka kitastdarbathelementas arba tėviniame elemente daugiau nebėra turinio,thpabaigos žymė gali būti praleista jei po jos seka kitastdarbathelementas arba tėviniame elemente daugiau nebėra turinio.
Pavyzdžiui toks HTML kodo fragmentas:
<!DOCTYPE html> <html> <head> <title>HTML kodo minimizavimas</title> <head> <body> <header><h1>HTML kodo minimizavimas</h1></header> <p>Pavyzdys</p> <nav> <ul> <li><a href="#vienas">Vienas</a></li> <li><a href="#du">Du</a></li> <li><a href="#trys">Trys</a></li> </ul> </nav> </body> </html>
gali būti minimizuotas iki:
<!DOCTYPE html> <title>HTML kodo minimizavimas</title> <header><h1>HTML kodo minimizavimas</h1></header> <p>Pavyzdys <nav> <ul> <li><a href=#vienas>Vienas</a> <li><a href=#du>Du</a> <li><a href=#trys>Trys</a> </ul> </nav>
o vėliau dar daugiau, išmetant nereikalingus tarpus, Tab ir naujos eilutės (Enter) simbolius:
<!DOCTYPE html><title>HTML kodo minimizavimas</title><header><h1>HTML kodo minimizavimas</h1></header><p>Pavyzdys<nav><ul><li><a href=#vienas>Vienas</a><li><a href=#du>Du</a><li><a href=#trys>Trys</a></ul></nav>
tokio optimizavimo metu sutaupoma: 142 simboliai (40.23%). Vienas iš įrankių galinčių tai atlikti: https://kangax.github.io/html-minifier/ [2], beje, minimizuotas kodas išlieka pilnai validus (https://validator.w3.org/) [3]
Išvada
Jei norite sutaupyti resursų ir pasiekti optimizavimo aukštumas, galima galvoti apie HTML kodo minimizavimą, ypač kai HTML5 standartas tai leidžia, tačiau, jei norite likti 100% palaikomi, lengviau skaitomi ir nepriklausomi nuo versij7, verta rašyti pilną kodą.
Literatūra
- The HTML syntax https://www.w3.org/TR/html5/syntax.html
- HTML Minifier https://kangax.github.io/html-minifier/
- Markup Validation Service https://validator.w3.org/










