Skip to content

A template for creating an mdformat parser extension plugin

License

Notifications You must be signed in to change notification settings

executablebooks/mdformat-plugin

Repository files navigation

mdformat-plugin

Build Status codecov.io PyPI version

An mdformat plugin for...

Required changes for a new plugin

This demonstration is setup with a plugin named plugin. There are a number of locations to change. At a top level for a plugin foo at least the following changes are required

  • Global find and replace mdformat_plugin to mdformat_foo including folder names.
  • Global find and replace mdformat-plugin to mdformat-foo including folder names.
  • tests/test_fixtures.py: output = mdformat.text(text, extensions={"plugin"}) becomes output = mdformat.text(text, extensions={"foo"})
  • pyproject.toml in addition to the global find and replace: plugin = "mdformat_plugin" becomes foo = "mdformat_foo"

Do not forget to update authorship / maintainers in pyproject.toml as well.

Development

This package utilises flit as the build engine, and tox for test automation.

To install these development dependencies:

pip install tox

To run the tests:

tox

and with test coverage:

tox -e py37-cov

The easiest way to write tests, is to edit tests/fixtures.md

To run the code formatting and style checks:

tox -e py37-pre-commit

or directly

pip install pre-commit
pre-commit run --all

To run the pre-commit hook test:

tox -e py37-hook

Publish to PyPi

Either use flit directly:

pip install flit
flit publish

or trigger the GitHub Action job, by creating a release with a tag equal to the version, e.g. v0.0.1.

Note, this requires generating an API key on PyPi and adding it to the repository Settings/Secrets, under the name PYPI_KEY.

About

A template for creating an mdformat parser extension plugin

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Contributors 4

  •  
  •  
  •  
  •  

Languages