mirror of
https://github.com/Hopiu/djLint.git
synced 2026-05-17 01:21:06 +00:00
136 lines
4 KiB
YAML
136 lines
4 KiB
YAML
- rule:
|
|
name: T001
|
|
message: Variables should be wrapped in a single whitespace.
|
|
flags: re.DOTALL
|
|
exclude:
|
|
- handlebars
|
|
patterns:
|
|
# open
|
|
- '{{[^\s#/@^]+'
|
|
- '{%-[^\s]+'
|
|
- '{%[^\s|\-]+'
|
|
# handlebars
|
|
- '[^{]{#[^\s]+|^{#[^\s]+'
|
|
- '[^{]{\/[^\s]+|^{\/[^\s]+'
|
|
- '[^{]{\@[^\s]+|^{\@[^\s]+'
|
|
# close
|
|
- '[^(\s|^|\-)]+[}|%|#]}'
|
|
- '[^(\s|^)]+\-[}|%|#]}'
|
|
- \s{2,}[}|%|#]}
|
|
- '{[{|%|#]\s{2,}'
|
|
- rule:
|
|
name: T002
|
|
message: Double quotes should be used in tags.
|
|
flags: re.DOTALL
|
|
patterns:
|
|
- '{%.?extends\s+?[^\"]\w+'
|
|
- rule:
|
|
name: T003
|
|
message: 'Endblock should have name. Ex: {% endblock body %}.'
|
|
flags: re.DOTALL
|
|
patterns:
|
|
- '{%\s*?endblock\s*?%}'
|
|
- rule:
|
|
name: D004
|
|
message: (Django) Static urls should follow {% static path/to/file %} pattern.
|
|
flags: re.DOTALL
|
|
# this should be using the static path from django settings
|
|
patterns:
|
|
- <(?:link|img|script)\s[^\>]*?(?:href|src)=[\"\']/?static/?
|
|
- rule:
|
|
name: J004
|
|
message: (Jinja) Static urls should follow {{ url_for('static'..) }} pattern.
|
|
flags: re.DOTALL
|
|
# this should be using the static path from django settings
|
|
patterns:
|
|
- <(?:link|img|script)\s[^\>]*?(?:href|src)=[\"\']/?static/?
|
|
- rule:
|
|
name: H005
|
|
message: Html tag should have lang attribute.
|
|
flags: re.DOTALL|re.I
|
|
patterns:
|
|
- <html\s*(?:(?!lang).)*>
|
|
- rule:
|
|
name: H006
|
|
message: Img tag should have alt, height and width attributes.
|
|
flags: re.DOTALL|re.I
|
|
patterns:
|
|
- <img\s(?:(?!(?:height)=).)*/?>
|
|
- <img\s(?:(?!(?:width)=).)*/?>
|
|
- <img\s(?:(?!(?:alt)=).)*/?>
|
|
- rule:
|
|
name: H007
|
|
message: <!DOCTYPE ... > should be present before the html tag.
|
|
flags: re.DOTALL|re.I
|
|
patterns:
|
|
- ^<html
|
|
- rule:
|
|
name: H008
|
|
message: Attributes should be double quoted.
|
|
flags: re.DOTALL|re.I
|
|
patterns:
|
|
- (?:class|id|src|width|height|alt|style|lang|title)=\'[^\']*'
|
|
- rule:
|
|
name: H009
|
|
message: Tag names should be lowercase.
|
|
flags: re.DOTALL
|
|
patterns:
|
|
- (?<=<)(?:HTML|BODY|DIV|P|SPAN|TABLE|TR|TD|TH|THEAD|TBODY|CODE|UL|OL|LI|H1|H2|H3|H4|H5|H6)
|
|
- rule:
|
|
name: H010
|
|
message: Attribute names should be lowercase.
|
|
flags: re.DOTALL
|
|
patterns:
|
|
- <\w+[^\>]+?(?:CLASS|ID|SRC|WIDTH|HEIGHT|ALT|STYLE|LANG|TITLE)=
|
|
- rule:
|
|
name: H011
|
|
message: Attribute values should be quoted.
|
|
flags: re.DOTALL|re.I
|
|
patterns:
|
|
- "[^(?:\"|')]\\s+?(?:class|id|src|width|height|alt|style|lang|title|href|action|method)=[a-zA-Z]+"
|
|
- rule:
|
|
name: H012
|
|
message: There should be no spaces around attribute =.
|
|
flags: re.DOTALL
|
|
patterns:
|
|
- <(?:(?!\{[%|{|#])[^\n])*\s+=
|
|
- <(?:(?!\{[%|{|#])[^\n])*=\s
|
|
- rule:
|
|
name: H014
|
|
message: More than 2 blank lines.
|
|
flags: re.DOTALL
|
|
patterns:
|
|
- "[^\n]{,10}\n{3,}"
|
|
- rule:
|
|
name: H015
|
|
message: Follow h tags with a line break.
|
|
flags: re.DOTALL
|
|
patterns:
|
|
- </h\d?>(?:(?!(.+\r?\n){1,}).)*<[a-zA-Z]+\d?
|
|
- rule:
|
|
name: H016
|
|
message: Missing title tag in html.
|
|
flags: re.DOTALL|re.I
|
|
patterns:
|
|
- <html[^>]*?>(?:(?!<title>).)*</html>
|
|
- rule:
|
|
name: H017
|
|
message: Tag should be self closing.
|
|
flags: re.DOTALL|re.I
|
|
patterns:
|
|
- <(img|input|area|base|br|col[^(?:group)]|embed|hr|link|meta|param|source|track|wbr|command|keygen|menuitem|path)[^>]*?[^/]>
|
|
- <(img|input|area|base|br|col|embed|hr|link|meta|param|source|track|wbr|command|keygen|menuitem|path)>
|
|
- rule:
|
|
name: D018
|
|
message: (Django) Internal links should use the {% url ... %} pattern.
|
|
flags: re.DOTALL|re.I
|
|
patterns:
|
|
- <(?:a|div|span|input)\s+?[^>]*?(?:href|data-url)=[\"|'](?!https?://)[\w|/]+
|
|
- <form\s+?[^>]*?(?:action)=[\"|'](?!https?://)[\w|/]+
|
|
- rule:
|
|
name: J018
|
|
message: (Jinja) Internal links should use the {{ url_for() ... }} pattern.
|
|
flags: re.DOTALL|re.I
|
|
patterns:
|
|
- <(?:a|div|span|input)\s+?[^>]*?(?:href|data-url)=[\"|'](?!https?://)[\w|/]+
|
|
- <form\s+?[^>]*?(?:action)=[\"|'](?!https?://)[\w|/]+
|