Gebruikershulpmiddelen

Site-hulpmiddelen


linux:applicaties:webontwikkeling:html5-validator

HTML5 Validator Installeren

Installatie van een HTML5 Validator op de eigen, lokale machine (PC of notebook) heeft het voordeel dat lokaal ontwikkelde HTML5 pagina's direct op de lokale machine kunnen worden gevalideerd. Ze hoeven dus niet meer te worden geupload naar een externe validatie site (zoals bv. de site van w3.org).
Handig voor wie webpagina's het liefst ontwikkelt en test op de eigen PC of notebook!

Dit document beschrijft:

  • installatie van de HTML5 validator validator.nu engine op de lokale machine
  • integratie van de validator.nu engine met de lokaal ge_i:nstalleerde w3c-markup-validator

De validator.nu engine is JAVA-gebaseerd. Build/Installatie: d.m.v. een python script, dat alle dependencies rechtstreeks van Internet ophaalt.

Na een succesvolle build/installatie wordt de validator.nu engine meteen vanuit een terminalvenster gestart.
Bij het starten worden diverse validatie-schema's rechtstreeks van het Internet opgehaald.

Getest op:

  • Tux4u®/Penguin Suite, versie “PS-wheezy”
  • w3c-markup-validator, versie 1.3

1. Vereisten

  • ge_i:nstalleerde JDK - JavaDevelopmentKit
    (Debian pakket: openjdk-6-jdk met o.a. 'javac' en 'jar')1)
  • werkende Internet-connectie
  • git
  • python

Voor integratie met de w3c-markup-validator:

  • ge_i:nstalleerde w3c-markup-validator,
    bv. versie 1.2 (PS-app: “network-webcheck, versie 1.10-3”)
    of versie 1.3 (voor download en installatie: zie website van w3.org)
  • werkende Apache2 server

2. Bug

De software bevat een bekende java bug, waardoor het python build script de eerste keer struikelt over een “ClassCastException” en nog een tweede keer gerund moet worden om succesvol te eindigen.

3. Stappenplan installatie validator.nu engine

Er moeten allerlei zaken van Internet worden opgehaald.
Build/Installatie als “superuser” (root) is daarom een mogelijk veiligheidsrisico.
⇒ Voer de installatie uit vanuit het “operator”-account.

  1. Maak als gebruiker “operator” een nieuwe directory t.b.v. installatie, bv. onder /usr/local
    $ su  -  operator
    Password:
    
    $ cd  /usr/local
    $ mkdir  html5-checker
  2. Ga naar de nieuwe directory; kloon de validator build directory van github en check het resultaat.
    $ cd  html5-checker
    
    $ git  clone  https://github.com/validator/build.git  build
    
    $ ll  -a  build
    drwxr-sr-x  8 operator staff  4096 Jun 18 11:58 .git
    -rw-r--r--  1 operator staff     5 Jun 18 11:58 .gitignore
    -rw-r--r--  1 operator staff  2063 Jun 18 11:58 README
    -rwxr-xr-x  1 operator staff 43135 Jun 18 11:58 build.py
    -rw-r--r--  1 operator staff 64845 Jun 18 11:58 build.xml
  3. Check/Zet de JAVA_HOME env-parameter (nodig voor het runnen van het build script)
    $ env | grep  'JAVA_HOME'
    
    $ export  JAVA_HOME=/usr/lib/jvm/default-java
  4. Run vervolgens het build script met de optie “all”. 2)
    Door de java bug zal het python build script de eerste keer niet zover komen dat de validator.nu engine gestart wordt.
    $ cd  ..
    $ python  build/build.py  all
  5. Run het python build script opnieuw.
    De validator.nu engine zal nu wel gestart worden. 3)
    $ python  build/build.py  all

De laatste stap moet o.m. melden:

  • BUILD SUCCESSFUL
  • nu.validator.servlet.VerifierServletTransaction - Initialization complete.
    2014-06-18 17:33:26.226:INFO::jetty-6.1.26
    2014-06-18 17:33:26.334:INFO::Started SocketConnector@0.0.0.0:8888

De validator.nu engine blijft nu in het betreffende terminalvenster lopen en geeft daar ook zijn debugging messages.

4. Gebruik, stop/herstart, "help" en "test"

  1. Om HTML5 code te valideren: gebruik de validator in de web browser via de URL: http://localhost:8888/
  2. Stop de validator in het terminalvenster met: Ctrl+C
  3. Herstart de validator via het build script met de optie “run”: 4)
    $ python  build/build.py  run
  4. Handige opties:
    $ python  build/build.py  --help
    $ python  build/build.py  test  >  $HOME/validatortest.out  2>&1

5. Integratie met de w3c-markup-validator

De w3c-markup-validator kan zelf geen HTML5 code checken.

De integratie met de validator.nu engine is al helemaal voorbereid in het configuratiebestand /etc/w3c/validator.conf:
haal (als “superuser”) in de “External” directive het hekje voor de HTML5 regel weg!

$ su -
Password:

# vi /etc/w3c/validator.conf

 <External>
 # HTML5 = http://localhost:8888/
 HTML5 = http://localhost:8888/
 </External>

Check het resultaat:

  • zorg eerst dat de validator.nu engine up&running is;
  • start vervolgens de lokale w3c-markup-validator in de web browser en laat hem een HTML5 document checken.

6. Startscript

Om de validator.nu engine na installatie wat makkelijker te starten, kan in de HOME-dir van operator een startscript worden aangelegd:

$ su  -  operator
Password:

$ vi  html5-validator-start.sh

De inhoud van het startscript kan bv. zijn:

#!/bin/bash

export  JAVA_HOME=/usr/lib/jvm/default-java

cd  /usr/local/html5-checker

python  build/build.py  run

Maak het script uitvoerbaar ('executable') voor de eigenaar (operator):

$ ls  -l  html5-validator-start.sh
-rw-r--r-- 1 operator operator  112 jun 25 10:39 html5-validator-start.sh

$ chmod  u+x  html5-validator-start.sh

$ ls  -l  html5-validator-start.sh
-rwxr--r-- 1 operator operator  112 jun 25 10:40 html5-validator-start.sh

Run het script om de validator.nu engine te starten:

$ ./html5-validator-start.sh
"git" pull -q -r https://github.com/validator/build.git master
...
...
nu.validator.servlet.VerifierServletTransaction - Schemas read.
nu.validator.servlet.VerifierServletTransaction - Reading spec.
nu.validator.servlet.VerifierServletTransaction - Spec read.
nu.validator.servlet.VerifierServletTransaction - Initialization complete.
2014-06-25 10:41:25.510:INFO::jetty-6.1.26
2014-06-25 10:41:25.621:INFO::Started SocketConnector@0.0.0.0:8888

Om het script (en de validator.nu engine!) te stoppen: Ctrl+C.

7. Documentatie en Sources

.

Copyright © 2014 Integrated Services; Tux4u.nl
Author: M. Waldorp-Bonk; html5-validator.txt 2014-06-24, updated 2014-08-04

1)
Debian 'fastjar' wordt door de validator.nu software niet ondersteund!
2)
Het build script zal diverse subdirectories aanleggen. Run het vanuit de “html5-checker” directory en niet vanuit de “build” subdirectory!
3)
Zoniet: run het script opnieuw! Er kan bv. sprake zijn van timeouts als zaken niet snel genoeg van Internet binnengehaald kunnen worden.
4)
Herstart vereist een correcte JAVA_HOME parameter en een werkende Internet-connectie!!
linux/applicaties/webontwikkeling/html5-validator.txt · Laatst gewijzigd: 2018/12/30 17:17 (Externe bewerking)