Reference implementation of the Tagup Language
Project description
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)
Built Distribution
tagup-0.2.3-py3-none-any.whl
(8.7 kB
view details)
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14c1f5d88d3238efb37df49ff461dc5a011913fde180988682b81a80e4f47c76 |
|
MD5 | c9c36855c9917429d9965d63510abe8d |
|
BLAKE2b-256 | 411906b4ab8697db1e7c19ebe1685b4ebc78217e85893d10b37712994becab01 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe175133958d7f43d6a4b7195c4cdac1c117e124ebf9d1e6c201fb6272a00d22 |
|
MD5 | 706db4b51dd0a8e9aef6f2d729ce9d7c |
|
BLAKE2b-256 | 96fbe2a817577a70b389fb037d6cc042d3ac34fb84ee7cc3f59fd772baf56712 |