[RFC] Providing Hash tag support in TiddlyWiki's

Folks,

I am working on Essential Editions: Personal Notebook edition - development and feedback and was thinking that many non tiddlywiki users discovering it for the first time, may be familiar with hash tags eg #tagname, So I thought about providing some support, so they can use hashtags to find tiddlers or a place within tiddlers.

This post post is to seek [RFC] Requests for Comment.

My Current design includes;

  • The ability to use any has tag of the format “#tagname” is the text of any field, or as a traditional tiddlywiki tag
  • Provide a Side Bar tab listing all the hash tags in use
    • Click on a hash tag to open/create a tiddler of that name
  • When viewing a “hash tag tiddler” list all tiddlers containing or tagged with that hash tag
    • provide an optional button to show/Hide/create a sidebar tab listing all tiddlers using the hashtag
  • On opening any tiddler search it for known #hashtags
    • Not sure what to do with them once known, highlight would be nice, list them ?

What do you imagine a hash tag to mean?

Have you other ideas we could implement to support hash tags?

Thanks in advance

Hashtags are mainly used on platforms such as Twitter and Instagram, where there is no other way of tagging or categorising content.

Hashtags are mainly used to let other people find your posts regarding a topic.

Most hashtags come and go very quickly, and are used for hyped news or similar. Therefore, there are a huge amount of hashtags, and their use is mostly temporary.

WordPress has categories and tags, and tags are somewhat similar to hashtags. In my mind, categories are static, while you can invent new tags for every post. Here, maybe SEO is the big reason for adding tags.

To sum it up, in a personal TiddlyWiki, I see no use for hashtags. But, as TiddlyWiki can be used in many different ways, I’m sure someone will love the idea.


One way of implementing hashtags would be with links. Like this: [[#MyHashTag]]. The tiddler “#MyHashTag” doesn’t have to exist, and if you click the link, you can still show backlinks to the non-existing tiddler in a footer or header view template.

You can also collect all hashtags by filtering for missing tiddlers and the # character:

<ul>
<$list filter="[all[missing]!has[draft.of]regexp:title[^#]sort[title]]" variable=hashtag>
	<li>
		<$link to=<<hashtag>>/> <$count filter="[all[tiddlers]!is[system]search:text<hashtag>]"/>
		<<list-links filter:"[all[tiddlers]!is[system]search:text<hashtag>]">>
	</li>	
</$list>
</ul>

(Code stolen from you!)

2 Likes

Thanks for you perspective.

Yes. One use of hash tags in tiddlywiki is in your text as well as the code above also does, even without linkification.

Hash tags in tiddlywiki could mirror public ones and perhaps even be used in interactions with the twitter plugin or others.

In a way catering for #tagname in addition to regular tw tags is another name space or organising path.

We could build a method to search for #hash tags in other systems.

You may not be aware that Riz & Telmiger both made tools supporting Twitter style #hashtagery.

Riz’s tool is particularly interesting for users of/posters to Twitter. I have used it a lot.

What you do is enter a Twitter style #hashtag in the Tiddler body and on save a copy of the #hashtag is added to the TW tags for that Tiddler. (see here)

There is on caveat in that TW tags are case sensitive whilst Twitter hashtags are not. So I asked him to ensure all #hashtags would become lowercase when duplicated as TW tags.

Best, TT

1 Like

A thought: It might be interesting with a generalized version of this suggestion where fields (not only tags) can be set in-text, say #tags:a tag#, and rendered as “a tag”. If the field is set several times in the text, the values are added as a list. That would open for a simpler (?) workflow. Imagine writing something like

The #tags:book# #title:Harry Potter and the Philosopher’s Stone# by #author:J.K. Rowling# is featuring many interesting characters; the main characters are #character:Harry Potter#, of course, and his friends #character:Ron Weasley# and #character:Hermione Granger#. This book is amongst my #tags:Favourite books#.

The tiddler will have two lines for these fields in edit mode, the upper is a text field (as usual) and below are the in-text values listed as text. The challenge would be to separate these types of field values. Alternatively, the in-text values are added when the tiddler is saved and listed when it is edited again (and they are effectively resistent against deletion from the fields text boxes)

That is an interesting approach, If I understand your suggestion correctly, but I think it is somewhat separate from the hashtag Idea.

Perhaps share some examples for;

Yeah, it seems more complex but after all, the tags are just a list field

The idea about two lines for these fields was that if the tags are added in-text, they cannot be modified in the field “where they belong” to avoid conflicts, but conceptually they are still field values (and should, perhaps, be listed as such)

An example:

  • The in-text fields are rendered as simple text
  • The in-text field values are listed in the fields table but not editable
  • One can add additional values to the fields defined in-text (i.e., character)

I believe this is the best approach, so we don’t need another filter operator for the hash tag.

And I think text field can also be modified by the tag field, when we deleted a tag, we can also delete the hash tag on text field on save.

This logic has to be re-implemented in the WYSIWYG editor because it is auto-saved, there will be no save button.

1 Like