How do you make a tiddler appear at a certain time?

Greetings to the TW Community.

How do I make a tiddler appear at a date when launching a tiddlywiki ‘notebook’? Specifically, it’s kind of like the tiddlywiki setting where we’re asked to choose what tiddler shows up when opening a tiddlywiki ‘notebook’ but in this case it opens tiddler/s that were chosen to be opened at this current date.

The reason I’m asking is because I want to create some notes about a topic and review and revise it at a later date.

The simplest approach is to have a Home tiddler that lists current items and construct a filter that excludes future dates. When that date arrives that item will appear in the list.

  • I suggest using a custom date field, do not use created or modified
  • Search for a date picker

There are plugins and editions that help with spaced repitition learning so keep looking before building.

I also like to set a date when I viewed something, then list items I have not reviewed for 1 week, a fortnight etc… that is dont force me to set a future date for review just list items I have not reviewed for a fortnight.

  • This method avoids the need to select a future date
  • for example stamp weekly-review-date with now, and list tiddlers with weekly-review-date the days[-7] or similar.
    • The advantage being if you do not review something it remains in the list until you do.

However you can do extramly advanced date and time things with a search for time here https://tiddlytools.com/ and others also.

1 Like

Great insight. I haven’t thought of that.

That’s a great idea. I like the approach - plain and simple. I’ll keep these things in mind as I’m still learning the basics of tiddlywiki. Thanks!

The DefaultTiddlers (set via $:/ControlPanel > Info > Basics) can contain filter syntax. Thus, to show a specific tiddler on a selected date, you can add this filter to the DefaultTiddlers definition:

[show-date<now YYYY0MM0DD>]

Then, for any tiddler you want to have displayed at startup, simply add a show-date field to that tiddler, where the field contents are the desired date, using YYYY0MM0DD format (e.g., “20230424”).

When the DefaultTiddlers filter is processed (at startup, or whenever you press the “Home” button from the sidebar), any tiddler that has a show-date field with a value matching the current date will automatically be displayed.

enjoy,
-e

3 Likes

Very helpful. Thanks!

What I did was use this tiddler to add a [crontab[]] filter. I could then add the following to my Default Tiddlers: [tag[scheduled]crontab[]] and each tagged tiddler has a corresponding crontab: field.

I use it on my homepage to show this tiddler every June

I had a need for something like this. I use TW as a work log of sorts and there are certain tasks that need to be done on a regular schedule (every Monday, on a certain date,etc). I wanted those tasks to pop up in the main story river on the days they needed to be done as a reminder.

What I did was create a tiddler with the $:/tags/PageTemplate tag. In that tiddler I placed some markup to get any tiddlers whose day or date field was today (day=Tuesday or date=2023-04-25 for example).

<div class="fixed top-0 right-0 grid grid-cols-1 rounded bg-sky-500 px-2 py-2 border-solid border border-sky-600 -mt-2 mb-4 w-64 shadow-lg z-[600]">
<$list filter="[day<now DDD>][date<now YYYY-0MM-DD>]">
<div class="bg-sky-100 inline rounded px-2 py-1 text-xs mr-2 mt-2 border border-solid border-sky-200 "><$link to={{!!title}}/></div>
</$list>
</div>

Now I can create any tiddler with a day or date field filled in and it will show the title in a blue box at the top right of the screen. If I click on the title in the box it will take me to that tiddler for more detailed info. This is all styled with tailwindcss and using the notebook theme so you would have to change the formatting for your needs.