npm.io
1.0.18 • Published 2 years agoCLI

asciidoc-link-check

Licence
MIT
Version
1.0.18
Deps
8
Size
18 kB
Vulns
0
Weekly
0
Stars
8

Maintenance notice (November 2023)

This action is now in maintenance only mode.

I am working on a new tool similar to this action but one that reduces false positives and includes the most requested features.

I am currently working on developing and testing Linkspector, and I hope to release it soon. In the meantime, I'll support this utility in maintenance-only mode as I want to focus more on Linkspector. I appreciate your understanding and patience.

If you're interested in Linkspector, follow its progress on its GitHub repository. Thank you for using this action, and I hope you will enjoy Linkspector when it is ready.

(Based on markdown-link-check module)

Local Installation

Install with npm run:

npm install -g asciidoc-link-check

Usage

(Optional) Use the -p or --progress switch to view progress.

asciidoc-link-check README.adoc --progress
asciidoc-link-check https://github.com/gaurav-nelson/asciidoc-link-check/blob/master/README.adoc
cat <filename>.adoc | asciidoc-link-check -p

Check recursively in the current directory:

find . -name \*.adoc -exec asciidoc-link-check -p {} \;

Check recursively in the other directories:

find <directory> -name \*.adoc -exec asciidoc-link-check -p {} \;
  1. Create a JSON config file containing ignore patterns:
    {
        "ignorePatterns": [
            { "pattern": "^https://192.17" },
            { "pattern": "^https://www.google" }
        ]
    
    }
  2. Use the config file option:
    asciidoc-link-check README.adoc -c <configfile.json>

NOTE

To see other options that asciidoc-link-check supports, see markdown-link-check config file format at https://github.com/tcort/markdown-link-check#config-file-format

Using in your node project

To add the module to your project, run:

npm install --save asciidoc-link-check

Docker Run

  1. Clone the repository:

     git clone https://github.com/gaurav-nelson/asciidoc-link-check.git
    
  2. Open the repository directory:

     cd asciidoc-link-check
    
  3. Build a Docker image:

     docker build --tag asciidoc-link-check .
    
  4. Add current directory with your test.adoc file as read only volume to the docker run command:

     docker run -v ${PWD}:/tmp:ro --rm -i asciidoc-link-check /tmp/test.adoc

API

Use the following function:

asciidocLinkCheck(asciidoc, [opts], callback)

Accepts a string containing asciidoc formatted text and a callback function, extracts all links and checks if they are alive or dead. Then calls the callback function with (err, results).

  • opts optional objects

    • ignorePatterns: An array of objects of regular expressions patterns.

Examples

JavaScript

'use strict';

var asciidocLinkCheck = require('asciidoc-link-check');

asciidocLinkCheck('xref:https://www.google.com[Google]', function (err, results) {
    if (err) {
        console.error('Error', err);
        return;
    }
    results.forEach(function (result) {
        console.log('%s is %s', result.link, result.status);
    });
});

Keywords