lint links
This commit is contained in:
parent
e4d69c409a
commit
d397e66e03
5 changed files with 26 additions and 6 deletions
18
docs/lint.js
18
docs/lint.js
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
var fs = require("fs")
|
||||
var path = require("path")
|
||||
var http = require("http")
|
||||
var url = require("url")
|
||||
|
||||
//lint rules
|
||||
function lint(file, data) {
|
||||
|
|
@ -9,6 +11,7 @@ function lint(file, data) {
|
|||
ensureCodeIsSyntaticallyValid(file, data)
|
||||
ensureCodeIsRunnable(file, data)
|
||||
ensureCommentStyle(file, data)
|
||||
ensureLinkIsValid(file, data)
|
||||
}
|
||||
|
||||
function ensureCodeIsHighlightable(file, data) {
|
||||
|
|
@ -82,6 +85,21 @@ function ensureCommentStyle(file, data) {
|
|||
})
|
||||
}
|
||||
|
||||
function ensureLinkIsValid(file, data) {
|
||||
var links = data.match(/\]\(([^\)]+)\)/gim)
|
||||
links.forEach(function(match) {
|
||||
var link = match.slice(2, -1)
|
||||
var path = link.match(/[\w-]+\.md/)
|
||||
if (link.match(/http/)) {
|
||||
var u = url.parse(link)
|
||||
http.request({method: "HEAD", host: u.host, path: u.pathname, port: 80}).on("error", function(r) {
|
||||
console.log(file + " - broken external link: " + link)
|
||||
})
|
||||
}
|
||||
else if (path && !fs.existsSync("docs/" + path)) console.log(file + " - broken link: " + link)
|
||||
})
|
||||
}
|
||||
|
||||
function initMocks() {
|
||||
global.window = require("../test-utils/browserMock")()
|
||||
global.document = window.document
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue