garðr-validator-web
Description: This is the web interface for the garðr validator project.
The main purpose is to find possible errors or regressions in display ads. Its intended to grow over time to a set of rules based on best practices for performance ( although displayads not necessarily can avoid document.write atm ).
The validator takes input as a scripturl or zipfile, html,css and javascript, and produces in 3 steps harvested data and a report.
How does the validator work?
It uses phantomJS as a browser, loads in a shim on top of the PhantomJS api, runs for a 10 seconds after all hooks have been innjected and data colelcted.
After phantomjs run, the preoprocessors and validators/rules runs in a series to generate a report(info, warn, debug, error...).
Installation instructions
Install depedencies and package validator with package gardr(abit funky)
$ npm install && npm run build
Run tests
$ npm test
Starting the application
Run server:
$ PORT=8000 npm start
Local development:
( if editing gardr-validator, run ´npm link´ in gardr-validator folder, and then link gardr-validator inside gardr-validator-web with ´npm link gardr-validator´)
$ npm run start-dev
If you need to debug output from phantomjs, add env variable TMP_DIR=/TMP_DIR.
Screenshots and json output from phantom will be outputted in a folder with id as name.
Additional startup configuration
You can configure port, logfile location, etc using the config module or by specifying environment variables when starting.
$ HTTP_PORT=1337 LOG_FILE_NAME=~/mylogs/pvw npm start
Where to get help
Create a github issue.
Contributing
YES, pull requests with tests. Be sure to create a issue and let us know you are working on it - maybe we can help out with insights etc.
Alternatives
(please let us know of alternatives to this project)