Check Your Hexo Static Site for 404 Errors

So the idea is that we will hexo gen generate the site, run http-server, then run blc broken-link-checker.

Install

npm install --save-dev http-server broken-link-checker npm-run-all

NPM scripts

In the scripts section of package.json

"scripts": {
  "prd-gulp": "NODE_ENV=production gulp prd",
  "prd-hexo": "NODE_ENV=production hexo gen",
  "prd": "run-s setup-* && run-s prd-*",
  "test-server": "http-server public -p 4000 -a 127.0.0.1 -s -c-1 & echo $! > .test-server-id",
  "test-blc": "sleep 1 && blc --exclude-external -r -requests 32 http://127.0.0.1:4000 && kill `cat .test-server-id` && rm .test-server-id",
  "test": "npm run prd && run-p test-*"
}

Conclusion

If all files check for 200 status it succeeds. If any 404 the script tells you which one and fails. That will allow it to be built into a flow where success is required to continue.