Skip to main content

Markdown extension for embedding tweets

Project description

Markdown extension for embedding tweets using twitter OEmbed API

  • Free software: BSD license

How to use

Allows you to embed tweets into your Markdown.

Just install the package:

pip install mdx-twitter

Because Twitter API 1.1 requires you to authenticate, you will need to create a config file with your credentials at ‘~/.mdx_twitter.cfg’:


Then just add ‘twitter’ to the list of your extensions:

import markdown

md = markdown.Markdown(extensions=['twitter'])

Twitter urls in your Makdown will become embedded tweets:

Django integration

Since Twitter has a rate limit on their APIs, and doing network calls all the time just to render Markdown is a bad idea anyways, we would need some caching.

If you are using mdx-twitter in a Django project, it will automatically use your cache settings to cache HTML returned from Twitter API.

Also, you could place your API credentials in TWITTER_SETTINGS variable in your project’s, instead of using .cfg file

    'CONSUMER_KEY': '',
    'ACCESS_TOKEN': '',

Embedding tweets in UIWebView

There are currently some problems with embedding tweets in UIWebView.

  • Protocol agnostic src attribute “//” doesn’t allow script to load

  • There seems to be a problem with automatically determining width of the container

So there is a ‘width’ configuration option that offers a quick ‘fix’ for those problems. Just specify expected width of your tweet in pixels.

import markdown

md = markdown.Markdown(extensions=['twitter(width=300)'])

It will only work with ‘style’ full.


You can customize appearance of your tweets using ‘style’ configuration options. Default style is ‘full’, which includes script javascript, you could also use ‘simple’ style, which just includes tweet in a blockquote tag without javascript.

Another option would be to specify a path to your own function, which accepts Twitter response json as an argument and should return final html.

An example custom style is included in the library. You can use it by specifying ‘style=mdx_twitter.custom_style’


  • If we embed multiple tweets, we don’t need to have script tag after each tweet. We should probably just have a script tag at the end of the document.


0.1.0 (2013-08-31)

  • First release on PyPI.

Project details

Download files

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

Files for mdx-twitter, version 0.2.6
Filename, size File type Python version Upload date Hashes
Filename, size mdx-twitter-0.2.6.tar.gz (7.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page