module

Templates

Class methods

ensure_shortcodes

Ensure all baked-in shortcodes exist in the shortcodes/ directory If any are missing, extract them from the baked filesystem

ensure_theme

Ensure all baked-in theme files exist in the themes/default/ directory If any are missing, extract them from the baked filesystem

environment

Get the thread/fiber-local Crinja environment

find_includes_recursive(node : Crinja::AST::NodeList, current_template : String) : Array(String)

Recursively traverse the AST to find all {% include %} tags current_template is used to skip self-references (templates that include themselves)

get_deps(template)
load_templates

Load templates from theme directory and put them in the k/v store

Nested types