Skip to main content

Markdown extension for Sphinx

Project description

sphinx-mdinclude

Sphinx extension for including or writing pages in Markdown format.

version documentation changelog license

sphinx-mdinclude is a simple Sphinx extension that enables including Markdown documents from within reStructuredText. It provides the .. mdinclude:: directive, and automatically converts the content of Markdown documents to reStructuredText format.

sphinx-mdinclude is a fork of m2r and m2r2, focused only on providing a Sphinx extension.

Features

  • Basic markdown and some extensions (see below)
    • inline/block-level raw html
    • fenced-code block
    • tables
    • footnotes ([^1])
  • Inline- and Block-level rst markups
    • single- and multi-line directives (.. directive::)
    • inline-roles (:code:`print(1)` ...)
    • ref-link (see `ref`_)
    • footnotes ([#fn]_)
    • math extension inspired by recommonmark
  • Sphinx extension
    • add markdown support for sphinx
    • mdinclude directive to include markdown from md or rst files
    • option to parse relative links into ref and doc directives (m2r_parse_relative_links)
    • option to render mermaid blocks as graphs with sphinxcontrib.mermaid (m2r_use_mermaid, default: auto)
      • auto means that m2r2 will check if sphinxcontrib.mermaid has been added to the extensions list

Restrictions

  • In the rst's directives, markdown is not available. Please write in rst.
  • Column alignment of tables is not supported. (rst does not support this feature)
  • Heading with overline-and-underline is not supported.
    • Heading with underline is OK
  • Rst heading marks are currently hard-coded and unchangeable.
    • H1: =, H2: -, H3: ^, H4: ~, H5: ", H6: #

Installation

Python 3.6 or newer is required.

pip install sphinx-mdinclude

Usage

In your Sphinx conf.py, add the following lines:

extensions = [
    ...,
    'sphinx_mdinclude',
]

Markdown files with the .md extension will be loaded and used by Sphinx, similar to any other .rst files.

To include Markdown files within other files, use the .. mdinclude:: <filename> directive. This applies the conversion from Markdown to reStructuredText format.

License

sphinx-mdinclude is copyright Hiroyuki Takagi, CrossNox, and John Reese, and licensed under the MIT license. I am providing code in this repository to you under an open source license. This is my personal repository; the license you receive to my code is from me and not from my employer. See the LICENSE file for details.

Project details


Download files

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

Source Distribution

sphinx_mdinclude-0.4.0b1.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

sphinx_mdinclude-0.4.0b1-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

Details for the file sphinx_mdinclude-0.4.0b1.tar.gz.

File metadata

  • Download URL: sphinx_mdinclude-0.4.0b1.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.26.0

File hashes

Hashes for sphinx_mdinclude-0.4.0b1.tar.gz
Algorithm Hash digest
SHA256 8918ecee15cdc992f226743ee6a4d6c64da194315fddaaa169d1c9f07d07590c
MD5 dfce13e4725e36f54bd08078afaad1d6
BLAKE2b-256 90f0fa91d2022e07e5f07d477b25f1397caa9010627b85897b83943e60027bb9

See more details on using hashes here.

File details

Details for the file sphinx_mdinclude-0.4.0b1-py3-none-any.whl.

File metadata

File hashes

Hashes for sphinx_mdinclude-0.4.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 9fd84f48db5bae6c54d04154ce8b65904a6318a95e8444031d66a9b385cf960d
MD5 a2513c80c34305dedfae1b8cf03a4d01
BLAKE2b-256 e42e1d4176bdcc5efddd36de4563c1e40657262f02db2eb4fcdeaa4450551faa

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page