Loaders — Aquilia Documentation
Comprehensive guide and documentation for Loaders in the Aquilia framework. View API reference, examples, and implementation patterns.
Templates / Loaders Template Loaders & Namespaces Loaders manage how template source strings are located and read. The TemplateLoader class resolves template files across multiple project search paths and modules. Namespace Resolution Formats The loader determines the physical path of a template based on the naming syntax used inside controller calls or template directives: , , , ].map((item, i) => ( ))} TemplateLoader Configuration Instantiate TemplateLoader with custom search paths and package mappings: from aquilia.templates import TemplateLoader loader = TemplateLoader( search_paths=["templates", "shared_templates"], package_loaders= , default_module="home" ) Manifest-Aware Loaders The system can auto-discover template folders by scanning project manifests (`module.aq` or `manifest.py`). Enable this using built-in discovery functions: from aquilia.templates.manifest_integration import ( discover_template_directories, create_manifest_aware_loader ) # 1. Discover all "templates" directories relative to current path discovered_dirs = discover_template_directories(scan_manifests=True) # 2. Generate a ready-to-use loader targeting all discovered paths manifest_loader = create_manifest_aware_loader(scan_manifests=True) TemplateManager The TemplateManager compiles template source code into bytecode files and runs automated linter audits to catch bugs prior to deployment: from aquilia.templates import TemplateManager manager = TemplateManager(engine=engine, loader=loader) # 1. Compile all templates to a .surp bytecode archive (Atomic write with HMAC signature) await manager.compile_all(output_path="artifacts/templates.surp") # 2. Run template linter (identifies syntax errors, undefined variables, disallowed filters) issues = await manager.lint_all(strict_undefined=True) for issue in issues: print(issue) # Output format: template.html:line:col: severity: msg [code] # 3. Retrieve a list of all template paths discovered by loader available_templates = loader.list_templates() TemplateEngine Security )
Go to Homepage