In French, a glossary is as simple as in English except for the letter E
where we also some entry starting with É to take into account.
This can be done like this:
<ul>
<$list
filter="[tag[glossaire]prefix<initial>]=[tag[glossaire]prefix[é]]+[sortan[]]"><li><$link/></li>
</ul>
where initial is a variable containing "e" (my glossary is all lowercase,
and each word in the entry has a tiddler tagged "glossaire").
But I want to build my glossary automatically. How can I make a special
case for the E letter? My difficulty is to extend my filter (this is the
part starting from the = sign). I am open t any way to achieve this.
I have tried to build a string containing
"=[tag[glossaire]prefix[é]]+[sortan[]]" and to add it if initial is e, but
this does not work as I have written it:
\\define glossy()
<$set name="initial" filter="[{!!title}lowercase[]]">
<$set name="special-case" value="=[tag[glossaire]prefix[é]]+[sortan[]]">
<$set name="special"
filter="[<initial>compare:string:eq[e]then<special-case>]">
special <$macrocall $name="special"> now defined
<ul>
<$list filter="[tag[glossaire]prefix<initial>]<$macrocall
$name="special"/>">
<li><$link/></li>
</$list>
</ul>
</$set>
</$set>
</$set>
\end
When I use <<glossy>> in the "E" tiddler, all I can see is:
special =[tag[glossaire]prefix[é]]+[sortan[]]
and nothing else. the thing printed seems OK but is that what it seems to
be? The process clearly seems to be interrupted.
--
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/b967a394-d49a-40d8-9bc6-aea2d80472c3n%40googlegroups.com.