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