Ideas For An Overview Of Each Tiddler? Aide Memoire

At this stage just a topic for discussion and suggestion.

I regard my Tiddlywiki as a research, learning and memory aid tool - it is very large.

Simply reviewing the titles of tiddlers is often sufficient to remind me of principles that I need to keep active in my brain on a day to day basis but it’s a little like carrying a lot of items and I keep on dropping some.

Hopefully as I develop a deeper understanding of my field of interest I will refine and better understand the key principles and so have to carry less - at least that is the hope, that through study we eventually uncover the underlying structures that enable us to encapsulate the whole with fewer and fewer core principles.

I am thinking of extending this idea of a quick overview, currently based on tiddler title only, to extend to a new field for each tiddler which would in one or two sentences act as a memory aid if the title alone was insufficient to jog my memory. I would write these fields when required and leave blank when I felt the title alone says it all.

I imagine having a “switch” on the sidebar by which I could choose a different display mode for tiddlers - this would still display tiddlers on the story river but the main content of the tiddler would not display and instead I would see the one or two sentence overviews. I would then use existing methods to populate the story river and then be able to scan and mentally refresh a large number of tiddlers, usually I already know the content I just need a small “trigger” to bring it all back into my awareness.

If the user decided to edit a tiddler whilst in this new “overview” display mode it would make sense to offer the usual edit options with no change - after all the user could edit both the tiddler content and the new “overview” field so I see no need for change there.

So really the topic I am proposing for discussion is the idea of a tiddler field (text only) which gives a one or two sentence overview of the main content of a tiddler and might be displayed in place of the main content when the user wants to quickly scan many tiddlers which they are already familiar with refreshing their existing understanding and recollection - an “aide memoire” mode.

I added this as a topic for discussion because people more expert than me may have better ideas or see the bigger picture or have suggestions on the best way to implement this - I think I will figure out how to do it on my own but would not be sure I had identified the best way to do it.

A very simple implementation would be to open the tiddler “$:/core/ui/ViewTemplate/body”, clone it and replace the contents with

<$reveal tag="div" class="tc-tiddler-body" type="nomatch" stateTitle=<<folded-state>> text="hide" retain="yes" animate="yes">
<$list filter="[all[current]has[summary]]">
{{!!summary}}
<details>
<summary>View details</summary>
<$transclude tiddler={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/ViewTemplateBodyFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/ViewTemplate/body/default]] }}} />
</details>
</$list>
<$list filter="[all[current]!has[summary]]">
<$transclude tiddler={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/ViewTemplateBodyFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/ViewTemplate/body/default]] }}} />
</$list>
</$reveal>

If you now add a field summary, it will now render the the summary contents in the body of the tiddler, with the main text hidden as a “details box”:

image

I did create 2 plugins, that should allow you to do exactly what you describe here. … It was created for a slightly different purpose, but it should be a close fit.

See: [Intro] Field Editor Plugin
and: [Intro] Field Visibility Plugin

The field-editor plugin does extend the TW edit mode, to edit 2 fields at the same time, side by side. So it’s possible to create a “summary field”, while you can scroll the full text to find the right words for the summary.

The “field-visibility” plugin, is an optional helper, that allows you to “show / hide” your summary field in edit mode.

There is a video: Field Editor & Field Visibility Plugin - YouTube which shows the initial version of the plugins.

The main difference is, that if the “summary” field is missing, the plugin will show the full text. IMO it doesn’t make sense, to show an empty tiddler body, just because the summary is missing. So the “fallback mode” is to show the full text instead.

Many thanks Pmario - I will play around with it and see what develops- we differ in our needs regards the above quote since a lot of my main content are entire articles but I am sure I will figure out an alternative - much appreciated. :grinning:

Many thanks Anjar - I will play around with your suggestion :grinning:

Since the plugin uses the new view- and edit-template cascade mechanism, it should be relatively straight forward to create a custom view, which will show the “summary” if available and an eg: “n/a” message if no summary field exists. … so the tiddlers could be short instead.

Or the full text could be hidden behind a “view details” button as Anjar suggested

Hi Anjar,

I have had time to play around with your suggestion - it is not yet quite what I want.

I don’t really want the “view details” part as hundreds of my tiddlers already have a “view details” because they are article length - I would prefer not to nest “view details”.

Instead I want to react to a global value that can be set in my custom sidebar tab. I already have a pulldown in a custom sidebar tab which sets a variable which I use to control whether the story river orders tiddlers by date created or date modified - so I would probably just create another pulldown with two values - show ‘full’ or ‘summary’ - other existing buttons on the same sidebar give me various options to populate the story river which would then be displayed in full or summary according to the pull down control.

The logic in my cloned version of “$:/core/ui/ViewTemplate/body” expressed in “pseudo conditional logic code” would be more along the lines of…


if( global( showOnlySummaries ) == 'summary' )
 {
 //comment: Note in the case where there is no summary then we will show only the tiddler title so no action required here.
 <$list filter="[all[current]has[summary]]">
 {{!!summary}}
 </$list> 
 }
else
{
// Comment: show tiddler body in full, don't show summary - no change from current situation
<$list filter="[all[current]]">
  <$transclude tiddler={{{ [<currentTiddler>] ...
</$list>
}


If I take your example as a starting point then what I am missing here is the knowledge of how to use a global var which is set in my sidebar to ensure that only one of my two list filters produces output, I understand of course that I cannot use the usual high level language IF/ELSE conditionals so the problem for me is understanding how to work with Tiddlywiki filter logic to achieve the same result.

I don’t require the story river to update upon a change in the pulldown ( full / summary ) - simply that the next time I populate the story river then the new setting value will be observed.

To create a “global variable”, you can write a value to a hidden tiddler using code like this:

<$button class="tc-btn-invisible">show summaries
<$action-setfield $tiddler="$:/config/jonnie/ShowSummaries" text="yes"/>
</$button>
<$button class="tc-btn-invisible">show full content
<$action-setfield $tiddler="$:/config/jonnie/ShowSummaries" text="no"/>
</$button>

then, you can use this setting with code like this:

<$list filter="[{$:/config/jonnie/ShowSummaries}match[yes]]" variable="showsummary">
    {{!!summary}}
</$list>
<$list filter="[{$:/config/jonnie/ShowSummaries}!match[yes]]" variable="showfull">
    <$transclude />
</$list>

enjoy,
-e

1 Like

Thanks for that Eric. :grinning:

TiddlyMemo may fit your needs.