djlint 1.30.0 → 1.30.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. package/package.json +3 -2
  2. package/.coveragerc +0 -9
  3. package/.editorconfig +0 -21
  4. package/.flake8 +0 -0
  5. package/.github/FUNDING.yml +0 -2
  6. package/.github/ISSUE_TEMPLATE/config.yml +0 -6
  7. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -19
  8. package/.github/ISSUE_TEMPLATE/formatter_but_report.md +0 -30
  9. package/.github/ISSUE_TEMPLATE/linter_bug_report.md +0 -34
  10. package/.github/ISSUE_TEMPLATE/translation.md +0 -14
  11. package/.github/config.yml +0 -4
  12. package/.github/pull_request_template.md +0 -10
  13. package/.github/workflows/cancel.yml +0 -17
  14. package/.github/workflows/demo.yml +0 -98
  15. package/.github/workflows/issues.yml +0 -23
  16. package/.github/workflows/linkcheck.yaml +0 -21
  17. package/.github/workflows/lint.yml +0 -25
  18. package/.github/workflows/release.yml +0 -57
  19. package/.github/workflows/test.yml +0 -85
  20. package/.pre-commit-config.yaml +0 -45
  21. package/.pre-commit-hooks.yaml +0 -71
  22. package/.prettierignore +0 -7
  23. package/.prettierrc +0 -11
  24. package/.releaserc +0 -16
  25. package/CHANGELOG.md +0 -13
  26. package/MANIFEST.in +0 -2
  27. package/build_demo.sh +0 -17
  28. package/docs/.eleventy.js +0 -425
  29. package/docs/.eleventyignore +0 -2
  30. package/docs/.prettierignore +0 -3
  31. package/docs/.prettierrc +0 -11
  32. package/docs/package.json +0 -73
  33. package/docs/readme.md +0 -17
  34. package/docs/src/_data/configuration.json +0 -646
  35. package/docs/src/_data/eleventyComputed.js +0 -22
  36. package/docs/src/_data/i18n/index.js +0 -159
  37. package/docs/src/_data/js.js +0 -7
  38. package/docs/src/_data/locales.js +0 -17
  39. package/docs/src/_data/site.json +0 -8
  40. package/docs/src/_includes/demo.njk +0 -157
  41. package/docs/src/_includes/docs_layout.njk +0 -34
  42. package/docs/src/_includes/foot.njk +0 -26
  43. package/docs/src/_includes/index.njk +0 -187
  44. package/docs/src/_includes/languages_layout.njk +0 -11
  45. package/docs/src/_includes/layout.njk +0 -111
  46. package/docs/src/_includes/nav.njk +0 -85
  47. package/docs/src/_utils/minify-html.js +0 -14
  48. package/docs/src/_utils/rollupper.js +0 -91
  49. package/docs/src/_utils/scripts.11ty.js +0 -27
  50. package/docs/src/demo.njk +0 -4
  51. package/docs/src/docs/best-practices.md +0 -78
  52. package/docs/src/docs/changelog.md +0 -452
  53. package/docs/src/docs/configuration.md +0 -145
  54. package/docs/src/docs/docs.json +0 -4
  55. package/docs/src/docs/formatter.md +0 -82
  56. package/docs/src/docs/getting-started.md +0 -126
  57. package/docs/src/docs/ignoring-code.md +0 -75
  58. package/docs/src/docs/integrations.md +0 -120
  59. package/docs/src/docs/languages/angular.md +0 -31
  60. package/docs/src/docs/languages/django.md +0 -40
  61. package/docs/src/docs/languages/golang.md +0 -31
  62. package/docs/src/docs/languages/handlebars.md +0 -31
  63. package/docs/src/docs/languages/jinja.md +0 -39
  64. package/docs/src/docs/languages/languages.json +0 -3
  65. package/docs/src/docs/languages/mustache.md +0 -31
  66. package/docs/src/docs/languages/nunjucks.md +0 -39
  67. package/docs/src/docs/languages/twig.md +0 -41
  68. package/docs/src/docs/linter.md +0 -199
  69. package/docs/src/fr/demo.njk +0 -4
  70. package/docs/src/fr/docs/best-practices.md +0 -78
  71. package/docs/src/fr/docs/changelog.md +0 -452
  72. package/docs/src/fr/docs/configuration.md +0 -144
  73. package/docs/src/fr/docs/docs.json +0 -3
  74. package/docs/src/fr/docs/formatter.md +0 -83
  75. package/docs/src/fr/docs/getting-started.md +0 -127
  76. package/docs/src/fr/docs/ignoring-code.md +0 -75
  77. package/docs/src/fr/docs/integrations.md +0 -100
  78. package/docs/src/fr/docs/languages/angular.md +0 -31
  79. package/docs/src/fr/docs/languages/django.md +0 -31
  80. package/docs/src/fr/docs/languages/golang.md +0 -31
  81. package/docs/src/fr/docs/languages/handlebars.md +0 -31
  82. package/docs/src/fr/docs/languages/jinja.md +0 -31
  83. package/docs/src/fr/docs/languages/languages.json +0 -3
  84. package/docs/src/fr/docs/languages/mustache.md +0 -31
  85. package/docs/src/fr/docs/languages/nunjucks.md +0 -31
  86. package/docs/src/fr/docs/languages/twig.md +0 -31
  87. package/docs/src/fr/docs/linter.md +0 -207
  88. package/docs/src/fr/fr.json +0 -4
  89. package/docs/src/fr/index.njk +0 -4
  90. package/docs/src/index.njk +0 -4
  91. package/docs/src/lib/generate-content-hash.js +0 -13
  92. package/docs/src/robots.txt +0 -4
  93. package/docs/src/ru/demo.njk +0 -4
  94. package/docs/src/ru/docs/best-practices.md +0 -78
  95. package/docs/src/ru/docs/changelog.md +0 -453
  96. package/docs/src/ru/docs/configuration.md +0 -142
  97. package/docs/src/ru/docs/docs.json +0 -3
  98. package/docs/src/ru/docs/formatter.md +0 -82
  99. package/docs/src/ru/docs/getting-started.md +0 -127
  100. package/docs/src/ru/docs/ignoring-code.md +0 -75
  101. package/docs/src/ru/docs/integrations.md +0 -100
  102. package/docs/src/ru/docs/languages/angular.md +0 -31
  103. package/docs/src/ru/docs/languages/django.md +0 -31
  104. package/docs/src/ru/docs/languages/golang.md +0 -31
  105. package/docs/src/ru/docs/languages/handlebars.md +0 -31
  106. package/docs/src/ru/docs/languages/jinja.md +0 -31
  107. package/docs/src/ru/docs/languages/languages.json +0 -3
  108. package/docs/src/ru/docs/languages/mustache.md +0 -31
  109. package/docs/src/ru/docs/languages/nunjucks.md +0 -31
  110. package/docs/src/ru/docs/languages/twig.md +0 -31
  111. package/docs/src/ru/docs/linter.md +0 -126
  112. package/docs/src/ru/index.njk +0 -4
  113. package/docs/src/ru/ru.json +0 -4
  114. package/docs/src/sitemap.njk +0 -16
  115. package/docs/src/static/css/site.scss +0 -467
  116. package/docs/src/static/font/fontawesome/stylesheet.scss +0 -78
  117. package/docs/src/static/img/apple-touch-icon.png +0 -0
  118. package/docs/src/static/img/demo-min.gif +0 -0
  119. package/docs/src/static/img/demo.gif +0 -0
  120. package/docs/src/static/img/demo.webm +0 -0
  121. package/docs/src/static/img/favicon-16x16.png +0 -0
  122. package/docs/src/static/img/favicon-32x32.png +0 -0
  123. package/docs/src/static/img/favicon.ico +0 -0
  124. package/docs/src/static/img/icon-square.indd +0 -0
  125. package/docs/src/static/img/icon-square.png +0 -0
  126. package/docs/src/static/img/icon.png +0 -0
  127. package/docs/src/static/img/logo-192x192.png +0 -0
  128. package/docs/src/static/img/logo-512x512.png +0 -0
  129. package/docs/src/static/img/logos/angular.png +0 -0
  130. package/docs/src/static/img/logos/django.png +0 -0
  131. package/docs/src/static/img/logos/golang.png +0 -0
  132. package/docs/src/static/img/logos/handlebars.png +0 -0
  133. package/docs/src/static/img/logos/jinja.png +0 -0
  134. package/docs/src/static/img/logos/mustache.png +0 -0
  135. package/docs/src/static/img/logos/nunjucks.png +0 -0
  136. package/docs/src/static/img/logos/twig.png +0 -0
  137. package/docs/src/static/img/old_demo.gif +0 -0
  138. package/docs/src/static/img/style.css +0 -122
  139. package/docs/src/static/js/animate.js +0 -69
  140. package/docs/src/static/js/editor.js +0 -171
  141. package/docs/src/static/js/hamburger.js +0 -19
  142. package/docs/src/static/js/modal.js +0 -47
  143. package/docs/src/static/js/worker.js +0 -142
  144. package/docs/src/static/py/EditorConfig-99-py3-none-any.whl +0 -0
  145. package/docs/src/static/py/PyYAML-99-py3-none-any.whl +0 -0
  146. package/docs/src/static/py/click-99-py3-none-any.whl +0 -0
  147. package/docs/src/static/py/colorama-99-py3-none-any.whl +0 -0
  148. package/docs/src/static/py/cssbeautifier-99-py3-none-any.whl +0 -0
  149. package/docs/src/static/py/djlint-99-py3-none-any.whl +0 -0
  150. package/docs/src/static/py/html_tag_names-99-py3-none-any.whl +0 -0
  151. package/docs/src/static/py/html_void_elements-99-py3-none-any.whl +0 -0
  152. package/docs/src/static/py/jsbeautifier-99-py3-none-any.whl +0 -0
  153. package/docs/src/static/py/json5-99-py3-none-any.whl +0 -0
  154. package/docs/src/static/py/pathspec-99-py3-none-any.whl +0 -0
  155. package/docs/src/static/py/regex-2023.5.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl +0 -0
  156. package/docs/src/static/py/six-1.16.0-py2.py3-none-any.whl +0 -0
  157. package/docs/src/static/py/tomli-2.0.1-py3-none-any.whl +0 -0
  158. package/docs/src/static/py/tqdm-4.65.0-py3-none-any.whl +0 -0
  159. package/icon.xcf +0 -0
  160. package/poetry.lock +0 -835
  161. package/pyproject.toml +0 -100
  162. package/renovate.json +0 -44
  163. package/scripts/updateVersion.js +0 -16
  164. package/src/djlint/__init__.py +0 -451
  165. package/src/djlint/__main__.py +0 -4
  166. package/src/djlint/formatter/__init__.py +0 -1
  167. package/src/djlint/formatter/attributes.py +0 -212
  168. package/src/djlint/formatter/compress.py +0 -64
  169. package/src/djlint/formatter/condense.py +0 -221
  170. package/src/djlint/formatter/css.py +0 -60
  171. package/src/djlint/formatter/expand.py +0 -111
  172. package/src/djlint/formatter/indent.py +0 -418
  173. package/src/djlint/formatter/js.py +0 -58
  174. package/src/djlint/helpers.py +0 -321
  175. package/src/djlint/lint.py +0 -128
  176. package/src/djlint/output.py +0 -220
  177. package/src/djlint/reformat.py +0 -63
  178. package/src/djlint/rules/H025.py +0 -65
  179. package/src/djlint/rules.yaml +0 -279
  180. package/src/djlint/settings.py +0 -969
  181. package/src/djlint/src.py +0 -91
  182. package/tests/__init__.py +0 -0
  183. package/tests/conftest.py +0 -239
  184. package/tests/test_cli.py +0 -71
  185. package/tests/test_config/__init__.py +0 -0
  186. package/tests/test_config/test_blank_line_after_tag.py +0 -135
  187. package/tests/test_config/test_blank_line_before_tag.py +0 -141
  188. package/tests/test_config/test_close_void_tags.py +0 -31
  189. package/tests/test_config/test_custom_blocks.py +0 -56
  190. package/tests/test_config/test_custom_html.py +0 -45
  191. package/tests/test_config/test_djlintrc/.djlintrc +0 -38
  192. package/tests/test_config/test_djlintrc/__init__.py +0 -0
  193. package/tests/test_config/test_djlintrc/test_config.py +0 -44
  194. package/tests/test_config/test_djlintrc_custom/.djlint-cust +0 -38
  195. package/tests/test_config/test_djlintrc_custom/.djlintrc +0 -2
  196. package/tests/test_config/test_djlintrc_custom/__init__.py +0 -0
  197. package/tests/test_config/test_djlintrc_custom/test_config.py +0 -48
  198. package/tests/test_config/test_excludes/__init__.py +0 -0
  199. package/tests/test_config/test_excludes/excluded.html +0 -1
  200. package/tests/test_config/test_excludes/foo/excluded.html +0 -1
  201. package/tests/test_config/test_excludes/html.html +0 -1
  202. package/tests/test_config/test_excludes/pyproject.toml +0 -3
  203. package/tests/test_config/test_excludes/test_config.py +0 -30
  204. package/tests/test_config/test_extension/__init__.py +0 -0
  205. package/tests/test_config/test_extension/html.test +0 -1
  206. package/tests/test_config/test_extension/pyproject.toml +0 -3
  207. package/tests/test_config/test_extension/test_config.py +0 -27
  208. package/tests/test_config/test_files/.djlintrc_global +0 -9
  209. package/tests/test_config/test_files/test.html +0 -3
  210. package/tests/test_config/test_files/test_config.py +0 -123
  211. package/tests/test_config/test_files/test_two.html +0 -1
  212. package/tests/test_config/test_format_attribute_template_tags.py +0 -280
  213. package/tests/test_config/test_format_css.py +0 -197
  214. package/tests/test_config/test_format_js.py +0 -220
  215. package/tests/test_config/test_gitignore/__init__.py +0 -0
  216. package/tests/test_config/test_gitignore/html_one.html +0 -1
  217. package/tests/test_config/test_gitignore/html_two.html +0 -1
  218. package/tests/test_config/test_gitignore/test_config.py +0 -142
  219. package/tests/test_config/test_ignore/__init__.py +0 -0
  220. package/tests/test_config/test_ignore/html.html +0 -1
  221. package/tests/test_config/test_ignore/html_two.html +0 -12
  222. package/tests/test_config/test_ignore/pyproject.toml +0 -3
  223. package/tests/test_config/test_ignore/test_config.py +0 -32
  224. package/tests/test_config/test_ignore_blocks.py +0 -45
  225. package/tests/test_config/test_ignore_case.py +0 -39
  226. package/tests/test_config/test_indent.py +0 -63
  227. package/tests/test_config/test_linter_output_format/__init__.py +0 -0
  228. package/tests/test_config/test_linter_output_format/html-one.html +0 -1
  229. package/tests/test_config/test_linter_output_format/html-two.html +0 -1
  230. package/tests/test_config/test_linter_output_format/pyproject.toml +0 -3
  231. package/tests/test_config/test_linter_output_format/test_config.py +0 -34
  232. package/tests/test_config/test_max_attribute_length.py +0 -100
  233. package/tests/test_config/test_max_line_length.py +0 -94
  234. package/tests/test_config/test_per_file_ignores/__init__.py +0 -0
  235. package/tests/test_config/test_per_file_ignores/html.html +0 -2
  236. package/tests/test_config/test_per_file_ignores/pyproject.toml +0 -2
  237. package/tests/test_config/test_per_file_ignores/test_config.py +0 -25
  238. package/tests/test_config/test_pragmas/__init__.py +0 -0
  239. package/tests/test_config/test_pragmas/html_five.html +0 -2
  240. package/tests/test_config/test_pragmas/html_four.html +0 -5
  241. package/tests/test_config/test_pragmas/html_one.html +0 -1
  242. package/tests/test_config/test_pragmas/html_six.html +0 -2
  243. package/tests/test_config/test_pragmas/html_three.html +0 -4
  244. package/tests/test_config/test_pragmas/html_two.html +0 -2
  245. package/tests/test_config/test_pragmas/pyproject.toml +0 -3
  246. package/tests/test_config/test_pragmas/test_config.py +0 -142
  247. package/tests/test_config/test_preserve_blank_lines.py +0 -109
  248. package/tests/test_config/test_preserve_leading_space.py +0 -159
  249. package/tests/test_config/test_profile/__init__.py +0 -0
  250. package/tests/test_config/test_profile/html.html +0 -2
  251. package/tests/test_config/test_profile/pyproject.toml +0 -3
  252. package/tests/test_config/test_profile/test_config.py +0 -64
  253. package/tests/test_config/test_pyproject/__init__.py +0 -0
  254. package/tests/test_config/test_pyproject/blank.html +0 -0
  255. package/tests/test_config/test_pyproject/pyproject.toml +0 -36
  256. package/tests/test_config/test_pyproject/test_config.py +0 -44
  257. package/tests/test_django/__init__.py +0 -0
  258. package/tests/test_django/test_asset.py +0 -32
  259. package/tests/test_django/test_autoescape.py +0 -25
  260. package/tests/test_django/test_block.py +0 -29
  261. package/tests/test_django/test_blocktrans.py +0 -236
  262. package/tests/test_django/test_blocktrans_trimmed.py +0 -283
  263. package/tests/test_django/test_comments.py +0 -164
  264. package/tests/test_django/test_filter.py +0 -30
  265. package/tests/test_django/test_for.py +0 -34
  266. package/tests/test_django/test_if.py +0 -34
  267. package/tests/test_django/test_ifchanged.py +0 -37
  268. package/tests/test_django/test_include.py +0 -24
  269. package/tests/test_django/test_load.py +0 -24
  270. package/tests/test_django/test_quoted.py +0 -34
  271. package/tests/test_django/test_spaceless.py +0 -30
  272. package/tests/test_django/test_tag_spaces.py +0 -35
  273. package/tests/test_django/test_templatetag.py +0 -40
  274. package/tests/test_django/test_verbatim.py +0 -24
  275. package/tests/test_django/test_with.py +0 -32
  276. package/tests/test_djlint/-.html +0 -1
  277. package/tests/test_djlint/__init__.py +0 -0
  278. package/tests/test_djlint/bad.html +0 -6
  279. package/tests/test_djlint/bad.html.dj +0 -23
  280. package/tests/test_djlint/bad.html.dj2 +0 -2
  281. package/tests/test_djlint/multiple_files/a/a.html +0 -1
  282. package/tests/test_djlint/multiple_files/b/b1.html +0 -1
  283. package/tests/test_djlint/multiple_files/b/b2.html +0 -1
  284. package/tests/test_djlint/test_djlint.py +0 -242
  285. package/tests/test_golang/__init__.py +0 -0
  286. package/tests/test_golang/test_if.py +0 -24
  287. package/tests/test_golang/test_range.py +0 -24
  288. package/tests/test_handlebars/__init__.py +0 -0
  289. package/tests/test_handlebars/test_each.py +0 -34
  290. package/tests/test_handlebars/test_else.py +0 -24
  291. package/tests/test_handlebars/test_with.py +0 -24
  292. package/tests/test_html/__init__.py +0 -0
  293. package/tests/test_html/test_alpinejs.py +0 -65
  294. package/tests/test_html/test_attributes.py +0 -935
  295. package/tests/test_html/test_aurelia.py +0 -24
  296. package/tests/test_html/test_basics.py +0 -905
  297. package/tests/test_html/test_bracket_same_line.py +0 -177
  298. package/tests/test_html/test_case.py +0 -81
  299. package/tests/test_html/test_cdata.py +0 -34
  300. package/tests/test_html/test_comments.py +0 -333
  301. package/tests/test_html/test_css.py +0 -193
  302. package/tests/test_html/test_doctype_declarations.py +0 -202
  303. package/tests/test_html/test_ignored.py +0 -193
  304. package/tests/test_html/test_interpolation.py +0 -56
  305. package/tests/test_html/test_line_break_after_multiline_tag.py +0 -95
  306. package/tests/test_html/test_next_line_empty.py +0 -53
  307. package/tests/test_html/test_selfclosing.py +0 -55
  308. package/tests/test_html/test_single_attribute_per_line.py +0 -87
  309. package/tests/test_html/test_srcset.py +0 -43
  310. package/tests/test_html/test_svg.py +0 -104
  311. package/tests/test_html/test_symbol_entities.py +0 -34
  312. package/tests/test_html/test_tag_code.py +0 -24
  313. package/tests/test_html/test_tag_dd.py +0 -24
  314. package/tests/test_html/test_tag_details_summary.py +0 -24
  315. package/tests/test_html/test_tag_dt.py +0 -24
  316. package/tests/test_html/test_tag_fig_caption.py +0 -29
  317. package/tests/test_html/test_tag_hr.py +0 -29
  318. package/tests/test_html/test_tag_picture.py +0 -32
  319. package/tests/test_html/test_tag_pre.py +0 -45
  320. package/tests/test_html/test_tag_script.py +0 -516
  321. package/tests/test_html/test_tag_small.py +0 -24
  322. package/tests/test_html/test_tag_span.py +0 -119
  323. package/tests/test_html/test_tag_textarea.py +0 -82
  324. package/tests/test_html/test_tags.py +0 -842
  325. package/tests/test_html/test_text.py +0 -34
  326. package/tests/test_html/test_whitespace.py +0 -477
  327. package/tests/test_html/test_yaml.py +0 -156
  328. package/tests/test_jinja/__init__.py +0 -0
  329. package/tests/test_jinja/test_call.py +0 -34
  330. package/tests/test_jinja/test_parenthesis.py +0 -24
  331. package/tests/test_linter/__init__.py +0 -0
  332. package/tests/test_linter/test_custom_rules/.djlint_rules.yaml +0 -6
  333. package/tests/test_linter/test_custom_rules/__init__.py +0 -0
  334. package/tests/test_linter/test_custom_rules/html.html +0 -1
  335. package/tests/test_linter/test_custom_rules/pyproject.toml +0 -1
  336. package/tests/test_linter/test_custom_rules/test_linter.py +0 -29
  337. package/tests/test_linter/test_custom_rules_bad/.djlint_rules.yaml +0 -24
  338. package/tests/test_linter/test_custom_rules_bad/__init__.py +0 -0
  339. package/tests/test_linter/test_custom_rules_bad/html.html +0 -1
  340. package/tests/test_linter/test_custom_rules_bad/pyproject.toml +0 -1
  341. package/tests/test_linter/test_custom_rules_bad/test_linter.py +0 -29
  342. package/tests/test_linter/test_django_linter.py +0 -476
  343. package/tests/test_linter/test_h005.py +0 -45
  344. package/tests/test_linter/test_h006.py +0 -81
  345. package/tests/test_linter/test_h007.py +0 -45
  346. package/tests/test_linter/test_h008.py +0 -60
  347. package/tests/test_linter/test_h009.py +0 -45
  348. package/tests/test_linter/test_h010.py +0 -44
  349. package/tests/test_linter/test_h037.py +0 -150
  350. package/tests/test_linter/test_ignore_rules.py +0 -45
  351. package/tests/test_linter/test_jinja_linter.py +0 -227
  352. package/tests/test_linter/test_linter.py +0 -691
  353. package/tests/test_linter/test_nunjucks_linter.py +0 -59
  354. package/tests/test_linter/test_python_module_rules/.djlint_rules.yaml +0 -4
  355. package/tests/test_linter/test_python_module_rules/__init__.py +0 -0
  356. package/tests/test_linter/test_python_module_rules/html_bad.html +0 -3
  357. package/tests/test_linter/test_python_module_rules/html_ok.html +0 -3
  358. package/tests/test_linter/test_python_module_rules/my_module.py +0 -32
  359. package/tests/test_linter/test_python_module_rules/pyproject.toml +0 -1
  360. package/tests/test_linter/test_python_module_rules/test_linter.py +0 -26
  361. package/tests/test_nunjucks/__init__.py +0 -0
  362. package/tests/test_nunjucks/test_functions.py +0 -94
  363. package/tests/test_nunjucks/test_macros.py +0 -41
  364. package/tests/test_nunjucks/test_set.py +0 -206
  365. package/tests/test_nunjucks/test_spaceless.py +0 -24
  366. package/tests/test_twig/__init__.py +0 -0
  367. package/tests/test_twig/test_comments.py +0 -51
  368. package/tox.ini +0 -48
