From 57fdfbf881f5f0c55d7f2b7bfa960eb76ab7271f Mon Sep 17 00:00:00 2001 From: Gaurav Nelson Date: Thu, 8 Feb 2018 15:21:29 +1000 Subject: [PATCH] highlights wrong URLs in red --- asciidoc-link-check | 47 +++++++++++++++++++++------------------------ 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/asciidoc-link-check b/asciidoc-link-check index 5f62c37..d6ff8f5 100755 --- a/asciidoc-link-check +++ b/asciidoc-link-check @@ -20,36 +20,32 @@ var opts = {}; var filenameOutput = ""; var stream = process.stdin; // read from stdin unless a filename is given program.option('-p, --progress', 'show progress bar').arguments('[filenameOrUrl]').action(function (filenameOrUrl) { - filenameOutput = filenameOrUrl; - if (/https?:/.test(filenameOrUrl)) { - stream = request.get(filenameOrUrl); - try { // extract baseUrl from supplied URL - var parsed = url.parse(filenameOrUrl); - delete parsed.search; - delete parsed.hash; - if (parsed.pathname.lastIndexOf('/') !== -1) { - parsed.pathname = parsed.pathname.substr(0, parsed.pathname.lastIndexOf('/') + 1); - } - opts.baseUrl = url.format(parsed); - } catch (err) { /* ignore error */ } - } else { - opts.baseUrl = 'file://' + path.dirname(path.resolve(filenameOrUrl)); - stream = fs.createReadStream(filenameOrUrl); - } -}) -//.option('-f, --showfilenames', 'show filenames') -.parse(process.argv); + filenameOutput = filenameOrUrl; + if (/https?:/.test(filenameOrUrl)) { + stream = request.get(filenameOrUrl); + try { // extract baseUrl from supplied URL + var parsed = url.parse(filenameOrUrl); + delete parsed.search; + delete parsed.hash; + if (parsed.pathname.lastIndexOf('/') !== -1) { + parsed.pathname = parsed.pathname.substr(0, parsed.pathname.lastIndexOf('/') + 1); + } + opts.baseUrl = url.format(parsed); + } catch (err) { /* ignore error */ } + } else { + opts.baseUrl = 'file://' + path.dirname(path.resolve(filenameOrUrl)); + stream = fs.createReadStream(filenameOrUrl); + } + }) + .parse(process.argv); opts.showProgressBar = (program.progress === true); // force true or undefined to be true or false. -//opts.showFileNames = (program.showfilenames === true); var asciidoc = ''; // collect the asciidoc data, then process it stream.on('data', function (chunk) { asciidoc += chunk.toString(); }).on('end', function () { - //if (program.showfilenames) { - console.log(chalk.cyan('\nFILE: ' + filenameOutput)) - //} + console.log(chalk.cyan('\nFILE: ' + filenameOutput)) asciidocLinkCheck(asciidoc, opts, function (err, results) { if (results.length === 0) { console.log(chalk.yellow('No hyperlinks found!\n')) @@ -57,8 +53,9 @@ stream.on('data', function (chunk) { results.forEach(function (result) { if (result.status === 'dead') { error = true; - } - console.log('[%s] %s', statusLabels[result.status], result.link); + console.log('[%s] %s', statusLabels[result.status], chalk.red(result.link)); + } else + console.log('[%s] %s', statusLabels[result.status], result.link); }); if (error) { console.error(chalk.red('ERROR: dead links found!\n'));