posthtml-render
posthtml-render copied to clipboard
Space added to quotes in attribute (with replaceQuote disabled)
So I've got this div right here:
<div role="article" aria-roledescription="email" aria-label='{{ translate "subject" }}' lang="en">
Note that I've changed the default posthtml delimiters to be [[
and ]]
so they don't clash with the templating syntax we use down the line. replaceQuote
is set to false.
What I expect is to get exactly the same thing after posthtml (except for it maybe changing the outer quotes, I don't really care about that):
<div role="article" aria-roledescription="email" aria-label="{{ translate "subject" }}" lang="en">
However, what I actually get is this:
<div role="article" aria-roledescription="email" aria-label="{{translate " subject"}}" lang="en">
Notice the additional space after the quote, because it seems like posthtml considers the second quote to be the closing tag for the aria-label
. Unfortunately, this breaks the template during further processing. I've tried everything, from changing the quoteStyle to adding a custom directive { name: ' translate "subject"', start: '{{', end: '}}' }
. But nothing has worked so far.
I know this is quite an odd special case, but I'd very much appreciate some help with this.
Looks like you're using this in Maizzle? Any reason you can't use single quotes around subject
?
This works fine without even having to change the delimiters - just ignore the expression and use single quotes:
<div aria-label="@{{ translate 'subject' }}">
Yes, I’m using maizzle.
I wish I could use single quotes, but unfortunately the go html/template
syntax (where these templates are then filled with content) only accepts double quotes…