Practical CI testing for markdown files
Go to file
decanus b0e66095aa
added a todo
2020-01-31 17:21:11 +01:00
tests Fixed heading error in test 07 2018-08-26 16:58:22 +02: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 Updated Readme for Mac OS Install Instructionss 2019-01-30 10:15:37 +11:00
mdcheckr added a todo 2020-01-31 17:21:11 +01: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

Operating systems

Ubuntu

These may be installed from the mike42/mdcheckr PPA (Notes for Travis CI users: Installing Dependencies)

sudo add-apt-repository -y ppa:mike42/mdcheckr
sudo apt-get update
sudo apt-get -y install mdcheckr

Debian

Fetch the Debian package from releases.

sudo dpkg -i mdcheckr_x.y-z_all.deb
sudo apt-get -f install

Redhat-based distrbutions

Fetch the RPM package from releases.

yum -y install epel-release
yum -y install which pandoc libxml2 mdcheckr-x.y-z.noarch.rpm
ln -s /usr/bin/mktemp /usr/bin/tempfile

This package should be considered a preview only, and is currently being produced with Alien.

Apple Mac OS distributions

You will still need to follow "install from source" instructions. However you need to ensure the dependency of Pandadoc is installed on your mac. Pleasse ensure you have homebrew installed first.

brew update
brew install pandoc
curl https://raw.githubusercontent.com/mike42/mdcheckr/master/mdcheckr -o mdcheckr
chmod +x mdcheckr
sudo mv mdcheckr /usr/local/bin

Install from source

If the dependencies are available on your system, just copy the shell script itself to /usr/local/bin:

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