Skip to main content

Simple shortcodes for Python.

Project description

shrtcodes

example workflow name

pip install shrtcodes

Shortcodes for Python.

Example:

A toy example.

Define our shortcodes:

# example.py
from shrtcodes import Shrtcodes


shortcodes = Shrtcodes()


# {% img src alt %} will create an image.
@shortcodes.register_inline("img")
def handle_img(src: str, alt: str) -> str:
    return f'<img src="{src}" alt="{alt}"/>'


# {% repeat n %}...{% / %} will repeat a block n times.
@shortcodes.register_block("repeat")
def handle_repeat(block: str, n: str) -> str:
    return block * int(n)


# we can call process_text to get the final text.
in_text = "..."
out_text = shortcodes.process_text(in_text)

# or, we can create a CLI.
shortcodes.create_cli()
python example.py --help
usage: example.py [-h] [--check_file CHECK_FILE] in_file

positional arguments:
  in_file               File to be processed

options:
  -h, --help            show this help message and exit
  --check_file CHECK_FILE
                        Checks the output against this file and errors if
                        there is a diff

Write some text:

# example.txt
Hello!

{% img http://cutedogs.com/dog123.jpg "A very cute dog" %}

Foo bar baz...

{% repeat 3 %}
Woop
{% / %}

Bye!

Process the text:

python example.py example.txt
Hello!

<img src="http://cutedogs.com/dog123.jpg" alt="A very cute dog"/>

Foo bar baz...

Woop
Woop
Woop

Bye!

A more useful example would be the generation of this README itself. See make_readme.py and .README.template.md.

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-1.2.0.tar.gz (3.4 kB view details)

Uploaded Source

Built Distribution

shrtcodes-1.2.0-py3-none-any.whl (4.0 kB view details)

Uploaded Python 3

File details

Details for the file shrtcodes-1.2.0.tar.gz.

File metadata

  • Download URL: shrtcodes-1.2.0.tar.gz
  • Upload date:
  • Size: 3.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.6 Darwin/22.6.0

File hashes

Hashes for shrtcodes-1.2.0.tar.gz
Algorithm Hash digest
SHA256 3a7fbf4f4be4ca20dd7165d597b1bec2c4c47d1f555034add29d1e7cbe55f538
MD5 60d866bb39d8507a25115a481ce3e035
BLAKE2b-256 36ae709a568d82268e67815dee3462b3571172db69fad24fef8bbe69287c430b

See more details on using hashes here.

File details

Details for the file shrtcodes-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: shrtcodes-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 4.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.6 Darwin/22.6.0

File hashes

Hashes for shrtcodes-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 941f665cfb1adc16ea8d4e1236c131329df072f3d63652113d3d9145f67c74d5
MD5 46b795d939132397b7e1224e06e7622c
BLAKE2b-256 f43d7fefd4cf56615e13782762d0f5c942fd2d9ebd02b25d7c84d3bf058164c4

See more details on using hashes here.

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