| Thread overview | |||||
|---|---|---|---|---|---|
|
June 23, 2017 How to add class in DIET template | ||||
|---|---|---|---|---|
| ||||
I need to get external variable and make class by it's value
- string mystr = "lng-" ~ language;
- foreach(i, line; arrayOfLines )
li
code.mystr #{line}
I need to get HTML code like this:
<li>
<code class="lng-d">some D code</code>
</li>
But class name become "mystr" and I am getting:
<li>
<code class="mystr">some D code</code>
</li>
How to fix it?
| ||||
June 23, 2017 Re: How to add class in DIET template | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Suliman | On Friday, 23 June 2017 at 06:59:22 UTC, Suliman wrote:
> I need to get external variable and make class by it's value
>
> - string mystr = "lng-" ~ language;
> - foreach(i, line; arrayOfLines )
> li
> code.mystr #{line}
>
> I need to get HTML code like this:
>
> <li>
> <code class="lng-d">some D code</code>
> </li>
>
> But class name become "mystr" and I am getting:
>
> <li>
> <code class="mystr">some D code</code>
> </li>
>
> How to fix it?
You can use the html syntax for the class parameter, the funny/nice thing is, that mystr can be used directly without "#{}" around.
code(class=mystr) #{line}
works.
| |||
June 23, 2017 Re: How to add class in DIET template | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Martin Tschierschke | On 6/23/17 12:06 PM, Martin Tschierschke wrote:
> You can use the html syntax for the class parameter, the funny/nice thing is, that mystr can be used directly without "#{}" around.
>
> code(class=mystr) #{line}
>
> works.
Yes, I just found out recently -- when you don't use quotes for an attribute value, it's treated as a D expression (and then interpolated).
If that D expression is of type bool, then the attribute is added or not based on the value of that bool. Good for things like checkboxes and 'checked'.
-Steve
| |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply