Welcome, I think you have used the core list macro already and it doesn't fit your needs. There is the MatchTags plugin (1) from tiddlytools which has "some" more possibilities.
There is a second link[2] to an other post which discusses some sorting possibilities which may be interesting. regards Mario [1] http://www.tiddlytools.com/#MatchTagsPluginInfo [2] http://groups.google.com/group/tiddlywiki/msg/1ec0a7e92b1a74a2?hl=en On Jan 15, 7:35 am, Tseta <[email protected]> wrote: > Hello all, > > I have a quite particular sorting problem with the forEachTiddler > plugin. I am quite new to TiddlyWiki and especially to editing/ > modifying/creating any type of code, so please bear with me. > > I have tried to search for the answer, but I was encouraged to ask > directly here. Even the front page here states that: "New Users: > Please don't hesitate to post your questions. Elsewhere you are > expected to wade through the archives before posting any questions. > But it's not like that here - just jump in." > > On to the problem. I have a set of tiddlers which all contain 3 tags. > These tiddlers are created from form inputs. Tag1 is automatically > created and always common to all these tiddlers. There is a limited > amount of different options for the second tag, it is also > automatically created (e.g. Tag2a, Tag2b, Tag2c, Tag2d). The third tag > is based on user input in the original form, and thus can be basically > anything. It is however expected that over time, there will be many > tiddlers which contain the same third tag. Having the user select the > third tag from a list or such is not a valid option in this case, the > third tag needs to be free for the user to create. > > The input form also creates other data in the new tiddler, but I want > to sort these tiddlers based on their tags. I have been trying to use > the forEachTiddler plugin. So far, I have been able to create (usable) > lists of tiddlers that contain "Tag1" and lists of tiddlers which > contain for example both "Tag1" and "Tag2c". > > I would now like to create a list of tiddlers which contain "Tag1" and > which are sorted and grouped together by only the third tag. As the > third tag is unknown, and there will be more of them over time, I > cannot use simply tiddler.tags.containsAll(Tag1, Tag3a, Tag3b...). > Instead, I think I should use some type of exclusion. Below is a > pseudo-code example of what I am trying to say: > > <<forEachTiddler > where > 'tiddler.tags.contains("Tag1")' > sortIntoGroupsBy > 'those.tiddler.tags.ThatAreNot(["Tag2a","Tag2b","Tag2c","Tag2d"])' > > > > http://tiddlywiki.abego-software.de/#[[List%20all%20Tiddlers%2C%20grouped%20by%20Tags]] > > The example in the above link is close to what I want. However, I want > the sorting/script to only include tiddlers with Tag1 to begin with, > and for it to ignore all Tag2's in the sorting/grouping process. > > It is my educated guess that I must edit this line of the script in > the provided link: > script > 'function getSortedTagsText(tiddler) {var tags = tiddler.tags; if (! > tags) return ""; tags.sort(); var result = ""; for (var i = 0; i < > tags.length;i++) {result += tags[i]+ " ";} return result;} function > getGroupTitle(tiddler, context) {if (!context.lastGroup || > context.lastGroup != getSortedTagsText(tiddler)) { context.lastGroup = > getSortedTagsText(tiddler); return "* {{{"+(context.lastGroup? > context.lastGroup:"no tags")+"}}}\n";} else return "";} ' > > However, I have no idea where to start. My attempts so far, however > gentle or minor, have always resulted in a syntax error. > > Thanks in advance for any insight or help with this issue.
-- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/tiddlywiki?hl=en.

