TW5 new plugin Preview Search

725 views
Skip to first unread message

Danielo Rodríguez

unread,
May 30, 2014, 8:41:17 PM5/30/14
to tiddl...@googlegroups.com

I'm glad to present a new plugin. It is in beta stage yet, so if you want to propose something it's possible. If you just want to jump to the plugin you can find it at : http://braintest.tiddlyspot.com/ and search for context plugin

This widget looks for a word inside a tiddler and shows the result with the searched word highlighted with some of its context.

Installation

The easiest way is to just grab the plugin. It contents the basic tiddlers needed. Just drag and drop the following link into your own wiki:

$:/plugins/danielo/context

Usage

After installing the plugin you will have a new tab in $:/AdvancedSearch called Context Search. If you want this functionality in other places you will have to edit the desired tiddler yourself adding the context widget. For more details about using the widget see the section below.

Using the widget

The very basic usage of the widget is the following:

<$context term="lorem"/>

Which will render as:

...
the widget is the following:

```
<$context term="lorem"/>
```
Which will render as:
<$context term="lorem...

The widgets will search inside the current tiddler by default. Because that you see the same content twice here. This example is not very useful. Other more meaningful would be:

<$list filter="[search{$:/temp/advancedsearch}sort[title]limit[250]]">
{{!!title||$:/core/ui/ListItemTemplate}}
<$context term={{$:/temp/advancedsearch}}/>
</$list>

That will search for tiddlers containing the text specified in $:/temp/advancedsearch and will display a link to the matching tiddlers plus a preview of the matching content. Something very similar is used in Context Search. Below you can find a complete list of parameters and their default values.

parameterdescriptiondefault
termThe term you want to search
searchTermAn alias for the previous one
tiddlerThe tiddler's name to look intocurrent tiddler
lengthNumber of context characters to show50
beforeNumber of characters before the matched term to showthe value of the length parameter
afterNumber of characters after the matched term to showthe value of the length parameter
maxMatchesmaximun number of matched elements to show. Incrementing this can cause several performance issues10
elementNode element to create. This element will contain the results of the search. If you want to style it its class is tw-context<pre>
matchClassThe css class to assign to the matched terms in the results. This is used to highlight the resultsmatched

Customizing the output

There are not many ways to customize the output of this widget. You can specify what type of node you want to create to wrap the results (div,span...). The default is <pre>. This container is created with the class tw-context so you can easily apply styles to it. Something similar happens to the highlighted words. You can specify the name of the class to assign to it and also you can apply styles to that class.

A very basic example of customization could be:

  1. Create a tiddler, for example $:/plugins/danielo/context/css
  2. Paste the following text or any css rule you want: 
    .matched{background-color:yellow}
    .tw-context {
      border:1px solid blue;
      word-break: break-all; word-wrap: break-word;}
    

  3. Tag it with $:/tags/stylesheet
  4. Save the tiddler

Live example

You can find a live example at http://braintest.tiddlyspot.com/

Jeremy Ruston

unread,
Jun 2, 2014, 8:24:16 AM6/2/14
to TiddlyWiki
Hi Danielo

Great stuff, once again I'm very impressed. I notice that http://braintest.tiddlyspot.com is still running 5.0.8; are your plugins compatible with 5.0.12?

Best wishes

Jeremy



--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+...@googlegroups.com.
To post to this group, send email to tiddl...@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywiki.
For more options, visit https://groups.google.com/d/optout.



--
Jeremy Ruston
mailto:jeremy...@gmail.com

Ton Gerner

unread,
Jun 2, 2014, 3:21:02 PM6/2/14
to tiddl...@googlegroups.com
Hi Danielo,

Very, very nice plugin.
At last it is possible to find the stuff I entered in my TW5s! ;-)

Thanks a lot.

Cheers,

Ton

Danielo Rodríguez

unread,
Jun 2, 2014, 5:06:07 PM6/2/14
to tiddl...@googlegroups.com, jeremy...@gmail.com
Hello Jeremy,

Thank you very much for your kind words. It really encourages me to continue working on TW.

This plugin was, in fact, developed in a 5.0.12 TW running under node.js. I when I start a new plugin I always develop it in the latest TW version.
My space still at 5.0.8 because one of my "tutorials" was not working. I wrote was because in my personal wiki it is working fine in 5.0.12. Maybe this is because my personal wiki has overwritten some system or shadow tiddlers that my space doesn't.

The difference was the upgrade process--> Node 5.0.8 to node 5.0.12 (I think all tiddlers are kept) VS Standalone 5.0.8 to Node 5.0.12 (does it only import standard tiddlers?)

I forgot to mention that maybe this could have an impact on performance or be too slow when lazy loading tiddlers. But I'm not very sure about this point.

Danielo Rodríguez

unread,
Jun 2, 2014, 5:07:43 PM6/2/14
to tiddl...@googlegroups.com
Hi Ton,

