Looking for tags that aren't tiddlers

47 views
Skip to first unread message

HansBKK

unread,
Jul 1, 2011, 2:39:34 PM7/1/11
to tiddl...@googlegroups.com

Here are a few somewhat related, and hopefully simple questions, some extracted from within some of my past verbiage (sorry):

Is there a way to

1. return a list of terms used as tags that don't yet have tiddlers?

2. get the equivalent of {{tiddler.title}} to display in line with the text of a given tiddler?

3. generate a list of tiddlers with a certain tag (ideally a MatchTags-style boolean set) and also list all the tags those tiddlers are tagged with? Ideally as links within a tiddler, or perhaps some sort of "folded with tags view" of the group in the display?

And finally, are there any other ways that tiddlers can "relate" to each other, beyond 1. tiddlytagging  and 2 inline references?

your help (and patience) much appreciated. . .


PMario

unread,
Jul 1, 2011, 6:41:18 PM7/1/11
to TiddlyWiki
On 1 Jul., 20:39, HansBKK <hans...@gmail.com> wrote:
> Here are a few somewhat related, and hopefully simple questions, some
> extracted from within some of my past verbiage (sorry):
>
> Is there a way to
>
> 1. return a list of terms used as tags that don't yet have tiddlers?
If you have a look at the right sidebar "Tags" tab you can see them.
The ones with a tiddler are "bold" the others normal.

Also Tobias Beer created a plugin "tagSearch" [1] that default list
all used tags. Tags that don't exist as tiddlers are displayed with
italic font. It displays the list in a popup. There may be other
plugins too.

> 2. get the equivalent of {{tiddler.title}} to display in line with the text
> of a given tiddler?
<<view title text>> [2]

> 3. generate a list of tiddlers with a certain tag (ideally a MatchTags-style
> boolean set) *and* *also list all the tags* those tiddlers are tagged with?
> Ideally as links within a tiddler, or perhaps some sort of "folded with tags
> view" of the group in the display?
FND created a plugin called "tagspolorer" [3], which is used at
tiddlyweb docu page [4]. If you click the "[+]" button at the page,
you can see the tags, the listed tiddlers are tagged.

> And finally, are there any other ways that tiddlers can "relate" to each
> other, beyond 1. tiddlytagging  and 2 inline references?
You can create "custom fields" that point to other tiddlers. The
problem is, you'll need plugins, that deal with it. The core, exposes
limited access to fields.

There have been some discussions, last year about TW tagging and
"semantic" web [5] but there are no actions taken, as far as I know.

-m

[1] http://tagsearch.tiddlyspot.com/
[2] http://tiddlywiki.org/#%5B%5Bview%20macro%5D%5D%20%5B%5Bview%20macro%20types%5D%5D
[3] http://svn.tiddlywiki.org/Trunk/contributors/FND/plugins/TagsplorerMacro.js
[4] http://tiddlyweb.peermore.com/wiki/#Navigation
[5] http://groups.google.com/group/tiddlywiki/browse_thread/thread/6f2441f67bb842b3

HansBKK

unread,
Jul 2, 2011, 12:22:56 AM7/2/11
to tiddl...@googlegroups.com
On Saturday, July 2, 2011 5:41:18 AM UTC+7, PMario wrote: 
> 2. get the equivalent of {{tiddler.title}} to display in line with the text
> of a given tiddler?
[2] http://tiddlywiki.org/#%5B%5Bview%20macro%5D%5D%20%5B%5Bview%20macro%20types%5D%5D

<<view title text>>

Thanks much!


> 1. return a list of terms used as tags that don't yet have tiddlers?
If you have a look at the right sidebar "Tags" tab you can see them.
The ones with a tiddler are "bold" the others normal.

Also Tobias Beer created a plugin "tagSearch" [1] that default list
all used tags. Tags that don't exist as tiddlers are displayed with
italic font. It displays the list in a popup. There may be other
plugins too.

