I'm trying to generate a comment on a single line at the end of an HTML file:
<!-- generated by SERVER1 -->
I have tried
/
generated by #{@server_name}
But this outputs it over 3 lines -
<!--
generated by SERVER1
-->
I've tried
/ generated by #{@server_name}
But that doesn't evaluate the @server_name
var -
<!-- generated by #{@server_name} -->
Any ideas?
The hyphen followed immediately by the pound sign signifies a silent comment. Any text following this isn't rendered in the resulting document at all.
In Haml, we write a tag by using the percent sign and then the name of the tag. This works for %strong , %div , %body , %html ; any tag you want. Then, after the name of the tag is = , which tells Haml to evaluate Ruby code to the right and then print out the return value as the contents of the tag.
Just as you can drop back to raw HTML output when you want, so you can drop in raw HTML comments, even with interpolation.
This template:
- @foo = 42
#test1
/
Hello #{@foo}
#test2
<!-- Hello #{@foo} -->
Produces this output:
<div id='test1'>
<!--
Hello 42
-->
</div>
<div id='test2'>
<!-- Hello 42 -->
</div>
Tested with Haml v3.1.4 (Separated Sally)
It's still an open issue: github.com/haml/haml/issues/313. I think you're stuck with the multiline comment for now, even though nex3 says single line interpolation should work.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With