Thank you very much. But you were able to search your stuff. The difference is that now you can do it in a different way.
Glad you liked it. Your guides helped me a lot when I started with TW5

Don't forget this is a live development. If you miss something or you have suggestions just let me know.

regards

Matabele

unread,
Jun 3, 2014, 1:20:51 AM6/3/14
to tiddl...@googlegroups.com
Hi Danielo

Just a note to say that the more I use your new plugin, the more I come to like it :-) 

When I first had a look, I was involved with some development and didn't realise the full impact of the plugin. However, when I installed the plugin into one of my old (and very large) TW's, in which I have been accumulating random notes for several years -- wow!

Many thanks for another great plugin.

regards  


On Saturday, May 31, 2014 2:41:17 AM UTC+2, Danielo Rodríguez wrote:

Jeremy Ruston

unread,
Jun 3, 2014, 5:07:58 AM6/3/14
to Danielo Rodríguez, TiddlyWiki
Hi Danielo


The difference was the upgrade process--> Node 5.0.8 to node 5.0.12 (I think all tiddlers are kept) VS Standalone 5.0.8 to Node 5.0.12 (does it only import standard tiddlers?)

5.0.12 should be able to import both ordinary and system tiddlers from 5.0.8 wikis. I'd be interested if you could track the problem down a little.
 
Best wishes

Jeremy

David Gifford

unread,
Jun 3, 2014, 6:48:03 AM6/3/14
to tiddl...@googlegroups.com
Very nice work, Danielo! At first it wouldn't work for me, but then I realized I was only typing in three letters into the search area, and the context viewing part apparently kicks in on the fourth letter.

Blessings!

Ton Gerner

unread,
Jun 3, 2014, 7:51:21 AM6/3/14
to tiddl...@googlegroups.com
Hi Danielo,


On Monday, June 2, 2014 11:07:43 PM UTC+2, Danielo Rodríguez wrote:
Hi Ton,

Thank you very much. But you were able to search your stuff. The difference is that now you can do it in a different way.

Yes I could search (and get a list of tiddlers) but with help of the preview you can *find* things easily ;-)

Glad you liked it. Your guides helped me a lot when I started with TW5

Nice to hear.

Don't forget this is a live development. If you miss something or you have suggestions just let me know.

I noticed that tags are found as well (but not fields). Found tags result in a tiddler without preview.
Since tiddlers tagged with a certain tag can be found elsewhere (Sidebar, tab Tags), may be wise to skip the tag results.
What do you think?

Cheers,

Ton

Danielo Rodríguez

unread,
Jun 3, 2014, 1:16:51 PM6/3/14
to tiddl...@googlegroups.com

Hi Ton

> I noticed that tags are found as well (but not fields). Found tags result in a tiddler without preview.
> Since tiddlers tagged with a certain tag can be found elsewhere (Sidebar, tab Tags), may be wise to skip the tag results.

> What do you think?is

There are several reasons you can get a result without preview. First let me explain how the widget works. It just searches in a specific tiddler text fields and returns what it finds. If it does find nothing it does not even render the container. I did it that way to maintain it simple and small. The plugin wraps this widget into a search (list widget) , so what you see is the result of both widgets working together. The search operator looks into the text and tags fields while my widget only does it in the first one. That can produce mismatch results. It does not mean any error, it just means that nothing matches the search term in the text field. Other possible cause is that the context widget takes only one search term. It does not split by space like the regular search does. The search term is taken as a whole. This is an intended behavior to maintain a good performance. Anyway there is nothing that stops us to support other scenarios.

Other thing that would be easy to implement and maybe can be what average user expects is to show a preview when nothing matches. Maybe the 50 first characters or whatever is specified in the length parameter.

Let me know your thoughts

Danielo Rodríguez

unread,
Jun 3, 2014, 3:58:09 PM6/3/14
to TiddlyWiki

Hi Ton

> I noticed that tags are found as well (but not fields). Found tags result in a tiddler without preview.
> Since tiddlers tagged with a certain tag can be found elsewhere (Sidebar, tab Tags), may be wise to skip the tag results.

> What do you think?is

Ottins

unread,
May 12, 2019, 3:40:00 AM5/12/19
to TiddlyWiki

ToDo.png

Translated with Google
Thank you first of all for the excellent work. I thought I would use the potential of the plugin to manage internal tiddler tags such as tasks. Setting the parameter before to 0 gives what is represented in the image. Is there a way to change "the number of characters after the matched term to show" so that only the text directly following the word TODO is displayed?
Thanks


P.

hexa...@gmail.com

unread,
Mar 17, 2021, 11:29:16 PM3/17/21
to TiddlyWiki
Hi Danielo,

Very nice plugin. Thanks a lot!

But would you please tell me, can I, or how can I config the characters number of active the plugin? For example, I expect it will work when I type 2 characters in the field.

Thanks again!

Reply all
Reply to author
Forward
0 new messages