If you know the line-height in pre element you can use it to create your
custom background with repeating-linear-gradient.
In the vanilla theme the (inherit) line-height is 20px, then you can use
something like this
```
pre {
background: repeating-linear-gradient(#f5f5f5, #f5f5f5 20px, #e0e0e0 20px,
#e0e0e0 40px);
}
```
El lunes, 21 de febrero de 2022 a las 6:27:09 UTC+1, Eric Shulman escribió:
> 1. `<__txt__>` is a *parameter reference* syntax that can only be used
> within macro definitions. It is similar to `$txt$`, which is a reference
> to the value of the `txt` macro parameter passed into the macro. However,
> while occurances of `$txt$` are automatically replaced by the value passed
> into the macro when the macro's content is returned, `<__txt__>` is handled
> *as
> if it was a variable*, and is only evaluated when the macro content is
> subsequently parsed by within the calling syntax. It is a shorthand
> equivalent to:
>
> ```
> \define macroname(param)
> <$vars param="$param$">
> ... references to <<param>> (or <param> if used within a filter) ...
> etc.
> </$vars>
> \end
> ```
>
> 2. `splitregexp[...]` is a *filter operator* and is similar to the
> `split[...]` filter operator. Note that both `split[..]` and
> `splitregexp[...]` find and remove instances of the filter operand value,
> producing multiple filter items as a result, which are then available for
> further processing by the filter syntax. The difference is that
> `splitregexp[...]` accepts *regular expressions* as the value of the
> filter operand, while `split[...]` only accepts *literal text*. In this
> instance, `splitregexp[\n]` is being used to "split the input (the value of
> `<__txt__>`) into separate values by matching (and removing) any `newline`
> characters. Each resulting line of text is then assigned to the `line`
> variable so it can be referenced in the body of the `<$list>...</$list>`
> widget, where it is then output, enclosed within `<div>...</div>`, in order
> to produce the final result of having separate child elements for each
> line, so that the `nth-child(...)` CSS rule can be applied.
>
> -e
>
> On Sunday, February 20, 2022 at 5:44:29 PM UTC-8 [email protected]
> wrote:
>
>> That works!
>>
>> I can generally grasp how this works, though I'm not familiar with
>> <__txt__>splitregexp[\n]]
>>
>> the only time I've seen \n is to create a new line in python, is it doing
>> the same here?
>>
>>
>>
>> On Sunday, February 20, 2022 at 8:15:49 PM UTC-5 Eric Shulman wrote:
>>
>>> If the content of your `<pre>` is stored in a separate tiddler or field,
>>> you can force the creation of child `<div>` elements, so that
>>> `nth-child(even)` can be applied successfully.
>>>
>>> Give this a try:
>>> ```
>>> \define nthchild(txt,bg:"lightgray")
>>> \whitespace trim
>>> <style> .myClass div:nth-child(even) { background:$bg$; } </style>
>>> <pre class="myClass">
>>> <$list filter="[<__txt__>splitregexp[\n]]" variable="line">
>>> <div><$text text=<<line>>/></div>
>>> </$list>
>>> </pre>
>>> \end
>>>
>>> <$macrocall $name="nthchild" txt={{test}} bg="powderblue"/>
>>> ```
>>>
>>> where the text content is stored in a tiddler named "test".
>>>
>>> -e
>>> On Sunday, February 20, 2022 at 4:46:32 PM UTC-8 [email protected]
>>> wrote:
>>>
>>>> Ah, well- that's a bummer haha
>>>>
>>>> Thank you!
>>>> On Sunday, February 20, 2022 at 7:30:21 PM UTC-5 Eric Shulman wrote:
>>>>
>>>>> Although HTML `<pre>` elements can display multiple lines of text,
>>>>> each line is not a separate child element.
>>>>> Thus, a CSS rule such as `nth-child(even)` doesn't have any effect
>>>>> within the `<pre>` element.
>>>>>
>>>>> -e
>>>>> On Sunday, February 20, 2022 at 4:13:04 PM UTC-8
>>>>> [email protected] wrote:
>>>>>
>>>>>> Hello all, title says it all.
>>>>>>
>>>>>> When trying to apply nth-child(even) to use a background color for
>>>>>> each line when using <pre> in my tiddlers, it doesn't seem to work, and
>>>>>> I'm
>>>>>> not entirely sure whats causing this.
>>>>>>
>>>>>> Any suggestions?
>>>>>>
>>>>>
--
You received this message because you are subscribed to the Google Groups
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/tiddlywiki/16414c40-ae45-4165-94b2-5bd8ae1eaf76n%40googlegroups.com.