You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
HTMLHint appears to work well on *.ejs (EJS - Embedded JavaScript) files for the HTML parts, but the EJS templates trigger the spec-char-escape rule on the <% open and %> close tags for the embedded JS templating.
Describe the solution you'd like
In *.ejs files, HTMLHint should recognize the EJS start/stop tags and ignore the spec-char-escape tags at the minimum.
It's possible that everything between the tags should also be ignored, although there aren't many tags in EJS (plan <%, <%= for just variables, etc.) and most of it is just plain javascript.
Ideally, all the EJS tags and the javascript itself would all be linted.
Describe alternatives you've considered
I looked for other linters for EJS, at least supported by VS Code, didn't see anything.
I do use .htmlhintrc to disable the spec-char-escape rule:
{
"spec-char-escape": false
}
but this is a less-than-ideal solution as it disables checking for that rule in all normal HTML code as well.
Additional context
In VS Code, this shows up as follows:
Thank you for your feature request
But let me tell you that we are currently working intensively on the core and configuration structure of HTMLHint
So it will take some time before we have time to implement such features
As pointed out by @LightCC, @ashugeo and @Netgator, my VS Code is filled with squiggly lines every time I'm working with EJS.
Coming to a solution, we can maybe have a check condition to see if an EJS file is being inspected instead of an HTML file and in which case ignore the following:
<% 'Scriptlet' tag, for control-flow, no output
<%_ 'Whitespace Slurping' Scriptlet tag, strips all whitespace before it
<%= Outputs the value into the template (HTML escaped)
<%- Outputs the unescaped value into the template
<%# Comment tag, no execution, no output
<%% Outputs a literal '<%'
%> Plain ending tag
-%> Trim-mode ('newline slurp') tag, trims following newline
_%> 'Whitespace Slurping' ending tag, removes all whitespace after it
Activity
Shinigami92 commentedon Jul 11, 2020
Thank you for your feature request
But let me tell you that we are currently working intensively on the core and configuration structure of HTMLHint
So it will take some time before we have time to implement such features
hugosaintemarie commentedon Nov 9, 2020
I agree with @LightCC. Issues with ejs here as well.
Netgator commentedon Jan 21, 2021
I am also encountering the same issues.
aravindvnair99 commentedon Mar 26, 2021
@thedaviddias @Shinigami92 Why not keep this issue open?
As pointed out by @LightCC, @ashugeo and @Netgator, my VS Code is filled with squiggly lines every time I'm working with EJS.
Coming to a solution, we can maybe have a check condition to see if an EJS file is being inspected instead of an HTML file and in which case ignore the following:
Reference: EJS Tags
reporter123 commentedon Nov 19, 2021
This issues needs to be reopened due to being closed by the bot.
tolgahanbora commentedon Oct 20, 2022