@@ -1,127 +0,0 @@
1
- ---
2
- description: Начало работы с djLint для линтинга и форматирования HTML-шаблонов. Воспользуйтесь простым интерфейсом cli и множеством опций форматирования.
3
- title: Начало работы
4
- keywords: облицовка шаблонов, форматер шаблонов, djLint, HTML, шаблоны, форматер, линтер, использование
5
- ---
6
-
7
- # {{ "getting_started" | i18n }}
8
-
9
- ## Установка от [Pypi](https://pypi.org/project/djlint/)
10
-
11
- djLint собирается с [Python](https://python.org), он может быть установлен простым запуском:
12
-
13
- ```bash
14
- pip install djlint
15
- ```
16
-
17
- _Или с помощью npm экспериментальная установка - Обратите внимание, это требует, чтобы python и pip были в вашем системном пути._
18
-
19
- ```bash
20
- npm i djlint
21
- ```
22
-
23
- ## Использование CLI
24
-
25
- djLint - это приложение командной строки. Для расширенной настройки смотрите `конфигурация`.
26
-
27
- {% raw %}
28
-
29
- ```bash
30
- Usage: djlint [OPTIONS] SRC ...
31
-
32
- djLint · lint and reformat HTML templates.
33
-
34
- Options:
35
- --version Show the version and exit.
36
- -e, --extension TEXT File extension to check [default: html]
37
- -i, --ignore TEXT Codes to ignore. ex: "H014,H017"
38
- --reformat Reformat the file(s).
39
- --check Check formatting on the file(s).
40
- --indent INTEGER Indent spacing. [default: 4]
41
- --quiet Do not print diff when reformatting.
42
- --profile TEXT Enable defaults by template language. ops:
43
- django, jinja, nunjucks, handlebars, golang,
44
- angular, html [default: html]
45
- --require-pragma Only format or lint files that starts with a
46
- comment with the text 'djlint:on'
47
- --lint Lint for common issues. [default option]
48
- --use-gitignore Use .gitignore file to extend excludes.
49
- --warn Return errors as warnings.
50
- --preserve-leading-space Attempt to preserve leading space on text.
51
- --preserve-blank-lines Attempt to preserve blank lines.
52
- --format-css Also format contents of <style> tags.
53
- --format-js Also format contents of <script> tags.
54
- --configuration PATH Path to global configuration file in
55
- .djlintrc format
56
- --statistics Count the number of occurrences of each
57
- error/warning code.
58
- --include TEXT Codes to include. ex: "H014,H017"
59
- --ignore-case Do not fix case on known html tags.
60
- --ignore-blocks TEXT Comma list of template blocks to not indent.
61
- --blank-line-after-tag TEXT Add an additional blank line after {% <tag>
62
- ... %} tag groups.
63
- --blank-line-before-tag TEXT Add an additional blank line before {% <tag>
64
- ... %} tag groups.
65
- --custom-blocks TEXT Indent custom template blocks. For example
66
- {% toc %}...{% endtoc %}
67
- --custom-html TEXT Indent custom HTML tags. For example <mjml>
68
- --exclude TEXT Override the default exclude paths.
69
- --extend-exclude TEXT Add additional paths to the default exclude.
70
- --linter-output-format TEXT Customize order of linter output message.
71
- --max-line-length INTEGER Max line length. [default: 120]
72
- --max-attribute-length INTEGER Max attribute length. [default: 70]
73
- --format-attribute-template-tags
74
- Attempt to format template syntax inside of
75
- tag attributes.
76
- --per-file-ignores <TEXT TEXT>...
77
- Ignore linter rules on a per-file basis.
78
- --indent-css INTEGER Set CSS indent level.
79
- --indent-js INTEGER Set JS indent level.
80
- --close-void-tags Add closing mark on known void tags. Ex:
81
- <img> becomse <img />
82
- --no-line-after-yaml Do not add a blank line after yaml front
83
- matter.
84
- -h, --help Show this message and exit.
85
- ```
86
-
87
- {% endraw %}
88
-
89
- {% admonition
90
- "note",
91
- "Note",
92
- "Если команда `djlint` не найдена, убедитесь, что Python находится [в вашем пути](https://www.geeksforgeeks.org/how-to-add-python-to-windows-path/)."
93
- %}
94
-
95
- ## Использование Path против Stdin
96
-
97
- djLint работает с путем или stdin.
98
-
99
- Бег с тропинкой -
100
-
101
- ```bash
102
- djlint /path/to/templates --lint
103
- ```
104
-
105
- Или конкретный файл -
106
-
107
- ```bash
108
- djlint /path/to/this.mustache --lint
109
- ```
110
-
111
- Или с помощью stdin -
112
-
113
- ```bash
114
- echo "<div></div>" | djlint -
115
- ```
116
-
117
- Stdin также может быть использован для переформатирования кода. На выходе будет только отформатированный код без сообщений.
118
-
119
- ```bash
120
- echo "<div></div>" | djlint - --reformat
121
- ```
122
-
123
- Выход -
124
-
125
- ```html
126
- <div></div>
127
- ```
@@ -1,75 +0,0 @@
1
- ---
2
- description: Как запретить djLint форматировать блок кода. Как игнорировать правила djLint в строке.
3
- title: Игнорирование кодекса
4
- keywords: облицовка шаблонов, форматер шаблонов, djLint, HTML, шаблоны, форматер, линтер, использование, Использование форматера
5
- date: Last Modified
6
- ---
7
-
8
- ## Игнорирование кодекса
9
-
10
- Код можно игнорировать, обернув его в теги `djlint`:
11
-
12
- {% raw %}
13
-
14
- Для простого старого html -
15
-
16
- ```html
17
- <!-- djlint:off -->
18
- <плохой html, который следует игнорировать> <!-- djlint:on --></bad>
19
- ```
20
-
21
- или как комментарий -
22
-
23
- ```html
24
- {# djlint:off #} <плохой html, который следует игнорировать> {# djlint:on #}</bad>
25
- ```
26
-
27
- или в виде длинного комментария
28
-
29
- ```html
30
- {% comment %} djlint:off {% endcomment %}
31
- <плохой html, который следует игнорировать> {% comment %} djlint:on {% endcomment %}</bad>
32
- ```
33
-
34
- или как комментарий в стиле javascript -
35
-
36
- ```html
37
- {{ /* djlint:off */ }} <плохой html, который следует игнорировать> {{ /* djlint:on */ }}</bad>
38
- ```
39
-
40
- или как комментарий в стиле golang -
41
-
42
- ```html
43
- {{!-- djlint:off --}} <плохой html, который следует игнорировать> {{!-- djlint:on --}}</bad>
44
- ```
45
-
46
- {% endraw %}
47
-
48
- ## Игнорирование правил
49
-
50
- Определенные правила linter можно игнорировать, добавив имя правила в открывающий тег игнорируемого блока.
51
-
52
- {% raw %}
53
-
54
- ```html
55
- {# djlint:off H025,H026 #}
56
- <p>
57
- {# djlint:on #}
58
-
59
- <!-- djlint:off H025-->
60
- </p>
61
-
62
- <p>
63
- <!-- djlint:on -->
64
-
65
- {% comment %} djlint:off H025 {% endcomment %}
66
- </p>
67
-
68
- <p>{% comment %} djlint:on {% endcomment %} {{!-- djlint:off H025 --}}</p>
69
-
70
- <p>{{!-- djlint:on --}} {{ /* djlint:off H025 */ }}</p>
71
-
72
- <p>{{ /* djlint:on */ }}</p>
73
- ```
74
-
75
- {% endraw %}
@@ -1,100 +0,0 @@
1
- ---
2
- description: Интегрируйте djLint с вашим любимым редактором. Автоматическое форматирование ваших шаблонов с помощью Pre-Commit или Visual Studio Code. Lint с SublimeText.
3
- title: Интеграции
4
- keywords: облицовка шаблонов, форматер шаблонов, djLint, HTML, шаблоны, форматер, линтер, использование, integrations
5
- ---
6
-
7
- # {{ "integrations" | i18n }}
8
-
9
- Существует несколько интеграций редакторов для djLint.
10
-
11
- ## Pre-Commit
12
-
13
- djLint можно использовать как [pre-commit](https://pre-commit.com) хук в качестве как линтера, так и форматировщика.
14
-
15
- Репозиторий предоставляет несколько предварительно настроенных хуков для определенных профилей djLint (он просто задает аргумент `--profile` и указывает pre-commit, какие расширения файлов искать):
16
-
17
- ::: content
18
-
19
- - `djlint` для линтинга и `djlint-reformat` для форматирования
20
- Будет искать файлы, соответствующие `templates/**.html`, без установки `--profile`.
21
- - `djlint-django` и `djlint-reformat-django`
22
- Будет искать файлы, соответствующие `templates/**.html`, и устанавливать `--profile=django`.
23
- - `djlint-jinja` и `djlint-reformat-jinja`
24
- Будет искать файлы, соответствующие `*.j2`, `*.jinja` или `*.jinja2`, и устанавливать `--profile=jinja`.
25
- - `djlint-nunjucks` и `djlint-reformat-nunjucks`
26
- Будет искать файлы, соответствующие `*.njk`, и устанавливать `--profile=nunjucks`.
27
- - `djlint-handlebars` и `djlint-reformat-handlebars`
28
- Будет искать файлы, соответствующие `*.hbs`, и устанавливать `--profile=handlebars`.
29
- - `djlint-golang` и `djlint-reformat-golang`
30
- Будет искать файлы, соответствующие `*.tmpl`, и устанавливать `--profile=golang`.
31
- :::
32
-
33
- Обратите внимание, что эти предопределенные хуки иногда слишком консервативны в принимаемых ими входных данных (ваши шаблоны могут использовать другое расширение), поэтому pre-commit явно позволяет вам переопределять любые из этих предопределенных опций. См. [pre-commit документы](https://pre-commit.com/#pre-commit-configyaml---hooks) для дополнительной настройки.
34
-
35
- ### Пример Django по умолчанию
36
-
37
- ```yaml
38
- repos:
39
- - repo: https://github.com/Riverside-Healthcare/djLint
40
- rev: v{{ djlint_version }}
41
- hooks:
42
- - id: djlint-reformat-django
43
- - id: djlint-django
44
- ```
45
-
46
- ### Handlebars с расширением .html вместо .hbs
47
-
48
- ```yaml
49
- repos:
50
- - repo: https://github.com/Riverside-Healthcare/djLint
51
- rev: v{{ djlint_version }}
52
- hooks:
53
- - id: djlint-reformat-handlebars
54
- files: "\\.html"
55
- types_or: ['html']
56
- - id: djlint-handlebars
57
- files: "\\.html"
58
- types_or: ['html']
59
- ```
60
-
61
- Вы можете использовать параметры `files` или `exclude`, чтобы ограничить каждый хук своим каталогом, что позволит вам поддерживать несколько языков шаблонов в одном репозитории.
62
-
63
- ## SublimeText Linter
64
-
65
- djLint можно использовать в качестве плагина SublimeText Linter. Его можно установить через [package-control](https://packagecontrol.io/packages/SublimeLinter-contrib-djlint).
66
-
67
- ::: content
68
-
69
- 1. `cmd + shft + p`
70
- 2. Install SublimeLinter
71
- 3. Install SublimeLinter-contrib-djlint
72
- :::
73
-
74
- Убедитесь, что djLint установлен в вашем глобальном python или в вашем `PATH`.
75
-
76
- ## Visual Studio Code
77
-
78
- ::: content
79
-
80
- - [GitHub репозиторий](https://github.com/monosans/djlint-vscode)
81
- - [Страница на VS Marketplace](https://marketplace.visualstudio.com/items?itemName=monosans.djlint)
82
- - [Страница на Open VSX](https://open-vsx.org/extension/monosans/djlint)
83
- :::
84
-
85
- ## neovim
86
-
87
- djLint можно использовать в качестве форматера в neovim с помощью плагина `null-ls`.
88
-
89
- ::: content
90
-
91
- - [GitHub репозиторий](https://github.com/jose-elias-alvarez/null-ls.nvim/)
92
- - [Пример конфигурации](https://github.com/shaeinst/roshnivim/blob/5d991fcfa1b8f865f9653a98c6d97a829d4a2add/lua/plugins/null-ls_nvim.lua#L84-L91)
93
- :::
94
-
95
- ## coc.nvim
96
-
97
- ::: content
98
-
99
- - [npm package](https://www.npmjs.com/package/coc-htmldjango)
100
- :::
@@ -1,31 +0,0 @@
1
- ---
2
- title: Angular Template Linter
3
- keywords: angular, djlint, angular template linter, lint angular templates
4
- description: djLint - это ангулярный линтер шаблонов! Используйте преимущества профиля предварительной сборки при линтинге и форматировании ваших шаблонов с помощью djLint.
5
- tool: angular
6
- ---
7
-
8
- # {{ title }}
9
-
10
- {{ description }}
11
-
12
- **[Что такое Angular?](https://angular.io/guide/template-syntax)**
13
-
14
- #### Использование командной строки
15
-
16
- ```bash
17
- djlint /path/to/templates --profile={{ tool }}
18
- ```
19
-
20
- #### Или используйте файл конфигурации
21
-
22
- Настройте djLint в вашем проекте `pyproject.toml`.
23
-
24
- ```toml
25
- [tool.djlint]
26
- profile="{{ tool }}"
27
- ```
28
-
29
- <div class="box notification is-info is-light">
30
- <span class="icon is-large"><i class="fas fa-2x fa-circle-arrow-right"></i></span><div class="my-auto ml-3 is-inline-block"><a href="/ru/docs/configuration/">Ознакомьтесь с руководством по настройке, чтобы узнать обо всех возможностях!</a></div>
31
- </div>
@@ -1,31 +0,0 @@
1
- ---
2
- title: Django Template Linter и Formatter
3
- keywords: django, djlint, django template linter, django template formatter, format django templates
4
- description: djLint - это линтер шаблонов django и форматер шаблонов django! Используйте преимущества профиля предварительной сборки при линтинге и форматировании ваших шаблонов с помощью djLint.
5
- tool: django
6
- ---
7
-
8
- # {{ title }}
9
-
10
- {{ description }}
11
-
12
- **[Что такое Django?](https://django.readthedocs.io/en/stable/ref/templates/language.html)**
13
-
14
- #### Использование командной строки
15
-
16
- ```bash
17
- djlint /path/to/templates --profile={{ tool }}
18
- ```
19
-
20
- #### Или используйте файл конфигурации
21
-
22
- Настройте djLint в вашем проекте `pyproject.toml`.
23
-
24
- ```toml
25
- [tool.djlint]
26
- profile="{{ tool }}"
27
- ```
28
-
29
- <div class="box notification is-info is-light">
30
- <span class="icon is-large"><i class="fas fa-2x fa-circle-arrow-right"></i></span><div class="my-auto ml-3 is-inline-block"><a href="/ru/docs/configuration/">Ознакомьтесь с руководством по настройке, чтобы узнать обо всех возможностях!</a></div>
31
- </div>
@@ -1,31 +0,0 @@
1
- ---
2
- title: GoLang Template Linter and Formatter
3
- keywords: GoLang, djlint, GoLang template linter, GoLang template formatter, format GoLang templates
4
- description: djLint - это линтер шаблонов GoLang и форматер шаблонов GoLang! Используйте преимущества профиля предварительной сборки при линтинге и форматировании ваших шаблонов с помощью djLint.
5
- tool: golang
6
- ---
7
-
8
- # {{ title }}
9
-
10
- {{ description }}
11
-
12
- **[Что такое GoLang?](https://pkg.go.dev/text/template)**
13
-
14
- #### Использование командной строки
15
-
16
- ```bash
17
- djlint /path/to/templates --profile={{ tool }}
18
- ```
19
-
20
- #### Или используйте файл конфигурации
21
-
22
- Настройте djLint в вашем проекте `pyproject.toml`.
23
-
24
- ```toml
25
- [tool.djlint]
26
- profile="{{ tool }}"
27
- ```
28
-
29
- <div class="box notification is-info is-light">
30
- <span class="icon is-large"><i class="fas fa-2x fa-circle-arrow-right"></i></span><div class="my-auto ml-3 is-inline-block"><a href="/ru/docs/configuration/">Ознакомьтесь с руководством по настройке, чтобы узнать обо всех возможностях!</a></div>
31
- </div>
@@ -1,31 +0,0 @@
1
- ---
2
- title: Handlebars Template Linter and Formatter
3
- keywords: handlebars, djlint, handlebars template linter, handlebars template formatter, format handlebars templates
4
- description: djLint - это линтеры и форматоры шаблонов для ручек! Используйте преимущества профиля предварительной сборки при линтинге и форматировании ваших шаблонов с помощью djLint.
5
- tool: handlebars
6
- ---
7
-
8
- # {{ title }}
9
-
10
- {{ description }}
11
-
12
- **[Что такое Handlebars?](https://handlebarsjs.com/)**
13
-
14
- #### Использование командной строки
15
-
16
- ```bash
17
- djlint /path/to/templates --profile={{ tool }}
18
- ```
19
-
20
- #### Или используйте файл конфигурации
21
-
22
- Настройте djLint в вашем проекте `pyproject.toml`.
23
-
24
- ```toml
25
- [tool.djlint]
26
- profile="{{ tool }}"
27
- ```
28
-
29
- <div class="box notification is-info is-light">
30
- <span class="icon is-large"><i class="fas fa-2x fa-circle-arrow-right"></i></span><div class="my-auto ml-3 is-inline-block"><a href="/ru/docs/configuration/">Ознакомьтесь с руководством по настройке, чтобы узнать обо всех возможностях!</a></div>
31
- </div>
@@ -1,31 +0,0 @@
1
- ---
2
- title: Jinja Template Linter and Formatter
3
- keywords: jinja, djlint, jinja template linter, jinja template formatter, format jinja templates
4
- description: djLint - это линтер шаблонов jinja и форматер шаблонов jinja! Используйте преимущества профиля предварительной сборки при линтинге и форматировании ваших шаблонов с помощью djLint.
5
- tool: jinja
6
- ---
7
-
8
- # {{ title }}
9
-
10
- {{ description }}
11
-
12
- **[Что такое Jinja?](https://jinja2docs.readthedocs.io/en/stable/)**
13
-
14
- #### Использование командной строки
15
-
16
- ```bash
17
- djlint /path/to/templates --profile={{ tool }}
18
- ```
19
-
20
- #### Или используйте файл конфигурации
21
-
22
- Настройте djLint в вашем проекте `pyproject.toml`.
23
-
24
- ```toml
25
- [tool.djlint]
26
- profile="{{ tool }}"
27
- ```
28
-
29
- <div class="box notification is-info is-light">
30
- <span class="icon is-large"><i class="fas fa-2x fa-circle-arrow-right"></i></span><div class="my-auto ml-3 is-inline-block"><a href="/ru/docs/configuration/">Ознакомьтесь с руководством по настройке, чтобы узнать обо всех возможностях!</a></div>
31
- </div>
@@ -1,3 +0,0 @@
1
- {
2
- "layout": "languages_layout.njk"
3
- }
@@ -1,31 +0,0 @@
1
- ---
2
- title: Mustache Template Linter and Formatter
3
- keywords: mustache, djlint, mustache template linter, mustache template formatter, format mustache templates
4
- description: djLint - это линтер шаблонов mustache и форматировщик шаблонов mustache! Используйте преимущества профиля предварительной сборки при линтинге и форматировании ваших шаблонов с помощью djLint.
5
- tool: handlebars
6
- ---
7
-
8
- # {{ title }}
9
-
10
- {{ description }}
11
-
12
- **[Что такое Mustache?](http://mustache.github.io/mustache.5.html)**
13
-
14
- #### Использование командной строки
15
-
16
- ```bash
17
- djlint /path/to/templates --profile={{ tool }}
18
- ```
19
-
20
- #### Или используйте файл конфигурации
21
-
22
- Настройте djLint в вашем проекте `pyproject.toml`.
23
-
24
- ```toml
25
- [tool.djlint]
26
- profile="{{ tool }}"
27
- ```
28
-
29
- <div class="box notification is-info is-light">
30
- <span class="icon is-large"><i class="fas fa-2x fa-circle-arrow-right"></i></span><div class="my-auto ml-3 is-inline-block"><a href="/ru/docs/configuration/">Ознакомьтесь с руководством по настройке, чтобы узнать обо всех возможностях!</a></div>
31
- </div>
@@ -1,31 +0,0 @@
1
- ---
2
- title: Nunjucks Template Linter and Formatter
3
- keywords: nunjucks, djlint, nunjucks template linter, nunjucks template formatter, format nunjucks templates
4
- description: djLint - это линтер шаблонов nunjucks и форматер шаблонов nunjucks! Используйте преимущества профиля предварительной сборки при линтинге и форматировании ваших шаблонов с помощью djLint.
5
- tool: nunjucks
6
- ---
7
-
8
- # {{ title }}
9
-
10
- {{ description }}
11
-
12
- **[Что такое Nunjucks?](https://mozilla.github.io/nunjucks/)**
13
-
14
- #### Использование командной строки
15
-
16
- ```bash
17
- djlint /path/to/templates --profile={{ tool }}
18
- ```
19
-
20
- #### Или используйте файл конфигурации
21
-
22
- Настройте djLint в вашем проекте `pyproject.toml`.
23
-
24
- ```toml
25
- [tool.djlint]
26
- profile="{{ tool }}"
27
- ```
28
-
29
- <div class="box notification is-info is-light">
30
- <span class="icon is-large"><i class="fas fa-2x fa-circle-arrow-right"></i></span><div class="my-auto ml-3 is-inline-block"><a href="/ru/docs/configuration/">Ознакомьтесь с руководством по настройке, чтобы узнать обо всех возможностях!</a></div>
31
- </div>
@@ -1,31 +0,0 @@
1
- ---
2
- title: Twig Template Linter and Formatter
3
- keywords: twig, djlint, twig template linter, twig template formatter, format twig templates
4
- description: djLint - это линтер шаблонов twig и форматировщик шаблонов twig! Используйте преимущества профиля предварительной сборки при линтинге и форматировании ваших шаблонов с помощью djLint.
5
- tool: nunjucks
6
- ---
7
-
8
- # {{ title }}
9
-
10
- {{ description }}
11
-
12
- **[Что такое Twig?](https://twig.symfony.com/)**
13
-
14
- #### Использование командной строки
15
-
16
- ```bash
17
- djlint /path/to/templates --profile={{ tool }}
18
- ```
19
-
20
- #### Или используйте файл конфигурации
21
-
22
- Настройте djLint в вашем проекте `pyproject.toml`.
23
-
24
- ```toml
25
- [tool.djlint]
26
- profile="{{ tool }}"
27
- ```
28
-
29
- <div class="box notification is-info is-light">
30
- <span class="icon is-large"><i class="fas fa-2x fa-circle-arrow-right"></i></span><div class="my-auto ml-3 is-inline-block"><a href="/ru/docs/configuration/">Ознакомьтесь с руководством по настройке, чтобы узнать обо всех возможностях!</a></div>
31
- </div>