wijjit.tags.display.ContentViewExtension

class wijjit.tags.display.ContentViewExtension(environment)[source]

Jinja2 extension for contentview tag.

A unified content display element supporting multiple content types: plain, text, ansi, html, markdown, rich, and code.

Syntax:

{% contentview content_type="markdown" %}
# Hello World
This is **markdown** content.
{% endcontentview %}

{% contentview content_type="code" language="python" %}
def hello()::

    print("Hello!")
{% endcontentview %}

{% contentview content_type="rich" %}
[green]Success![/green] Operation completed.
{% endcontentview %}
Parameters:

environment (Environment)

__init__(environment)
Parameters:

environment (Environment)

Return type:

None

Methods

__init__(environment)

attr(name[, lineno])

Return an attribute node for the current extension.

bind(environment)

Create a copy of this extension bound to another environment.

call_method(name[, args, kwargs, dyn_args, ...])

Call a method of the extension.

filter_stream(stream)

It's passed a TokenStream that can be used to filter tokens returned.

parse(parser)

Parse the contentview tag.

preprocess(source, name[, filename])

This method is called before the actual lexing and can be used to preprocess the source.

Attributes

identifier

priority

the priority of that extension.

tags

if this extension parses this is the list of tags it's listening to.

tags: t.Set[str] = {'contentview'}

if this extension parses this is the list of tags it’s listening to.

parse(parser)[source]

Parse the contentview tag.

Parameters:

parser (jinja2.parser.Parser) – Jinja2 parser

Returns:

Parsed node tree

Return type:

jinja2.nodes.CallBlock

identifier: t.ClassVar[str] = 'wijjit.tags.display.ContentViewExtension'