Funchaku is an Elixir client for the Nu HTML Checker. It lets you easily check HTML markup of web pages, by querying a remote instance of the checker.
If available in Hex, the package can be installed as:
-
Add funchaku to your list of dependencies in
mix.exs
:def deps do [{:funchaku, "~> 0.3.0"}] end
-
Ensure funchaku is started before your application:
def application do [applications: [:funchaku]] end
To check HTML on a web page, just pass it the URL to check, like this:
{ status, results } = Funchaku.check("http://example.com")
You can also validate HTML passing directly the text, like this:
{ status, results } = Funchaku.check_text """
<!DOCTYPE html>
<html>
</html>
"""
Validation messages can be accessed like this:
results[:messages]
# [%{"extract" => " href=\"/\"><img\n src=\"/images/fire.png\" align=\"absmiddle\"",
# "firstColumn" => 37,
# "firstLine" => 55,
# "hiliteLength" => 69,
# "hiliteStart" => 10, "lastColumn" => 64, "lastLine" => 56,
# "message" => "The “align” attribute on the “img” element is obsolete. Use CSS instead.",
# "type" => "error"}]
The results[:messages]
list contains all messages returned by the checker, but you'll typically be more interested in results[:errors]
(that contains all messages of type "error") and results[:warnings]
(that contains all messages of subtype "warning"), and also in results[:non_document_errors]
where you'll find errors related to 404s, misbehaving servers, etc.
By default, Funchaku will query the Nu HTML Checker at http://validator.w3.org/nu but you're encouraged to install your own instance and use it instead. You can follow the Nu installation instructions and then specify the alternate server like this:
Funchaku.check('http://example.com', checker_url: 'http://example.com/validator')
TO DO.
- Fork it ( https://github.com/sitevalidator/nunchaku/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request