Practical CI testing for markdown files
Go to file
Michael Billington caf631b70d update changelog 2017-06-19 20:58:47 +10:00
debian update changelog 2017-06-19 20:58:47 +10:00
tests tests for non-terminated code blocks 2017-06-04 15:39:11 +10:00
.travis.yml remove debian build step 2017-06-12 19:31:34 +10:00
CONTRIBUTING.md update packaging code 2017-06-04 20:44:25 +10:00
LICENSE.md add license file 2017-06-04 14:12:13 +10:00
Makefile remove debian/ packaging info for 1.0 release 2017-06-09 19:58:36 +10:00
README.md update manpage, usage 2017-06-06 16:34:46 +10:00
mdcheckr swap wording "warning" -> "problem found" 2017-06-18 21:22:32 +10:00
mdcheckr.1 update manpage, usage 2017-06-06 16:34:46 +10:00

README.md

mdcheckr Build Status

mdcheckr is a testing tool to detect quality problems with your Markdown documentation. It is designed to act as a quality gate in your continuous integration pipeline.

  • Syntax errors in code blocks - Syntax-check code blocks that identify their language. Currently works for:
  • Code blocks- Detection of un-closed code blocks (example)
  • Broken links- Flag files that link to relative paths or URLs on the internet which can't be accessed (example, example).
  • Broken images- Detect broken embeds, local and remote (example, example).

This tool is not intended to enforce a code style, and will not critique aspects of your Markdown code which do not affect the output.

Dependencies

Requirements:

  • curl
  • xmllint
  • pandoc

Installation

curl https://raw.githubusercontent.com/mike42/mdcheckr/master/mdcheckr -o mdcheckr
chmod +x mdcheckr
sudo cp mdcheckr /usr/local/bin

Usage

mdcheckr [ -h | --help ] [ -v | --version ] FILE ..

Examples

Check a single markdown file:

mdcheckr README.md

Check all the markdown files in the current directory:

find . -name '*.md' -print0 | xargs -0 mdcheckr

Check all the markdown files in your Git repository:

git ls-files | grep '\.md$' | tr '\n' '\0' | xargs -0 mdcheckr