Skip to main content

A python Markdown extension providing Google Maps syntax

Project description

markdown-google-map

Python markdown extension for Google Maps. Should be loaded as an extension to the markdown library.

Installation:

pip install mdx-google-map

Usage:

import markdown

md = markdown.Markdown(extensions=["mdx_google_map"])
md.convert("[map:Central Paris]")

Or if you want to alter the config:

import markdown
from mdx_google_map import GoogleMapExtension

md = markdown.Markdown(extensions=[GoogleMapExtension(...config values...)])
md.convert("[map:Central Paris]")

Markdown syntax:

It's pretty simple:

Hey look at my map!
[map:City of London]

Which will output:

<p>
Hey look at my map!
<iframe allowfullscreen="true" frameborder="0" height="300" src="//www.google.com/maps/embed/v1/place?key=AIzaSyD5DlGo1lo0V2Np7TxfpuNuWbWcr5TV8Sw&amp;q=City+of+London" width="500"></iframe>
</p>

Configuring:

You will need an API Key from Google to use the Maps APIs, once obtained it can be configured as an environment variable:

$ export GOOGLE_API_KEY=MyGoogleAPIKey1234

or simply passed through to the extension as with any other config:

GoogleMapExtension(google_api_key='MyGoogleAPIKey1234')

You can also load the API key by passing a callable that conforms to the same syntax as dict.get('KEY', 'default value'). This is more of an implementation detail, but it is supported if you find the need.

my_dict = {'GOOGLE_API_KEY': 'MyGoogleAPIKey1234'}

GoogleMapExtension(config_getter=my_dict.get)

Explicitly passing the google_api_key config param takes precedence over other methods of setting the API Key.

All other config is optional and detailed below

Config is passed through when loading the extension as with the API Key example above:

GoogleMapExtension(width='500', height='400', ...)

  • width: Sets width of iframe. Default is 500
  • height: Sets height of iframe. Default is 300
  • fluid: If True the iframe will be wrapped in a styled outer div set to 100% width. This will make the iframe expand to full width of the page (or any other container you put it in) fluidly, whilst maintaining the same aspect ratio. Default is False.

Contributing

Pull requests are welcome, though we'd be grateful if you would open an issue to discuss your feature/bugfix first.

To install the development dependencies locally it's: $ pip install -e .[dev]

To run the tests it is just: $ python -m unittest

You'll need to follow PEP8 in addition to the Google Python Style Guide. Sensible deviations from the above will be considered.

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_google_map-1.0.1.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

mdx_google_map-1.0.1-py3-none-any.whl (4.3 kB view details)

Uploaded Python 3

File details

Details for the file mdx_google_map-1.0.1.tar.gz.

File metadata

  • Download URL: mdx_google_map-1.0.1.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.4

File hashes

Hashes for mdx_google_map-1.0.1.tar.gz
Algorithm Hash digest
SHA256 ce41990093b7922c2cc65478cac6801c175462aeddfc00bb7964421b59672847
MD5 d7991a3fead0b87cad8e5d0cb18ccb54
BLAKE2b-256 e0d3dc1e9527eed64a8a0357d97df5ef64890ab97b0c81c1952ba3f7629d3a96

See more details on using hashes here.

File details

Details for the file mdx_google_map-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: mdx_google_map-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 4.3 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.2.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.4

File hashes

Hashes for mdx_google_map-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e5b2d1149c28fb8c24029aaf33375cd99882e981634274ed2b121ca7ec31083b
MD5 6c547882faf6510458a7559e0349b13a
BLAKE2b-256 1066716f30560274cdb2dcba05b4bc85872a1637b549438517b3f435829a09de

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