2.1.0 • Published 3 years ago

hexo-broken-links-checker v2.1.0

Weekly downloads
15
License
MIT
Repository
github
Last release
3 years ago

hexo-broken-links-checker Publish on NPM npm.io

hexo-broken-links-checker is a plugin for Hexo static site generator that checks broken links.

  • Scans all links in the post's content and frontmatter part.
  • Able to use either HTTP HEAD or GET methods. It can use the HTTP HEAD method to speed up the link checking. If it fails, it will double-check with HTTP GET request.
  • No more broken links on your website. Be sure that all links on your website are up to date.

How it works

  1. Once the plugin installed, new check-links console command appears.
  2. Running npx hexo check-links the plugin will scan all posts (and their frontmatter, if it is configured) and extract all links to external resources (http:// and https:// only).
  3. Finally, the plugin checks all links one by one via HTTP GET/HEAD method. If any links are broken (HTTP status code is other than 2xx), the console error will appear 👌.

Requirements

  • Hexo: 5.x
  • Node 12+

Usage

  1. Install the plugin using npm:
$ npm install hexo-broken-links-checker --save-dev
  1. Run the plugin:
$ npx hexo check-links
  1. Drink some tea ☕️ while the plugin checking the links.
  2. See if there are any broken links on the website.

It's useful to integrate the command running into CI workflow.

Configuration

To configure the plugin add broken_links_checker key to the Hexo config file. For example:

broken_links_checker:
    enable: true
    head: true
    frontmatter:
        - links
    exclude:
        - https://website1.com/page1.html
        - https://website2.com/page2.html
    timeout: 1000
    useragent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'
    parallel: 10
    tags:
        a: true
        img: true
        source: true
        iframe: true
        script: true
        link: true
    cache:
        enable: true
        lifetime: 1440
        path: 'link-checker.json'
KeyRequiredDefault valueDescription
enablefalsetrueEnable/disable broken links checking.
headfalsetrueIf set, the plugin will use HTTP HEAD method to check the link. If checking fails, it will fall back to HTTP GET method before reporting that URL is broken. Using HTTP HEAD method usually speed up the checking.
frontmatterfalseemptyKeys in frontmatter that should be scanned in addition to post content.
excludefalseemptyArray of URLs that should be ignored for some reason.
timeoutfalse0Timeout in milliseconds for URL checking. Use 0 if you don't want to use any timeout.
useragentfalsenullUser-Agent header while checking the link.
parallelfalse10Number of checks that could be run in parallel.
tagsfalsetrue to allTags that should be processed on the page (e.g. <a>, <img>, etc).
cache.enablefalsetrueEnable/disable caching results of the checking. If enabled the results of the checking will be stored in the file. The URL checking will be skipped if it was checked already and is not expired.
cache.lifetimefalse1440Time in minutes to expire the URL checking result.
cache.pathfalselink-checker.jsonName of the file where checking results will be stored.
2.1.0

3 years ago

2.0.0

3 years ago

1.5.2

4 years ago

1.5.1

4 years ago

1.5.0

4 years ago

1.4.0

4 years ago

1.3.0

4 years ago

1.2.0

4 years ago

1.1.0

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago