With some help from ELS I have replaced all of my fET calls to inline
JS :)
I think you are missing the header (hdr)
i.e.
var hdr="|sortable|k\n| !Brand | !Name | !Wrapper | !Recommended By | !
Purchased ||h"
out.push(hdr);
A Working Example:
<script>
var out=[];
var fmt='| %0 | %1 | %2 | %3 | %4 | {{fine{[[%5|%5]]}}} |';
var tids=store.getMatchingTiddlers("Cigar && ! excludeLists && !
Trash","created");
var hdr="|sortable|k\n| !Brand | !Name | !Wrapper | !Recommended By
| !Purchased ||h"
out.push(hdr);
if (!tids.length) out=["No Cigars found"];
for (var i=0; i<tids.length; i++) {
var val1=tids[i].title;
if (store.getTiddlerSlice(val1,"PersonalRank") != "Not Rated")
continue;
if (store.getTiddlerSlice(val1,"Purchased") != "Yes") continue;
var val2=store.getTiddlerSlice(val1,'Brand')
var val3=store.getTiddlerSlice(val1,'Name')
var val4=store.getTiddlerSlice(val1,'Wrapper')
var val5=store.getTiddlerSlice(val1,'RecommendedBy')
var val6=store.getTiddlerSlice(val1,'Purchased')
out.push(fmt.format([val2,val3,val4,val5,val6,val1]));
}
return out.join('\n');
</script>