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