[Note: The information in this document applies to BBEdit 16.0 and later.]
BBEdit 16.0 introduced the use of the W3C syntax checker as the default for checking HTML5 source files. This document discusses how to configure a local instance of the checker, in order to support cases in which it may be desirable (at your sole determination) to do so.
Use of the W3C service involves sending your HTML files securely via HTTPS to the W3C checker service. Bare Bones Software never sees your HTML code, and the W3C service does not retain any data submitted to the syntax checker.
If you prefer, you can run the checker locally. To do this, you will need to follow some steps:
Download and install the Docker application for macOS: https://www.docker.com/products/docker-desktop/ If you don’t already have a Docker account, you can set one up and the free tier will suffice.
Using Homebrew or a similar package manager, install the
docker command-line tool: brew install docker. Alternatively,
you can create a symlink named docker somewhere in $PATH to
/Applications/Docker.app/Contents/Resources/bin/docker.
In BBEdit, configure the checker URL (in project settings
or globally, as appropriate) to “http://localhost:8888/”.
Steps 1-3 need only be done once.
To start the server, run this command:
docker run -it --rm -p 8888:8888 ghcr.io/validator/validator:latest
This will also install and/or update the checker, as needed.
Note that if you are running a local instance of the checker, you are responsible for keeping it (and Docker) up to date.
To learn more about the W3C syntax checker, visit the page: https://validator.nu/about.html
If you believe that the W3C syntax checker is inappropriately reporting an error or warning, we recommend that you file a bug report with the checker, since we are unable to address correctness issues with the checker.