Skip to main content

Lints Python code blocks in Markdown files using flake8

Project description

Flake8 Markdown

PyPI PyPI PyPI TravisCI

Flake8 Markdown lints GitHub-style Python code blocks in Markdown files using flake8.

This package helps improve a Python project's documentation by ensuring that code samples are error-free.

Features

  • Lints code blocks containing regular Python and Python interpreter code (pycon)
  • pre-commit hook to lint on commit

Installation

Flake8 Markdown can be installed from PyPI using pip or your package manager of choice:

pip install flake8-markdown

Usage

CLI

You can use Flake8 Markdown as a CLI tool using the flake8-markdown command.

flake8-markdown accepts one or more globs as its arguments.

Example:

$ flake8-markdown flake8-markdown "tests/samples/*.md"
tests/samples/emphasized_lines.md:6:1: F821 undefined name 'emphasized_imaginary_function'
tests/samples/basic.md:8:48: E999 SyntaxError: EOL while scanning string literal
tests/samples/basic.md:14:7: F821 undefined name 'undefined_variable'

pre-commit hook

You can also add flake8-markdown to your project using pre-commit. When configured, any staged Markdown files will be linted using flake8-markdown once you run git commit.

To enable this hook in your local repository, add the following repo to your .pre-commit-config.yaml file:

# .pre-commit-config.yaml
repos:
  - repo: https://github.com/johnfraney/flake8-markdown
    rev: v0.2.0
    hooks:
      - id: flake8-markdown

Code of Conduct

Everyone interacting in the project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the PyPA Code of Conduct.

History

[0.2.0] - 2019-06-14

Added

  • pycon code block support

[0.1.1] - 2019-05-19

Changed

  • Fixed pre-commit example in README

[0.1.0] - 2019-05-19

Added

  • Added code for initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for flake8-markdown, version 0.2.0
Filename, size File type Python version Upload date Hashes
Filename, size flake8_markdown-0.2.0-py3-none-any.whl (6.3 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size flake8-markdown-0.2.0.tar.gz (5.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page