Sorry if I wasn't more clear, I'll give an example of my use case. Say I've got a couple of dozen TW files, each sharing a group of taggly tiddlers from a master file. The content editors have been busy tagging the different texts in these files (each containing at least a book's length of content, some are many hundreds of pages). They are using the "global tags" when appropriate, and creating new "local only" ones as needed.

When I'm reviewing these returned files, I would like to get a single summary list of these tags - the one thing they all would have in common is that they aren't tiddlers - the global ones are tiddlers by definition, since that's how they got distributed into the "child" TWs. Opening each of the hundreds of content tiddlers in each of these dozens of TWs, looking for new tags manually is perhaps do-able, but I'm looking for something more like a report giving the list of "all tags that aren't tiddlers in a given file.

> 3. generate a list of tiddlers with a certain tag (ideally a MatchTags-style
> boolean set) *and* *also list all the tags* those tiddlers are tagged with?
> Ideally as links within a tiddler, or perhaps some sort of "folded with tags
> view" of the group in the display?  
FND created a plugin called "tagspolorer" [3], which is used at
tiddlyweb docu page [4]. If you click the "[+]" button at the page,
you can see the tags, the listed tiddlers are tagged.

OK, but again, requires navigating and clicking on individual tiddlers - regarding the ability to create a report listing, as with #1 above, I'm taking this as a "no can do at this time" 8-)
 
> And finally, are there any other ways that tiddlers can "relate" to each
> other, beyond 1. tiddlytagging  and 2 inline references?
You can create "custom fields" that point to other tiddlers. The
problem is, you'll need plugins, that deal with it. The core, exposes
limited access to fields.

There have been some discussions, last year about TW tagging and
"semantic" web [5] but there are no actions taken, as far as I know.

Actually I was just checking I was being complete in my scheme to automate displaying those relationships, not looking for more ways to complicate things more than I already tend to  8-)

Thanks heaps Mario!

HansBKK

unread,
Jul 3, 2011, 5:59:14 AM7/3/11
to tiddl...@googlegroups.com
Please realize I have no clue about Javascript nor programming, but I'm hoping to trigger someone's "aha I know how to do that", ideally pointing to a plugin people have forgotten about?

I found this in the "TiddlyWiki-specific utility functions". As far as I can tell, it's testing 1. does the tiddler exist? if not then 2. is it a shadow tiddler? and if not then baddabing baddaboom (big bold part below) it must be a tag with no corresponding tiddler!

I don't know if this function is used for other things, I've only seen it display - when hovering over untiddled tags - the tooltip message "The tiddler 'XYZ' doesn't yet exist".

function getTiddlyLinkInfo(title,currClasses)
{
    var classes = currClasses ? currClasses.split(" ") : [];
    classes.pushUnique("tiddlyLink");
    var tiddler = store.fetchTiddler(title);
    var subTitle;
    if(tiddler) {
        subTitle = tiddler.getSubtitle();
        classes.pushUnique("tiddlyLinkExisting");
        classes.remove("tiddlyLinkNonExisting");
        classes.remove("shadow");
    } else {
        classes.remove("tiddlyLinkExisting");
        classes.pushUnique("tiddlyLinkNonExisting");
        if(store.isShadowTiddler(title)) {
            subTitle = config.messages.shadowedTiddlerToolTip.format([title]);
            classes.pushUnique("shadow");
        } else {
            subTitle = config.messages.undefinedTiddlerToolTip.format([title]);
            classes.remove("shadow");
        }

    }
    if(typeof config.annotations[title]=="string")
        subTitle = config.annotations[title];
    return {classes: classes.join(" "),subTitle: subTitle};
}

Now I'm thinking, all I need is for something to return a global listing of all tags, and then filter that list using something like this snippet. Am I on the right track?

I haven't yet been able wrap my head around ForEach, since all the examples I've come across so far involve JS coding rather than just plugging in bit and pieces. Is that a possibility?

If this isn't easily doable (e.g. I'd have to start saving up some money to pay someone to write a plugin) then just please let me know and I'll stop annoying the list (with this topic anyway 8-).

