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.

Reply via email to