diff --git a/docs/package-lock.json b/docs/package-lock.json index a89800e..a2af932 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -1,12 +1,12 @@ { "name": "djlint_docs", - "version": "1.0.19", + "version": "1.0.20", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "djlint_docs", - "version": "1.0.19", + "version": "1.0.20", "license": "AGPL-3.0-or-later", "dependencies": { "@creativebulma/bulma-divider": "^1.1.0", @@ -25,7 +25,7 @@ "@11ty/eleventy-img": "2.0.0", "@11ty/eleventy-plugin-syntaxhighlight": "4.0.0", "@fontsource/inter": "4.5.7", - "@fortawesome/fontawesome-free": "^6.1.1", + "@fortawesome/fontawesome-free": "6.1.1", "@fullhuman/postcss-purgecss": "4.1.3", "@toycode/markdown-it-class": "1.2.4", "algoliasearch": "4.13.0", diff --git a/docs/package.json b/docs/package.json index 7051d00..47b5758 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,6 +1,6 @@ { "name": "djlint_docs", - "version": "1.0.19", + "version": "1.0.20", "description": "", "main": "index.js", "scripts": { @@ -29,7 +29,7 @@ "@11ty/eleventy-img": "2.0.0", "@11ty/eleventy-plugin-syntaxhighlight": "4.0.0", "@fontsource/inter": "4.5.7", - "@fortawesome/fontawesome-free": "^6.1.1", + "@fortawesome/fontawesome-free": "6.1.1", "@fullhuman/postcss-purgecss": "4.1.3", "@toycode/markdown-it-class": "1.2.4", "algoliasearch": "4.13.0", diff --git a/package-lock.json b/package-lock.json index 29ea049..5c499c2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "djlint", - "version": "1.4.0", + "version": "1.7.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "djlint", - "version": "1.4.0", + "version": "1.7.0", "hasInstallScript": true, "license": "GPL-3.0-or-later", "dependencies": { @@ -10310,9 +10310,9 @@ } }, "node_modules/terser": { - "version": "5.14.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.1.tgz", - "integrity": "sha512-+ahUAE+iheqBTDxXhTisdA8hgvbEG1hHOQ9xmNjeUJSoi6DU/gMrKNcfZjHkyY6Alnuyc+ikYJaxxfHkT3+WuQ==", + "version": "5.14.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", + "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", "dev": true, "peer": true, "dependencies": { @@ -19885,9 +19885,9 @@ } }, "terser": { - "version": "5.14.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.1.tgz", - "integrity": "sha512-+ahUAE+iheqBTDxXhTisdA8hgvbEG1hHOQ9xmNjeUJSoi6DU/gMrKNcfZjHkyY6Alnuyc+ikYJaxxfHkT3+WuQ==", + "version": "5.14.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", + "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", "dev": true, "peer": true, "requires": { diff --git a/src/djlint/formatter/condense.py b/src/djlint/formatter/condense.py index eb47775..ebd165a 100644 --- a/src/djlint/formatter/condense.py +++ b/src/djlint/formatter/condense.py @@ -94,7 +94,7 @@ def condense_html(html: str, config: Config) -> str: for tag in [x.strip() for x in config.blank_line_after_tag.split(",")]: html = re.sub( re.compile( - rf"((?:{{%\s*?{tag}\b[^}}]+?%}}\n?)+)", + rf"((?:{{%\s*?{tag}\b[^}}]+?%}}\n?)+)(?=[^\n])", re.IGNORECASE | re.MULTILINE | re.DOTALL, ), func, diff --git a/tests/test_config/test_blank_lines_after_tag/html_eight.html b/tests/test_config/test_blank_lines_after_tag/html_eight.html new file mode 100644 index 0000000..fe01ca0 --- /dev/null +++ b/tests/test_config/test_blank_lines_after_tag/html_eight.html @@ -0,0 +1,3 @@ +{% extends nothing %} + +
diff --git a/tests/test_config/test_blank_lines_after_tag/test_config.py b/tests/test_config/test_blank_lines_after_tag/test_config.py index bc1ba85..c5409e1 100644 --- a/tests/test_config/test_blank_lines_after_tag/test_config.py +++ b/tests/test_config/test_blank_lines_after_tag/test_config.py @@ -2,7 +2,7 @@ run:: - pytest tests/test_config.py --cov=src/djlint --cov-branch \ + pytest tests/test_config/test_blank_lines_after_tag/test_config.py --cov=src/djlint --cov-branch \ --cov-report xml:coverage.xml --cov-report term-missing for a single test, run:: @@ -94,3 +94,14 @@ def test_blank_lines_after_tag(runner: CliRunner) -> None: ["tests/test_config/test_blank_lines_after_tag/html_seven.html", "--check"], ) assert result.exit_code == 0 + + # check that multiple blank lines are not added + result = runner.invoke( + djlint, + [ + "tests/test_config/test_blank_lines_after_tag/html_eight.html", + "--preserve-blank-lines", + "--check", + ], + ) + assert result.exit_code == 0