diff --git a/pkgs/development/python-modules/cssbeautifier/default.nix b/pkgs/development/python-modules/cssbeautifier/default.nix new file mode 100644 index 000000000000..390c459242ae --- /dev/null +++ b/pkgs/development/python-modules/cssbeautifier/default.nix @@ -0,0 +1,35 @@ +{ lib +, buildPythonPackage +, fetchPypi +, setuptools +, jsbeautifier +}: + +buildPythonPackage rec { + pname = "cssbeautifier"; + version = "1.14.9"; + format = "pyproject"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-LaQyRy9oFw64VK/5exaiRyH1CQ7javLjEZlZConn9x8="; + }; + + nativeBuildInputs = [ + setuptools + ]; + + propagatedBuildInputs = [ jsbeautifier ]; + + # has no tests + doCheck = false; + + pythonImportsCheck = [ "cssbeautifier" ]; + + meta = with lib; { + description = "CSS unobfuscator and beautifier"; + homepage = "https://pypi.org/project/cssbeautifier/"; + license = licenses.mit; + maintainers = with maintainers; [ traxys ]; + }; +} diff --git a/pkgs/development/python-modules/html-tag-names/default.nix b/pkgs/development/python-modules/html-tag-names/default.nix new file mode 100644 index 000000000000..543ef8686dc9 --- /dev/null +++ b/pkgs/development/python-modules/html-tag-names/default.nix @@ -0,0 +1,34 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, poetry-core +}: + +buildPythonPackage rec { + pname = "html-tag-names"; + version = "0.1.2"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "Riverside-Healthcare"; + repo = "html-tag-names"; + rev = version; + hash = "sha256-2YywP4/0yocejuJwanC5g9BR7mcy5C+zMhCjNZ9FRH4="; + }; + + nativeBuildInputs = [ + poetry-core + ]; + + # has no tests + doCheck = false; + + pythonImportsCheck = [ "HtmlTagNames" ]; + + meta = with lib; { + description = "List of known HTML tags"; + homepage = "https://github.com/Riverside-Healthcare/html-tag-names"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ traxys ]; + }; +} diff --git a/pkgs/development/python-modules/html-void-elements/default.nix b/pkgs/development/python-modules/html-void-elements/default.nix new file mode 100644 index 000000000000..bef3d9208026 --- /dev/null +++ b/pkgs/development/python-modules/html-void-elements/default.nix @@ -0,0 +1,34 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, poetry-core +}: + +buildPythonPackage rec { + pname = "html-void-elements"; + version = "0.1.0"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "Riverside-Healthcare"; + repo = "html-void-elements"; + rev = version; + hash = "sha256-Q5OEczTdgCCyoOsKv3MKRE3w4t/qyPG4YKbF19jlC88="; + }; + + nativeBuildInputs = [ + poetry-core + ]; + + # has no tests + doCheck = false; + + pythonImportsCheck = [ "HtmlVoidElements" ]; + + meta = with lib; { + description = "List of HTML void tag names"; + homepage = "https://github.com/Riverside-Healthcare/html-void-elements"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ traxys ]; + }; +} diff --git a/pkgs/development/tools/djlint/default.nix b/pkgs/development/tools/djlint/default.nix new file mode 100644 index 000000000000..ba3e5606d095 --- /dev/null +++ b/pkgs/development/tools/djlint/default.nix @@ -0,0 +1,45 @@ +{ lib +, python3 +, fetchFromGitHub +}: + +python3.pkgs.buildPythonApplication rec { + pname = "djlint"; + version = "1.32.1"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "Riverside-Healthcare"; + repo = "djlint"; + rev = "v${version}"; + hash = "sha256-///ZEkVohioloBJn6kxpEK5wmCzMp9ZYeAH1mONOA0E="; + }; + + nativeBuildInputs = [ + python3.pkgs.poetry-core + ]; + + propagatedBuildInputs = with python3.pkgs; [ + click + colorama + cssbeautifier + html-tag-names + html-void-elements + jsbeautifier + json5 + pathspec + pyyaml + regex + tomli + tqdm + ]; + + pythonImportsCheck = [ "djlint" ]; + + meta = with lib; { + description = "HTML Template Linter and Formatter. Django - Jinja - Nunjucks - Handlebars - GoLang"; + homepage = "https://github.com/Riverside-Healthcare/djlint"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ traxys ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 79f9fd3b51c1..eb2c97d720fb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17363,6 +17363,8 @@ with pkgs; devspace = callPackage ../development/tools/misc/devspace { }; + djlint = callPackage ../development/tools/djlint { }; + leptosfmt = callPackage ../development/tools/rust/leptosfmt { }; maturin = callPackage ../development/tools/rust/maturin { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 2b007f59c5d6..df54f262c346 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2339,6 +2339,8 @@ self: super: with self; { csrmesh = callPackage ../development/python-modules/csrmesh { }; + cssbeautifier = callPackage ../development/python-modules/cssbeautifier { }; + csscompressor = callPackage ../development/python-modules/csscompressor { }; cssmin = callPackage ../development/python-modules/cssmin { }; @@ -4952,8 +4954,12 @@ self: super: with self; { html-sanitizer = callPackage ../development/python-modules/html-sanitizer { }; + html-tag-names = callPackage ../development/python-modules/html-tag-names { }; + html-text = callPackage ../development/python-modules/html-text { }; + html-void-elements = callPackage ../development/python-modules/html-void-elements { }; + htseq = callPackage ../development/python-modules/htseq { }; httmock = callPackage ../development/python-modules/httmock { };