{"repo":"mirkolenz/makejinja","free":true,"listed":false,"github":"https://github.com/mirkolenz/makejinja","clone":"git clone https://github.com/mirkolenz/makejinja.git","description":"Generate directory structures using Jinja templates with external data and custom plugins","language":"Python","stars":111,"topics":["automation","cli","docker","home-assistant","jinja2","nix","python","dashboard","generator","hassio"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"makejinja PyPI Docker Docs Example Jinja reference Generate entire directory structures using Jinja templates with support for external data and custom plugins. --- makejinja can be used to automatically generate files from Jinja templates. It is conceptually similar to Ansible templates since both are built on top of Jinja. However, makejinja is a standalone tool that can be used without Ansible and offers some advanced features like custom plugins. A popular use case is generating config files for Home Assistant: Using the same Jinja language that Home Assistant's built-in templates use, you can greatly simplify your configuration management. makejinja's custom delimiter support prevents conflicts with Home Assistant's own template syntax, while file-specific data loading enables modular dashboard and automation generation. Our comprehensive Home Assistant example demonstrates dashboard generation with custom plugins, multiple data sources, and advanced template organization. Key Features - Multi-Source Data Integration : Load variables from YAML, TOML, and Python files, with support for file-specific data sources and runtime variable injection. - Custom Template Delimiters : Configure Jinja delimiters (e.g., instead of {{ }} ) to avoid conflicts with target file formats like Home Assistant, Kubernetes, or Terraform. - Flexible Directory Processing : Process multiple input directories with complex nested structures, preserving hierarchy while applying powerful template tran","default_branch":null,"files":null,"tree":[],"storefront":"/r/mirkolenz","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/mirkolenz/makejinja/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}