And if you've read this far, thanks for your patience. . .



On Saturday, July 2, 2011 11:22:56 AM UTC+7, HansBKK wrote:
On Saturday, July 2, 2011 5:41:18 AM UTC+7, PMario wrote: 
<snipped>

> 1. return a list of terms used as tags that don't yet have tiddlers?
If you have a look at the right sidebar "Tags" tab you can see them.
The ones with a tiddler are "bold" the others normal.
 
Sorry if I wasn't more clear, I'll give an example of my use case. Say I've got a couple of dozen TW files, each sharing a group of taggly tiddlers from a master file. The content editors have been busy tagging the different texts in these files (each containing at least a book's length of content, some are many hundreds of pages). They are using the "global tags" when appropriate, and creating new "local only" ones as needed.

Eric Shulman

unread,
Jul 3, 2011, 7:19:49 AM7/3/11
to TiddlyWiki
On Jul 3, 2:59 am, HansBKK <hans...@gmail.com> wrote:
> Please realize I have no clue about Javascript nor programming, but I'm
> hoping to trigger someone's "aha I know how to do that", ideally pointing to
> a plugin people have forgotten about?
<snip>
> Now I'm thinking, all I need is for something to return a global listing of
> all tags, and then filter that list using something like this snippet. Am I
> on the right track?

Given that you were able to look at the TWCore code and figure out
even bits and pieces of it, means that you are probably much closer to
writing some of your own custom javascript code than you imagine.

To add 'inline' code into your tiddler content, install this plugin:
http://www.TiddlyTools.com/#InlineJavascriptPlugin

Then, you can write something like this in a tiddler:
--------------
<script>
var all = store.getTags(); // get info for all tags
var tags = []; // non-tiddler tags (to be filled)
for (var t=0; t<all.length; t++) { // loop over all tags
var tag=all[t][0]; // get one tag
if (!store.tiddlerExists(tag)) // skip existing tiddlers
tags.push('[['+tag+']]'); // add link to non-tiddler tag to
list
}
return tags.join('\n'); // output tag links, one per line
</script>
--------------

enjoy,
-e

Eric Shulman

unread,
Jul 3, 2011, 7:26:39 AM7/3/11
to TiddlyWiki
watch out for word-wrapped text in GoogleGroups:

>       tags.push('[['+tag+']]');    // add link to non-tiddler tag to
> list

should be just:

tags.push('[['+tag+']]'); // add link to non-tiddler tag to list

(the last word of the comment was wrapped onto another line)

-e

HansBKK

unread,
Jul 3, 2011, 9:09:35 AM7/3/11
to tiddl...@googlegroups.com
Eric, words fail me. http://www.youtube.com/watch?v=-FucbvoFFy0

And believe me, I've got a handle on computer stuff as a tool user, can do basic HTML/CSS, but the closest I've gotten to programming was Lotus macros. . .

If I were rich I'd make it a project just for fun, but at 50+ it probably's not a great career option starting from scratch. . .

Anyway, thanks so much, works great. . .

HansBKK

unread,
Jul 3, 2011, 3:37:27 PM7/3/11
to tiddl...@googlegroups.com
> 3. generate a list of tiddlers with a certain tag (ideally a MatchTags-style boolean set) *and* *also list all the tags* those tiddlers are tagged with? Ideally as links within a tiddler, or perhaps some sort of "folded with tags view" of the group in the display?

I found exactly what I was looking for in this thread here, all wrapped up with a bow on it - GridPlugin, and of course it's by Eric, He who is greatest among us.

It creates a "report listing' in a table, can select via MatchTags (and lots else) and not only displays the tags but lets you edit the tags list without opening the tiddlers! Absolutely incredible IMO. . .

So my only question is - don't people use this wonder much, or have I just been asking too many questions or ? Not that I'm complaining mind, total attitude of gratitude over here in the land of smiles 8-)

Reply all
Reply to author
Forward
0 new messages