{ "spell":"Magic Missile", "damage":"1d-1 cr", "range":"(1/2D: 10 yds, Max: 20 yds)", "cost":5,"build":"Innate Attack (crushing) 1d+1, 6.5<br> Cosmic, no roll required, +100%<br> Increased 1/2D, 5x, +10% 1/2D 10 yds<br> Reduced Range, x1/5, -20% Max 20 yds<br> Spell w/components, -50%<br> [40%/10]"}
{ "spell":"Magic Missile", "damage":"1d+1 cr", "range":"(1/2D: 10 yds, Max: 20 yds)", "cost":10,"build":"Innate Attack (crushing) 1d+1, 6.5<br> Cosmic, no roll required, +100%<br> Increased 1/2D, 5x, +10% 1/2D 10 yds<br> Reduced Range, x1/5, -20% Max 20 yds<br> Spell w/components, -50%<br> [40%/10]"}
1. Is there a better way to encode newlines (and non-breaking spaces) into the "build" index data? Having to type "<br>;nbsp; " for each new line is a lot of redundant work.
2. How would I list all tiddlers for "all spells that cost 5" or "all variants of 'Magic Missile'"?
There are very few tools built into TW for using data dictionaries. They're good for certain situations, but not good for a lot of analysis and processing.
If you change your design so that each spell is its own tiddler and all the parameters are in their own fields, it will become much easier to extract and present the tiddlers you want.
I'm assuming that all the information in "build" means something? So you might want to extract or compare tiddlers based on the content of the build? In that case, break out the content of the build into fields as well. In presentation you can then list the fields and automatically insert the line breaks. If the builds are never broken out, and the information never used for analysis, then there would need to be something in the line to indicate where you want the linebreaks inserted.
hth