🐛 FIX: Table edge cases

- Fix tables inside lists indented with tabs  (implements: https://github.com/markdown-it/markdown-it/commit/75fe6e0c76ed3f65948778a09d63d032a86d2da7)
- Table with no columns is no longer a table (implements: https://github.com/markdown-it/markdown-it/commit/b56eeb01d9de5f7250735bd8f99fdb8513087e0c)
2 files changed
tree: 87f35dc821023c5915d746c7932b96d3a379bf34
  1. .github/
  2. benchmarking/
  3. docs/
  4. markdown_it/
  5. tests/
  6. .flake8
  7. .gitignore
  8. .mypy.ini
  9. .pre-commit-config.yaml
  10. .readthedocs.yml
  11. CHANGELOG.md
  12. codecov.yml
  13. docstring.fmt.mustache
  14. LICENSE
  15. LICENSE.markdown-it
  16. MANIFEST.in
  17. README.md
  18. setup.py
  19. tox.ini
README.md

markdown-it-py

Github-CI Coverage Status PyPI Conda Code style: black PyPI - Downloads

Markdown parser done right.

This is a Python port of markdown-it, and some of its associated plugins. For more details see: https://markdown-it-py.readthedocs.io.

For details on markdown-it itself, see:

Installation

conda install -c conda-forge markdown-it-py

or

pip install markdown-it-py

Usage

Python API Usage

Render markdown to HTML with markdown-it-py and a custom configuration with and without plugins and features:

from markdown_it import MarkdownIt
from markdown_it.extensions.front_matter import front_matter_plugin
from markdown_it.extensions.footnote import footnote_plugin

md = (
    MarkdownIt()
    .use(front_matter_plugin)
    .use(footnote_plugin)
    .disable('image')
    .enable('table')
)
text = ("""
---
a: 1
---

a | b
- | -
1 | 2

A footnote [^1]

[^1]: some details
""")
tokens = md.parse(text)
html_text = md.render(text)

Command-line Usage

Render markdown to HTML with markdown-it-py from the command-line:

usage: markdown-it [-h] [-v] [filenames [filenames ...]]

Parse one or more markdown files, convert each to HTML, and print to stdout

positional arguments:
  filenames      specify an optional list of files to convert

optional arguments:
  -h, --help     show this help message and exit
  -v, --version  show program's version number and exit

Interactive:

  $ markdown-it
  markdown-it-py [version 0.0.0] (interactive)
  Type Ctrl-D to complete input, or Ctrl-C to exit.
  >>> # Example
  ... > markdown *input*
  ...
  <h1>Example</h1>
  <blockquote>
  <p>markdown <em>input</em></p>
  </blockquote>

Batch:

  $ markdown-it README.md README.footer.md > index.html

References / Thanks

Big thanks to the authors of markdown-it:

Also John MacFarlane for his work on the CommonMark spec and reference implementations.