Skip to main content

Simple shortcodes for Python.

Project description

shrtcodes

Build Status

pip install shrtcodes

Simple shortcodes for Python.

Example

Text containing shortcodes.

  • img - a shortcode.
  • details - a paired shortcode.
Foo bar baz.

{% img "https://images.com/cutedog.jpg", "A cute dog!" %}

{% details "Some extra info" %}
This is some extra info.
{% end_details %}

Foo bar baz.

Build your shortcodes:

# shortcodes.py

from shrtcodes.shrtcodes import Shrtcodes

shortcodes = Shrtcodes()

# `img_handler` is a shortcode handler. 
#   * Arguments correspond to the shortcode parameters.  
@shortcodes.register('img')
def img_handler(src, alt):
    return f'<img src="{src}" alt="{alt}"/>'

# `details_handler` is a paired shortcode handler.
#   * Starting arguments correspond to the shortcode parameters.  
#   * Last argument is the contained block.
@shortcodes.register_paired('details')
def details_handler(summary, block):
    return f'<details><summary>{summary}</summary>{block}</details>'

Use your shortcodes:

from shortcodes import shortcodes
text = shortcodes.process('...')

Output:

Foo bar baz.

<img src="https://images.com/cutedog.jpg" alt="A cute dog!"/>

<details><summary>Some extra info</summary>This is some extra info.</details>

Foo bar baz.

Further examples

See the tests.

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

shrtcodes-0.5.0.tar.gz (3.6 kB view hashes)

Uploaded Source

Built Distribution

shrtcodes-0.5.0-py3-none-any.whl (3.6 kB view hashes)

Uploaded Python 3

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