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.
{% enddetails %}

Foo bar baz.

Build a process function:

# shortcodes.py

from shrtcodes.shrtcodes import make_process

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

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

# Call `make_process` with: 
#   * A dict of shortcode handlers.
#   * A dict of paired shortcode handlers.
process = make_process({
    'img': img_handler
}, {
    'details': details_handler
})

Use your process function:

from shortcodes import process
text = 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.2.1.tar.gz (3.2 kB view hashes)

Uploaded Source

Built Distribution

shrtcodes-0.2.1-py3-none-any.whl (3.2 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