From fc93a54430b6ddefb97c6fe55ab1ee9b5f384f57 Mon Sep 17 00:00:00 2001 From: S4NKALP Date: Mon, 20 Apr 2026 14:44:04 +0545 Subject: [PATCH] feat(src/djinit/creators): add Tailwind and HTMX toggles to generated settings Add configurable `use_tailwind` and `use_htmx` flags to the Django starter project context, allowing users to optionally include Tailwind CSS and HTMX JavaScript libraries. - New Features: - Introduce `use_tailwind` and `use_htmx` metadata flags in `base_settings_context`. - Propagate these flags to `requirements.txt`, generated `settings.py`, and CI configuration templates. - Enhancements: - Ensure the flags are consistently available across all templated files. - Bug Fixes: None. --- src/djinit/creators/files.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/djinit/creators/files.py b/src/djinit/creators/files.py index 84dcf60..2500cfb 100644 --- a/src/djinit/creators/files.py +++ b/src/djinit/creators/files.py @@ -88,6 +88,10 @@ class FileCreator(BaseService): for name in base_settings_context["app_names"] ] + # Add Tailwind and HTMX to context + base_settings_context["use_tailwind"] = self.metadata.get("use_tailwind", False) + base_settings_context["use_htmx"] = self.metadata.get("use_htmx", False) + for filename, context in [ ("base.py", base_settings_context), ("development.py", dev_context), @@ -134,6 +138,8 @@ class FileCreator(BaseService): context = { "use_database_url": self.metadata.get("use_database_url", True), "database_type": self.metadata.get("database_type", "postgresql"), + "use_tailwind": self.metadata.get("use_tailwind", False), + "use_htmx": self.metadata.get("use_htmx", False), } self._render_and_create_file( "requirements.txt", @@ -413,6 +419,8 @@ class FileCreator(BaseService): "settings": { "use_database_url": self.metadata.get("use_database_url", True), "database_type": self.metadata.get("database_type", "postgresql"), + "use_tailwind": self.metadata.get("use_tailwind", False), + "use_htmx": self.metadata.get("use_htmx", False), }, "cicd": { "github": self.metadata.get("use_github_actions", False),