Template

Category: Text

Status: Registered and callable in the CyberChef 11.3.0 compatibility inventory.

Input / output: JSON → string

Background: https://handlebarsjs.com/

What it does

Render a template with Handlebars/Mustache substituting variables using JSON input. Templates will be rendered to plain-text only, to prevent XSS.

Note

Status here means the operation name is implemented and callable. It does not by itself promise byte-for-byte parity for every upstream option. See Compatibility and current status for the verified scope and known boundaries.

Warning

The pure-Python renderer supports variables, raw variables, each/if/unless blocks, parent and root paths, and inline partials; arbitrary Handlebars helpers are not available.

Arguments and options

Arguments are positional. Keep their order when using bake() or Pipeline.then().

Index

Name

UI type

PyChef default

Accepted values / format

0

Template definition (.handlebars)

text

''

''

Recipe template

Important

This is a call template built from the documented defaults. Replace placeholder values such as empty keys, paths, patterns, or lookup data before running it.

from pychef import bake

input_value = "example"
args = ['']
result = bake(input_value, [{"op": 'Template', "args": args}])
print(result)

Pipeline example

from pychef import Pipeline

args = ['']
transform = Pipeline().then('Template', *args)
result = transform("example")

Dedicated operation module

The registered entry point lives in pychef.operations.by_operation.template. Direct calls receive the input value and a positional argument tuple:

from pychef.operations.by_operation.template import run

result = run("example", tuple(['']))
pychef.operations.by_operation.template.run(value, args)

Run this operation using its shared internal implementation.

Parameters:
  • value (str | bytes)

  • args (Sequence[Any])

Return type:

str | bytes