Skip to main content

A markdown link preprocessor for Python Markdown

Project description

Mdx Link2MD: Convert markdown to HTML in batch

PyPI PyPI CircleCI MIT License

This extension for Python Markdown changes md extension in the markdown links to html before links in the text are converted to HTML hyperlinks. For example, the sample text in markdown format,

Please read [help](../read.md)

would be converted to

Please read <a href="../read.html">help</a>

.

This would allow converting markdown files to HTML format in batch, with internal links to markdown files being updated to the corresponding HTML files. It helps most when there are cross references among the markdown documents of interest.

Installation

The project is on PyPI!

$ pip install mdx_link2md

If you want the latest version, which might include unreleased-to-PyPI code, you can always grab the develop branch directly from Git.

$ pip install git+git://github.com/scyu16/mdx_link2md.git

Usage

As A Utility Script

The package can run as a top-level script to convert the multiple markdown files in batch:

$ python -m mdx_link2md <files_to_be_converted>

The converted files are placed in the same directory as the source files with the same names of html extension.

As A Module

If more flexibility is desired, the package could be used as a Python module.

from markdown import markdown
from mdx_link2md.markdownlinks import MarkdownLinkExtension


md = markdown.Markdown(output_format='html5',
                       extensions=[MarkdownLinkExtension(ignore_url=False)])
md.convertFile('input_file', output='output_file', encoding='utf-8')

Please see __main__.py for the source code of the script that makes the module work as a utility, as described in the preceding subsection.

Configuration Settings

The only setting for the extension is ignore_url, with a True default value. When ignore_url is False, markdown links to none local files are also updated:

ignore_url input output
True [help](http://xyz.com/read.mD) <a href="http://xyz.com/read.mD">help</a>
False [help](http://xyz.com/read.mD) <a href="http://xyz.com/read.html">help</a>

Note:

1. If the package is run as a utility script, `ignore_url` is set to `True`.
2. The package is case insensitive to the `md` file extension in either usage.

Development

develop branch holds the latest stable code. Please create branches off develop branch for any changes or enhancement. It's suggested you first create a virtual environment and activate it, then:

$ git clone git@github.com:scyu16/mdx_link2md.git

. For Python 2.x,

$ pip install -r requirements/python2.txt

, while for Python 3.x,

$ pip install -r requirements/python3.txt

With this being done, import mdx_link2md would pick up any local changes made to the package.

TODO

  1. Make it work for links in other forms
  2. Fix circle ci for publishing to PyPi

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

mdx_link2md-0.0.2.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

mdx_link2md-0.0.2-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file mdx_link2md-0.0.2.tar.gz.

File metadata

  • Download URL: mdx_link2md-0.0.2.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.4

File hashes

Hashes for mdx_link2md-0.0.2.tar.gz
Algorithm Hash digest
SHA256 25b9d2080b0792d54136230dbf52dbd06279f6fcf699ad4800b5b865c4bcd288
MD5 e4c9d4ed6aa8faa54c56b0b17bbd1d76
BLAKE2b-256 ce1cd23c32acd6b02e88b303aa90bb6711a1814a1f102a12644ae089c02dfcf8

See more details on using hashes here.

File details

Details for the file mdx_link2md-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: mdx_link2md-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 4.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.4

File hashes

Hashes for mdx_link2md-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 10e624105bc4f4af2369bda7baba0e0822276485395bf95f2c9e6ad1965bc488
MD5 bf0cd079bda64fba7d0ea09aecb35dc6
BLAKE2b-256 943980265902624380e3ccccf0bda9f0997d3a16597bfb21a9cf87dda6997c80

See more details on using hashes here.

Supported by

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