#github-action #markdown #validation #multi-threading #hyperlink #artifact #logging

app none-shall-pass

Artifact for GitHub Action to validate hyperlinks in all markdown files

9 releases

Uses old Rust 2015

0.1.6 Feb 14, 2024
0.1.5 Feb 14, 2024
0.1.4 Nov 22, 2023
0.0.9 Nov 4, 2023
0.0.1 Oct 31, 2023

#107 in Debugging

Download history 317/week @ 2024-02-13 14/week @ 2024-02-20 17/week @ 2024-02-27 1/week @ 2024-03-05 14/week @ 2024-03-12 20/week @ 2024-03-26 98/week @ 2024-04-02

133 downloads per month

MIT license

3MB
353 lines

Contains (ELF exe/lib, 10MB) asset_none-shall-pass

none-shall-pass-rustic

made-with-rust

build

Artifact for none-shall-pass

Summary

  • none-shall-pass-rustic is an application written in Rust.
  • Validates hyperlinks in markdown files.
  • Accepts inputs provided as command-line arguments.
  • Extracts hyperlinks from Markdown content, validates them concurrently using multithreading, and logs the validation results.
  • Differentiates between local Markdown files and Wiki pages within the repository, expanding its validation scope.
  • Usage via GitHub actions can be found in GitHub Marketplace

Description

  • Clones the GitHub wiki pages
  • Looks up all the *.md files
  • Scans for hyperlinks using regex (inline, footnote, and anchored)
  • Sets exit code to 1, if any of the URL fails to resolve (GET request)
    • Ignores failure when the URL is a localhost
    • More exclusions can be added via commandline argument
  • Takes argument debug (as boolean) to enable debug level logging
  • Takes argument excludeHostnames (as comma separated list) to exclude URLs to have known failures

Crate

https://crates.io/crates/none-shall-pass

Linting

Requirement

rustup component add clippy

Usage

cargo clippy --no-deps --fix --allow-dirty

© Vignesh Rao

Licensed under the MIT License

Dependencies

~6–20MB
~287K SLoC