Skip to main content

A Mistune renderer that embeds images into the final document.

Project description

Latest Version Travis CI Status

Overview

This project allows you to translate markdown to HTML and to convert URLs or even local image file-paths to embedded images.

Local file-paths must be specifically enabled, for security reasons.

This project is Python 2 and Python 3 compatible.

Example

Image URLs

Short usage:

import mei

markdown = "![Random Ingenuity](http://www.randomingenuity.com/ri72.png)"
actual = mei.markdown(markdown)

# <p><img src="data:image/png;base64,iVBORw0KGgoAAAANSU...kJggg==" alt="Random Ingenuity"></p>

Long usage:

import mei.embed_images
import mistune

renderer = mei.embed_images.EmbedImagesRenderer()
m = mistune.Markdown(renderer=renderer)

markdown = "![Random Ingenuity](http://www.randomingenuity.com/ri72.png)"
actual = m.render(markdown)

# <p><img src="data:image/png;base64,iVBORw0KGgoAAAANSU...kJggg==" alt="Random Ingenuity"></p>

Local Images

Short usage:

import mei

markdown = "![alt text](/drawable-mdpi/ic_menu_paste.png)"
actual = mei.markdown(markdown)

# <p><img src="data:image/png;base64,iVBORw0KGgoAAAANSU...TkSuQCC" alt="Random Ingenuity"></p>

Long usage:

import mei.embed_images
import mistune

renderer = mei.embed_images.EmbedImagesRenderer(embed_local_images=True)
m = mistune.Markdown(renderer=renderer)

markdown = "![alt text](/drawable-mdpi/ic_menu_paste.png)"
actual = m.render(markdown)

# <p><img src="data:image/png;base64,iVBORw0KGgoAAAANSU...TkSuQCC" alt="Random Ingenuity"></p>

Testing

Just run the test script:

$ ./test.sh
test_embed_images_local (test_embed_images.TestEmbedImages) ... ok
test_embed_images_url (test_embed_images.TestEmbedImages) ... ok
test_get_base64_with_image_filepath (test_embed_images.TestEmbedImages) ... ok
test_get_base64_with_image_url (test_embed_images.TestEmbedImages) ... ok
test_get_embedded_image_filepath (test_embed_images.TestEmbedImages) ... ok
test_get_embedded_image_filepath__xhtml (test_embed_images.TestEmbedImages) ... ok
test_get_embedded_image_url (test_embed_images.TestEmbedImages) ... ok
test_get_embedded_image_url__xhtml (test_embed_images.TestEmbedImages) ... ok
test_get_http2 (test_embed_images.TestEmbedImages) ... ok
test_get_http3 (test_embed_images.TestEmbedImages) ... ok
test_http (test_embed_images.TestEmbedImages) ... ok
test_http__instance_cached (test_embed_images.TestEmbedImages) ... ok
test_markdown (test_embed_images.TestEmbedImages) ... ok

----------------------------------------------------------------------
Ran 13 tests in 0.016s

OK

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

markdown-embedimages-0.1.4.tar.gz (3.9 kB view details)

Uploaded Source

File details

Details for the file markdown-embedimages-0.1.4.tar.gz.

File metadata

File hashes

Hashes for markdown-embedimages-0.1.4.tar.gz
Algorithm Hash digest
SHA256 8b5d6eb8b6232e16d17039219b64c32a34ca13eedf9d036e6ba7663c7ad012b3
MD5 66c7a79110b9cf5971565ca044327233
BLAKE2b-256 837b2d76d87407abb854f1244dccdf1795b559d83eed9e2ef4f34a95be19faae

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