w3c / Unicorn

Unicorn - W3C's Unified Validator
https://validator.w3.org/unicorn/
Other
127 stars 59 forks source link
css html html5 java validation validator w3c

Unicorn

Status

Note: Due to lack of resources to maintain the Unicorn project, W3C stopped providing this on-line service as of 31 March 2023. (See 2023-02-15 W3C Homepage news)

Since there is no resources from W3C nor the community supporting this project at present, we encourage people to fork.

Summary

Unicorn is W3C's unified validator, which helps people improve the quality of their Web pages by performing a variety of checks. Unicorn gathers the results of the popular HTML and CSS validators, as well as other useful services.

This site addresses these audiences:

How to compile and deploy Unicorn:

1. The first thing you have to do in order to make Unicorn work is to add a unicorn.home parameter to your JVM parameters, pointing to the unicorn root directory.

example :

Dunicorn.home=/var/lib/tomcat6/webapps/unicorn/ or Dunicorn.home=/C:/Program%20Files/Tomcat/webapps/unicorn/ (read your servlet engine documentation to know how to add this parameter)

2. You will find all the configuration files that Unicorn uses in WEB-INF/conf.
3. Under WEB-INF/resources/tasklist you will find the task related files which are xml files describing tasks and rdf files containing metadata about tasks.
4. Use ant to compile the project. You can use the 'war' task to make a war file of the 'jar' task to package Unicorn in a jar. The files will be written in the dist directory. See build.xml for more info.

ex: ant war

5. As root, copy the file resources/tomcat_policy in the policy directory of tomcat (/etc/tomcat5/policy.d for Debian) and eventually edit it to fit your needs.

Note that this file is very important because it will give permissions to read and write files under Unicorn servlet dir, but also to connect to distant hosts (observers).

How to initialize Unicorn:

Once you have compiled and deploy Unicorn on your engine you must initialize it. There are a few mandatory steps that Unicorn has to do before being usable, like parsing the contract files, language files, taklists, etc...

If your engine uses the web.xml description file (which should be the case with almost any servlet engine) initialization is automated at startup.

If you want to manually initialize Unicorn you can simply execute the InitAction by connecting to http://localhost:8080/unicorn/init. This task will launch all initialization tasks which are:

In a production environment InitAction servlet should be protected to be accessible only from localhost (set PROTECT_INIT_ACTION to true in unicorn.properties)

How does the log work:

Under Tomcat logs files are on "webapps/unicorn/WEB-INF/logs/".

There are split in two directory :