Skip to main content

Reference implementation of the Tagup Language

Project description

Travis (.org) branch   Codecov branch

tagup

tagup is a Python module which provides a reference implementation of the Tagup Language.

This module currently implements version 1.0.0 of the Tagup Language.

Quick Start

from tagup import BaseRenderer, TagDictMixin


class TagupRenderer(TagDictMixin, BaseRenderer):
    pass


renderer = TagupRenderer(
    # Optional initial markup tags.
    tags={
        'bold': r'<span style="font-weight: bold">[\\1]</span>',
    }
)

# Manipulate tags using dictionary syntax.
renderer['link'] = (
    r'<a href="[\\1]" [\if target\target="_[\\target]"]>'
    r'[bold [\if 2\[\\2]\[\\1]]]'
    r'</a>'
)

html = renderer.render_markup(
    r'Click [link target\\blank\[\\url]\here] to visit [link\[\\url]]',
    # Provide optional named (and positional) arguments.
    named_args={'url': 'http://example.com'}
)
print(html)

Changelog

v0.2.3

  • Added "StaticTagMixin," "TagDictMixin" and "TrimMixin" for "BaseRenderer."
  • Added new errors "ImproperlyConfigured," "NamedArgumentMissing," "PositionalArgumentMissing," "TagNotFound" and "TagupSyntaxError."
  • Renamed "stack_trace" to "tag_stack_trace" for all custom errors.
  • Fixed bug in getitem method of "TagStackTrace."

v0.2.2

  • Added support for global named arguments.
  • Added max tag depth enforcement.
  • Fixed bug that prevented the positional loop from functioning when not provided an optional default value.

v0.2.1

  • Added tag prefetching.

v0.2.0

  • Renamed "Renderer" to "BaseRenderer."
  • Refactored "BaseRenderer" to use method overriding for "get_tag" instead of providing "get_tag_callback" to constructor.
  • Removed "cache_tag_ast_callback" from "BaseRenderer" constructor.
  • Removed "trim_args" from "BaseRenderer" constructor.
  • Added a node pre and post processing hook system.
  • Added test cases.
  • Various internal optimizations.

v0.1.3

  • Fixed bug where the "trim_args" option didn't properly remove leading and trailing whitespace in some situations.

v0.1.2

  • Fixed bug where code called "trim()" rather than "strip()."

v0.1.1

  • Added non-standard option to trim whitespace from arguments before tag evaluation.
  • Fixed bug where whitespace was considered when specifying a name/position for argument substitution.

v0.1.0

  • Initial release.

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

tagup-0.2.3.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

tagup-0.2.3-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file tagup-0.2.3.tar.gz.

File metadata

  • Download URL: tagup-0.2.3.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.8.3 Linux/4.14.182-1-MANJARO

File hashes

Hashes for tagup-0.2.3.tar.gz
Algorithm Hash digest
SHA256 14c1f5d88d3238efb37df49ff461dc5a011913fde180988682b81a80e4f47c76
MD5 c9c36855c9917429d9965d63510abe8d
BLAKE2b-256 411906b4ab8697db1e7c19ebe1685b4ebc78217e85893d10b37712994becab01

See more details on using hashes here.

File details

Details for the file tagup-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: tagup-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.8.3 Linux/4.14.182-1-MANJARO

File hashes

Hashes for tagup-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 fe175133958d7f43d6a4b7195c4cdac1c117e124ebf9d1e6c201fb6272a00d22
MD5 706db4b51dd0a8e9aef6f2d729ce9d7c
BLAKE2b-256 96fbe2a817577a70b389fb037d6cc042d3ac34fb84ee7cc3f59fd772baf56712

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