This page is part of a static HTML representation of the TiddlyWiki at http://tiddlywiki.com/

4th February 2016 at 10:53pm

Interesting article giving the perspective of someone who has been away from TiddlyWiki for a few years:

http://www.networkworld.com/article/3028098/open-source-tools/tiddlywiki-a-free-open-source-wiki-revisited.html

Way back in the mists of time (actually, January 2009) I wrote about a really cool tool called TiddlyWiki, a “non-linear personal web notebook”. Fast forward to today and I just had an out of body experience: Completely by accident I found a TiddlyWiki that I started when I wrote that piece and it still works!

Finding code that works flawlessly after just two or three years is magical enough but after seven years?! And given that TiddlyWiki is written as a single page Web application and considering how different browsers are now than they were in 2009, the fact that the old version of TiddlyWiki still works is not short of miraculous.

"A Thesis Notebook" by Alberto Molina

2nd March 2013 at 8:45am

A thesis notebook based on TiddlyWiki.

http://tesis.tiddlyspot.com/

This is an example of a thesis notebook powered by TiddlyWiki 5.0.8-beta.

TiddlyWiki is a great piece of software created by Jeremy Ruston. It allows you, among other things, to take notes, organize ideas, store information, and display all your stuff the way you want. It is an incredibly flexible tool you can adapt to fit almost all your needs.

This TiddlyWiki has been customized to serve as a philosophy notebook centered around authors, books and papers, concepts and theories, and personal notes. I use it along with Zotero, which is a dedicated bibliography software. Both are free, open source projects. TiddlyWiki can be downloaded at http://tiddlywiki.com.

"BJTools" by buggyj

21st March 2014 at 8:45am

buggyj has created several useful plugins, including a WYSIWYG HTML editor, a configurable calendar and tag lists with draggable ordering.

http://bjtools.tiddlyspot.com

"BrainTest - tools for a digital brain" by Danielo Rodriguez

21st March 2014 at 8:45am

A collection of customisations and macros from Danielo Rodriguez.

http://braintest.tiddlyspot.com/

This is my personal tiddlywiki file for testing.

Here I will post the tools and Macros that I develop for this awesome tool. That way, all the help the comunity gave me can came back to the comunity again.

"CouchDB Adaptor" by William Shallum

27th September 2014 at 4:59pm

An adaptor to enable TiddlyWiki to sync changes with a CouchDB database.

https://github.com/wshallum/couchadaptor

CouchDB sync adaptor for TiddlyWiki 5. Requires TiddlyWiki >= 5.1.2.

Works in limited testing. Not sure how well it handles conflicts.

"Creating a baby journal with TiddlyWiki 5" from A Penguin in Redmond

20th February 2014 at 8:45am

A guide to creating a baby journal with TiddlyWiki.

http://a-penguin-in-redmond.blogspot.co.uk/2014/02/creating-baby-journal-with-tiddlywiki-5.html

Keeping a journal about your baby is fun. It allows you to keep track of those events in your baby's life and development that are most important to you, and to tell them in your own words. [...]

There are plenty of online services that can help to keep such a diary, but you need to have an internet connection to access them, and you have to trust them to keep your data safe.

"Encrypt single tiddler plugin" by Danielo Rodriguez

2nd June 2015 at 9:45am

A plugin that allows to encrypt your tiddlers individually Danielo Rodriguez.

http://danielorodriguez.com/TW5-EncryptTiddlerPlugin/

Advantages:

  • You can specify a different password for each tiddler if you want.
  • You don't have to encrypt your whole wiky.
  • If you forget your password, you only lose a tiddler.
  • It's possible to edit the tiddler content , tags and fields except the encrypt field after encryption.
  • [...]

"GSD5" by Roma Hicks

30th December 2014 at 6:29pm

An adaptation of the TiddlyWiki powered GTD® system formerly known as MonkeyGTD for TiddlyWiki version 5.

http://gsd5.tiddlyspot.com/

GSD5 is a Getting-Thing-Done tool for TiddlyWiki5 based off the mGSD classic TiddlyWiki.

"Heeg.ru" by sini-Kit

15th December 2014 at 5:40pm

A guide in Russian to creating an online shop with TiddlyWiki. No serverside code is needed, instead orders are handled by Disqus.

http://heeg.ru/

"In My Socks" by Jed Carty

22nd November 2014 at 9:38am

An extensive collection of hints and tips from Jed Carty.

http://inmysocks.tiddlyspot.com

I made this so that some of my friends with absolutely no coding experience could use some of the better features of TW5 without having to learn much. I am hopefully going to continue updating it as I learn new things. There isn't really anything here that isn't available in plenty of other places, but I figured that since I spent a while putting it together and people keep saying that TW needs more documentation I would post it here.

"Install and run TiddlyWiki on a CentOS 6 VPS using Nginx" from RoseHosting

12th March 2014 at 8:45am

A step by step guide to running TiddlyWiki on a CentOS Virtual Private Server.

http://www.rosehosting.com/blog/install-and-run-tiddlywiki-on-a-centoos-6-vps-using-nginx/

In this tutorial we will guide you through the steps of installing and running TiddlyWiki on a CentOS 6 VPS.

We will also install and configure Nginx as a reverse proxy, so you can run TiddlyWiki behind Nginx.

"Mal's Sandbox" by Mal

1st May 2016 at 2:19pm

A collection of extensions by @malgam

http://malsandbox.tiddlyspot.com

The "loadnew" plugin provides the JavaScript module $:/plugins/malgam/loadnew/loadnew.js that implements an incremental load command for Tiddlywiki 5.

The javascript code is based on the built-in module $:/core/modules/commands/load.js that loads tiddlers from a Tiddlywiki file into a node.js Tiddlywiki instance. This command loads all non-system tiddlers, irrespective of whether they have been modified since last loaded. As a result, all tiddlers in the node.js tiddlers folder will end up with a new modification date.

In contrast, the loadnew command only loads tiddlers that either don't already exist in the tiddlers folder, or have a newer modified date than the existing tiddler.

With a backup strategy that uses a file system snapshot process to preserve historical versions of tiddlers, the loadnew command minimises the sizes of the resulting snapshots.

"Microblogging con Tiddlywiki" by Juan

8th October 2014 at 2:43pm

A Spanish guide to using TiddlyWiki on Android.

http://3palmeras.wordpress.com/2014/11/05/microblogging-con-tiddlywiki/

Tiddlywiki software is prodigious based on javascript which is capable of holding a notepad that can be edited with Internet Explorer or function as a full blog, contained in a single file.

Translation by Google Translate

"Notizen mit TiddlyWiki systemübergreifend nutzen" by Michael Sonntag

10th September 2014 at 11:28am

A quick guide to using TiddlyWiki (written in German)

http://michaelsonntag.net/notizen-mit-tiddlywiki-systemuebergreifend-nutzen

Those using multiple different computer platforms (if only PC and Android) knows for certain: You would like to sync notes across computers and thereby be independent of any apps or services. I am concerned at any rate so and so I am constantly looking for the perfect solution.

With TiddlyWiki I found it mostly. As the name suggests, it TiddlyWiki is a Wikisystem. In contrast to all other wikis, TiddlyWiki is a single HTML file that runs in the browser and thus can be used on all modern operating systems. And because there is only one file, it can be very easily via the well-known cloud services (Dropbox, Google Drive, ownCloud) or synchronized with FTP or used on a USB stick.

(Translation from German by Google Translate)

"PETTIL - Forth for the Commodore PET" by Charlie Hitselberger

16th July 2014 at 9:45am

A fast Forth interpreter for the Commodore PET, written in 6502 assembly language. The TiddlyWiki containing program documentation is automatically generated from the source code: see https://github.com/chitselb/pettil.

http://chitselb.com/files/tiddlypettil.html

Objectives of the project are, in no particular order:

  • make a Forth that runs on my Commodore PET 2001
  • have fun
  • improve my "6502 assembly golf" skills
  • find other people who are interested in this project

"Setting Up a Personal TiddlyWiki Server on OS X" by Kris Johnson

3rd April 2015 at 11:42am

Detailed description of setting up TiddlyWiki on Node.js on OS X.

http://undefinedvalue.com/2015/04/02/setting-personal-tiddlywiki-server-os-x

For a new job, I decided to set up a personal wiki to keep notes. I wanted to keep it simple, meeting these requirements:

  • All the data is in a Dropbox folder (so it can be automatically synced between machines)
  • It must support Markdown syntax

After looking at the options, I settled on TiddlyWiki. I've used "classic TiddlyWiki" before, and liked its simplicity, but I was always a little annoyed with the weird steps you have to go through to save changes. The new version of TiddlyWiki includes support for running it as a real HTTP server, so you can use it just like an online wiki.

But it took me a couple of hours to figure out how to set that up. The TiddlyWiki documentation is not clear ("not clear" is a euphemistic way of saying "terrible"). So, I've written up these instructions in the hope it will spare somebody else all the frustration I had.

"Shining Ark Using TiddlyWiki" by Helu

7th September 2013 at 9:45am

A gamers guide to using TiddlyWiki.

http://helugame.wordpress.com/2013/09/07/shining-ark-7-using-tiddlywiki/

I’ve been using TiddlyWiki for this game mainly to record the monsters’ locations and the items that they drop. This is so that when I need a certain item to upgrade/create weapons, I can quickly look it up; which monsters drop it and which quests have those monsters.

As I play the game, as I encounter new information, I just input them into my Shining Ark TiddlyWiki. It’s like I’m building a wiki from scratch. The reason why I don’t just use online wikis is that 1) it’s too easy to get spoiled and 2) sometimes online wikis provide too much information (who cares about the non-gameplay related descriptions that can be found in the game, etc).

"SK Plugins" by Stephen Kimmel

5th May 2016 at 7:09pm

A collection of plugins by Stephen Kimmel, including a number of additional editor toolbar buttons.

http://skplugins.tiddlyspot.com/

In keeping with the general spirit of the TiddlyWiki community, ie, you develop something useful and/or potentially interesting you share it with others, I'm sharing some of the plugins I've developed to go with the new Editor Toolbar. You'll find them and a more extensive discussion of what each does at http://skplugins.tiddlyspot.com/

"TB5 - a pocket full of tips" by Tobias Beer

21st March 2014 at 8:45am

A collection of tips from Tobias Beer

http://tb5.tiddlyspot.com/

A collection of references and sandbox for testing concepts around TiddlyWiki 5...

"TiddlyWiki 5 im Betatest" by besim

5th January 2014 at 8:45am

Reaction to TiddlyWiki5 from the translator of the German edition of TiddlyWikiClassic.

http://blog.netplanet.org/2014/01/03/tiddlywiki-5-im-betatest/

There is little software that can still inspire me so even after years, as on the first day. This includes TiddlyWiki, the "pocket-wiki". The latter is because the Wiki completely fits into an HTML file, and this HTML file brings everything - JavaScript program logic, CSS appearance and the entire Wiki content as stored records. So a TiddlyWiki file is then sometimes happy times some megabytes in size, but just has the unbeatable advantage that it works just as fast file created locally in a variety of browsers.

(Translation from German by Google Translate)

"TiddlyWiki for Scholars" by Alberto Molina

20th July 2014 at 9:45am

An early release of an edition of TiddlyWiki customised for rigorous, academic notetaking.

http://tw5.scholars.tiddlyspot.com/

TiddlyWiki for Scholars is a personal customization of TiddlyWiki 5.0.13-beta I made for note-taking from readings, but it can be useful for other purposes. The idea behind this adaptation is to show and to allow creating relevant data related to the current tiddler without leaving the tiddler.

"TiddlyWiki guide FR" by Sylvain Naudin

31st October 2014 at 9:02pm

A collection of tips and guides in French, introduced by this blog post:

http://sylvain.naud.in/post/2014/10/29/Ressources-pour-TiddlyWiki-5-%28FR%29

Ce guide de prise en main de TiddlyWiki vous permettra de débuter sur ce logiciel : rédiger du texte avec la syntaxe wiki, insérer des images, créer des Tiddler, faire une recherche, ajouter des fonctionnalités, et bien d'autres choses.. Bonne lecture ! Sylvain

"TiddlyWiki Notes" by James Anderson

27th March 2014 at 8:45am

Notes and tips by a developer working on writing TiddlyWiki plugins – including TWExe, a widget for running Windows scripts and executables.

http://welford.github.io

"TiddlyWiki Posts" by Jeffrey Kishner

29th January 2014 at 8:45am

A collection of articles covering integration with Fargo, Font Awesome and Google Calendar, and tips for managing task lists.

http://blog.jeffreykishner.com/tiddlywiki/

I have become a regular user of TiddlyWiki and have become so accustomed to using Font Awesome icons in Fargo that I wanted to incorporate the icons into my wikis as well.

"TiddlyWiki 舞" by Bram Chen

22nd March 2014 at 8:45am

A translation of the tiddlywiki.com documentation from Bram Chen, TiddlyWiki's Chinese translator.

http://tw5-zh.tiddlyspot.com

"TiddlyWiki" by Sander de Boer

27th November 2014 at 4:32pm

Dutch blog post about TiddlyWiki

https://breinbout.wordpress.com/2014/11/26/tiddlywiki/

I'm allergic to websites that are highly dependent on JavaScript. I think that JavaScript has many useful applications to add functionality to a site, but content needs to be visible if JavaScript is switched off. I use the NoScript extension for Firefox and surf with pleasure over the Internet without spontaneous things happen that I do not give permission. I love JavaScript on a short leash. More crazier maybe I'm so excited about TiddlyWiki.

(Translation from Dutch by Google Translate)

"TiddlyWiki5 Bourbon" by mkt_memory

20th October 2014 at 8:27am

An extensive collection of tips and resources for users of TiddlyWiki in Japanese.

http://bacchus.ivory.ne.jp/bourbon/

TiddlyWikiをHTML5にしたTiddlyWiki5が正式にリリースされました。このTiddlyWiki5の使い方について、自分で試した機能を中心に解説します。

TiddlyWiki5は、非常に多機能なローカルWikiです。このブログに書いてあることは、TiddlyWiki5で出来ることのごく一部です。

"TiddlyWiki5 Coding" by Chris Hunt

21st March 2014 at 8:45am

Chris Hunt's detailed developer tutorials for getting started with writing widgets for TiddlyWiki.

http://cjhunt.github.io/

These pages document aspects TiddlyWiki5 programming, sharing "lessons learned" to help developers to get started with TiddlyWiki5 customization and extension.

There are currently two articles in this wiki:

  • A Simple Widget
  • A More Complex Widget

"TiddlyWiki5 Playground" by Ton Gerner

21st March 2014 at 8:45am

Huge collection of customisations and tweaks from Ton Gerner.

http://tongerner.tiddlyspot.com/

I am a longtime user of TiddlyWiki Classic and still use it daily since you can't do everything in TiddlyWiki 5 (yet) ;)

I started experimenting with TW5 at the end of September 2013 (alpha10). Since I missed a few things in the layout I got used to in TiddlyWiki Classic 1, I started with modifying the layout of TW5. To share my knowledge, I made a few guides about these 'modifications'. The guides started as a non-linear personal web notebook (yeah, the subtitle of TiddlyWiki!). I started experimenting with layout things and used TW5 to document my experiments.

"TiddlyWiki5^2 documenting while learning TiddlyWiki5" by Iannis Zannos

9th October 2014 at 6:07pm

A wealth of hints, tips and notes about using TiddlyWiki on Node.js:

http://larigot.avarts.ionio.gr/users/iani/wikis/tw5square.html

TiddlyWiki is different from other wikis because of its principle of dynamically customizeable "storyline" based on tiddlers as basic units of information. That is, the user "composes" their own version of the webpage by clicking on tiddler links, which add tiddlers to the page in order to compose a storyline.

The Node.js implementation in TiddlyWiki5 adds all the advantages of flat-file markup language based type of site. This makes TiddlyWiki an excellent alternative to flat-file based CMS/webpage/blog authoring systems for the web.

Also very cool is the treatment of tags as menus everywhere.

"TW5 Magick" by Stephan Hradek

21st March 2014 at 8:45am

Stephan Hradek's growing catalogue of tips, tutorials, and other resources. Stephan has also developed several plugins and macros that you can find at http://tiddlystuff.tiddlyspot.com/.

http://tw5magick.tiddlyspot.com/

Some things in TiddlyWiki seem like Magic. As my preferred nick is Skeeve, I felt that TW5 Magick is a proper name for this collection of some of the "magic" tricks one can do with TiddlyWiki.

"TW5 Mall" by David Gifford

21st March 2014 at 8:45am

Dave Gifford's growing catalogue of tips and tutorials.

http://www.giffmex.org/tw5mall.htm

TiddlyWiki 5 is a great tool for note-taking, bookmarking, blogging, organizing to do lists, writing books, and more. But many of the things that can be done in TiddlyWiki 5 are often hidden to the new user, either because the user doesn't know about it or because the user doesn't know how to do it. TW5 mall is a modest catalog of hacks where you can discover new tricks in TiddlyWiki 5 and also find out in layman's terms how to implement them.

"TW5 Tribal Knowledge" from Scott Kingery

21st March 2014 at 8:45am

Tips and guides for using TiddlyWiki.

http://dl.dropboxusercontent.com/u/118970/wiki/tw5tribalknowledge.html

I never used Node.js until a couple weeks ago when I wanted to try a TW5 installation on Node and expand my knowledge a bit. I figured someone else may be in the same boat so I wrote it all down

"TW5-TeXZilla" plugin by Joe Renes

6th February 2015 at 5:03pm

An alternative LaTeX plugin for TiddlyWiki5. It supports a wider set of LaTeX commands than KaTeX, though not as extensive as MathJax

http://tw5-texzilla.tiddlyspot.com

This plugin provides LaTeX support in TiddlyWiki5, using the TeXZilla latex parser to generate MathML.

Only Firefox and Safari support MathML at the moment, so the plugin is only useful if you're using one of these browsers. It might be possible to combine this plugin with MathJax to convert MathML to something that other browsers can understand, e.g. HTML+CSS, but I haven't tried this.

"TWeb.at" by Mario Pietsch

10th April 2014 at 11:31am

A collection of TiddlyWiki resources from Mario Pietsch, with a focus on cloud deployments. Mario also maintains the German translation of TiddlyWiki.

https://tweb.at

My name is Mario Pietsch from Austria. I'm living near Salzburg.

This page, will be the portal to my TiddlyWiki, TiddlyWeb related content.

"Un wiki sur votre BiblioBox avec TiddlyWiki" from A Penguin in Redmond

16th July 2014 at 9:45am

A guide (in French) to using TiddlyWiki on the BiblioBox, a variation of the PirateBox mobile communication and file sharing system.

http://bibliobox.net/blog/post/2014/07/16/un-wiki-sur-votre-bibliobox-avec-tiddlywiki

I've known TiddlyWiki since its beginning in 2004. For personal or professional needs, I used it regularly for notepad staff in 2007 and 2012. But I admit I ignored the tool during the past two years. And then I said yesterday: but why not put TiddlyWiki on a BiblioBox? Because it is a single HTML file with javascript. In addition I knew the existence of a server version for saving online amendments.

Hand optimised from a translation by Google Translate

"Wills Q&D gTD" by Matabele

5th May 2014 at 9:54am

Matabele's stylish and clean system for personal task management.

http://wills.tiddlyspot.com

This is my work in progress version of TW5, incorporating various features and ideas as and when they intrigue me. To grab any feature you may wish to try, drag the listed tiddlers across to the dropzone of an empty TiddlyWiki 5.0.10-beta

"デザイン刷新。次の25年を目指すTiddlyWiki" by Moongift

11th November 2013 at 8:45am

A Gentle Guide to TiddlyWiki

26th September 2015 at 6:10pm

TiddlyWiki is an incredibly flexible and versatile tool that is conceived and constructed differently than most software. This can make it hard to understand until the moment when it clicks, and becomes a seamless extension of your brain.

Starting with the basics, TiddlyWiki is a note-taking web application you can download for free, store wherever you like and customise however you wish. Use it to capture, organise and share your notes in ways that word processors and other note-taking tools cannot.

TiddlyWiki is designed to be non-linear, structuring content with stories, tags, hyperlinks, and other features. You can organise and retrieve your notes in ways that conform to your personal thought patterns, rather than feel chained to one preset organisational structure.

You can use TiddlyWiki as a single file that you view and edit through any web browser, whether you are online or offline. Or you can use it as a powerful Node.js application that stores each of your notes as a separate file.

How can you make TiddlyWiki work for you? We recommend you start with our introductory documentation listed below, and then browse the TableOfContents, available in the Contents tab in the sidebar. Or just follow our simple instructions and try it out for yourself!

Also see TiddlyWiki Video Tutorials by Francis Meetze

About

16th September 2014 at 2:20pm

Ace Editor Plugin by Joerg Plewe

3rd April 2015 at 12:10pm

A plugin to integrate the Ace editor into TiddlyWiki.

http://innoq.tiddlyspot.com

Being quite new to TW5 development I tried my best to draft a SyncAdaptor to store tiddlers in IndexedDb. This is quite useful if an application / plugin installation is not possible (we have quite some restrictions at work...).

Acknowledgements

12th September 2014 at 3:51pm

TiddlyWiki wouldn't be possible without the ongoing support of the TiddlyWiki Community. Their attention and feedback has made it possible to gain an understanding of what is wanted from the product, and their passion for it has taught me that it is worth the investment.

TiddlyWiki incorporates code from these fine OpenSource projects:

And media from these projects:

ActionDeleteFieldWidget

20th February 2015 at 4:20pm

Introduction

The action-deletefield widget is an action widget that deletes specified fields of a tiddler. ActionWidgets are used within triggering widgets such as the ButtonWidget.

Content and Attributes

The action-deletefield widget is invisible. Any content within it is ignored.

AttributeDescription
$tiddlerThe title of the tiddler whose fields are to be modified (if not provided defaults to the current tiddler
$fieldOptional name of a field to delete
{any attributes not starting with $}Each attribute name specifies a field to be deleted. The attribute value is ignored and need not be specified

Examples

Here is an example of a button that deletes the caption and tags fields of the current tiddler:

<$button>
<$action-deletefield caption tags/>
Delete "caption" and "tags"
</$button>

That renders as:

Here is an example of a button that deletes the modified date and tags fields of the tiddler HelloThere:

<$button>
<$action-deletefield $tiddler="HelloThere" modified tags/>
Delete "modified" and "tags" from ~HelloThere
</$button>

That renders as:

Here is an example of a button that uses the optional $field attribute to delete the text field of the tiddler HelloThere:

<$button>
<$action-deletefield $tiddler="HelloThere" $field="text"/>
Delete text from ~HelloThere
</$button>

That renders as:

ActionDeleteTiddlerWidget

6th November 2014 at 5:34pm

Introduction

The action-deletetiddler widget is an action widget that deletes tiddlers. ActionWidgets are used within triggering widgets such as the ButtonWidget.

There are several differences compared to the WidgetMessage: tm-delete-tiddler:

  • The user is not prompted to confirm the deletion
  • No automatic updating of the story list
  • No special handling of draft tiddlers

Content and Attributes

The action-deletetiddler widget is invisible. Any content within it is ignored.

AttributeDescription
$tiddlerOptional title of the tiddler to be deleted
$filterOptional filter identifying tiddlers to be deleted

Examples

Here is an example of a button that deletes the tiddler HelloThere:

<$button>
<$action-deletetiddler $tiddler="HelloThere"/>
Delete "~HelloThere"
</$button>

That renders as:

Here is an example of a button that deletes all tiddlers tagged TableOfContents:

<$button>
<$action-deletetiddler $filter="[tag[TableOfContents]]"/>
Delete tiddlers tagged "~TableOfContents"
</$button>

That renders as:

ActionListopsWidget

28th December 2015 at 8:33am

Introduction

The action-listops widget is an action widget that manipulates user lists in any field or data index. ActionWidgets are used within triggering widgets such as the ButtonWidget.

Content and Attributes

The action-listops widget is invisible. Any content within it is ignored.

AttributeDescription
$tiddlerThe title of the tiddler whose lists are to be modified (if not provided defaults to the current tiddler
$fieldThe name of a field to be manipulated as a list (defaults to 'list')
$indexOptional index of a property in a data tiddler index to be manipulated as a list
$filterAn optional filter expression, the output of which will be saved to the field/index being manipulated
$subfilterAn optional subfilter expression, which takes the list being manipulated as input, and saves the modified list back to the field/index being manipulated
$tagsAn optional subfilter expression, which takes the 'tags' field of the target tiddler as input, and saves the modified list of tags back to the 'tags' field

Extended Filter Operators

A number of extended filter operators are necessary for the manipulation of lists. These operators have been designed primarily for use in subfilter expressions whereby the modified current list is returned in place of the current list.

Listops Operators
Operator Purpose
allafter discard all items except those after the marker
allbefore discard all items except those before the marker
append append a range of items from an array to the list
move move marker N places in the list
prepend prepend a range of items from an array to the list
putafter move N trailing items after the marker
putbefore move N trailing items before the marker
putfirst move N trailing items to the head of the list
putlast move N leading items to the tail of the list
remove remove a range of items in an array from the current list
replace replace marker with N trailing items
sortby sort the current list in the order of the list referenced in the operand

Examples

In this example we shall populate and then clear a list in an ordinary field (myfield) of this tiddler (the default.)

<$button>
<$action-listops $field="myfield" $subfilter="efg hlm pqr"/>
Populate 'myfield'
</$button>
<$button>
<$action-listops $field="myfield" $subfilter="abc xyz"/>
Append More Items
</$button>
<$button>
<$action-listops $field="myfield" $subfilter="-abc -hlm"/>
Remove Items
</$button>
<$button>
<$action-listops $field="myfield" $filter="[[]]"/>
Clear 'myfield'
</$button>

<$list filter="[list[!!myfield]]">

</$list>

That renders as:


In this example we shall append and remove items from a list in an ordinary field (myfield) of this tiddler (the default) and sort the resultant list. We shall then remove some of the appended items and sort the resulting list in reverse order.

<$button>
<$action-listops $field="myfield" $subfilter="-efg ijk xyz [[this is a title]] +[sort[]]"/>
Mangle List
</$button>
<$button>
<$action-listops $field="myfield" $subfilter="-xyz -[[this is a title]] +[!sort[]]"/>
Unmangle List
</$button>

<$list filter="[list[!!myfield]]">

</$list>

That renders as:


In this example we shall append a few tags to the 'tags' field of this tiddler (the default.) We shall then remove some of the appended tags.

<$button>
<$action-listops $tags="+[append{Days of the Week!!short}] $:/tag1 $:/tag2 $:/tag3"/>
Populate 'tags'
</$button>
<$button>
<$action-listops $tags="+[!remove:2{!!tags}]"/>
Remove Last Two Tags
</$button>
<$button>
<$action-listops $tags="+[!prefix[$:/]]"/>
Remove System Tags
</$button>
<$button>
<$action-listops $tags="-Mon -Tue"/>
Remove Mon and Tue
</$button>
<$button>
<$action-listops $tags="+[prefix[$:/]] ActionWidgets Widgets"/>
Remove User Tags
</$button>
<$button>
<$action-listops $tags="+[[]] ActionWidgets Widgets"/>
Clear Tags
</$button>

<$list filter="[list[!!tags]]">

</$list>

That renders as:

ActionWidgets
Widgets

ActionNavigateWidget

20th February 2015 at 4:20pm

Introduction

The action-navigate widget is an action widget that sends a tm-navigate message back up the widget tree. ActionWidgets are used within triggering widgets such as the ButtonWidget.

Content and Attributes

The action-navigate widget is invisible. Any content within it is ignored.

AttributeDescription
$toThe title of the target tiddler for the navigation (if not provided defaults to the current tiddler
$scrollOptional parameter determining whether the navigation will also cause a scroll to the target tiddler (see below)

Scroll handling

The optional $scroll attribute can be set to "yes" to force scrolling to occur to bring the target tiddler into view. If set to "no" then scrolling does not occur. If the $scroll attribute is omitted then scrolling occurs unless either:

  • the control key is pressed
  • the action was initiated with the middle mouse button (if available)

Note that if navigating to multiple tiddlers at once you should use the same $scroll setting for all of them.

Examples

Here is an example of button that navigates to two different tiddlers at once:

<$button>
<$action-navigate $to="ButtonWidget"/>
<$action-navigate $to="ActionWidgets"/>
Click me!
</$button>

That renders as:

ActionSendMessageWidget

18th May 2015 at 10:09pm

Introduction

The action-sendmessage widget is an action widget that sends a message back up the widget tree. ActionWidgets are used within triggering widgets such as the ButtonWidget.

Content and Attributes

The action-sendmessage widget is invisible. Any content within it is ignored.

AttributeDescription
$messageThe message to send (eg, WidgetMessage: tm-new-tiddler)
$paramOptional parameter string whose meaning is dependent on the message being sent
$nameOptional name of additional parameter
$valueValue for optional parameter whose name is specified in $name
{any attributes not starting with $}Multiple additional, optional named parameters that are attached to the message

Examples

Here is an example of button that displays both a notification and a wizard, and creates a new tiddler with tags and text:

<$button>
<$action-sendmessage $message="tm-modal" $param="SampleWizard"/>
<$action-sendmessage $message="tm-notify" $param="SampleNotification"/>
<$action-sendmessage $message="tm-new-tiddler" title="This is newly created tiddler" tags="OneTag [[Another Tag]]" text=<<now "Today is DDth, MMM YYYY">>/>
Click me!
</$button>

That renders as:

ActionSetFieldWidget

6th August 2015 at 6:14pm

Introduction

The action-setfield widget is an action widget that assigns values to the fields of a tiddler. ActionWidgets are used within triggering widgets such as the ButtonWidget.

Content and Attributes

The action-setfield widget is invisible. Any content within it is ignored.

AttributeDescription
$tiddlerThe title of the tiddler whose fields are to be modified (if not provided defaults to the current tiddler
$fieldOptional name of a field to be assigned the $value attribute
$indexOptional index of a property in a data tiddler to be assigned the $value attribute
$valueThe value to be assigned to the field or index identified by the $field or $index attribute. If neither is specified then the value is assigned to the text field. If no value is specified, $field or $index will be deleted.
$timestampSpecifies whether the timestamp(s) of the target tiddler will be updated (modified and modifier, plus created and creator for newly created tiddlers). Can be "yes" (the default) or "no"
{any attributes not starting with $}Each attribute name specifies a field to be modified with the attribute value providing the value to assign to the field

Examples

Here is an example of a pair of buttons that open the control panel directly to specified tabs. They work by using action-setfield to set the state tiddler for the control panel tabs.

<$button>
<$action-setfield $tiddler="$:/state/tab-1749438307" text="$:/core/ui/ControlPanel/Appearance"/>
<$action-navigate $to="$:/ControlPanel"/>
Go to Control Panel "Appearance" tab
</$button>

<$button>
<$action-setfield $tiddler="$:/state/tab-1749438307" text="$:/core/ui/ControlPanel/Settings"/>
<$action-navigate $to="$:/ControlPanel"/>
Go to Control Panel "Settings" tab
</$button>

That renders as:

Here is an example of a button that assigns tags and fields to the tiddler HelloThere, and then navigates to it and opens the tiddler info panel on the "Fields" tab:

<$button>
<$action-setfield $tiddler="HelloThere" tags="NewTag [[Another New Tag]]" color="red"/>
<$action-setfield $tiddler="$:/state/popup/tiddler-info--1779055697" text="(568,1443,33,39)"/>
<$action-setfield $tiddler="$:/state/tab--1890574033" text="$:/core/ui/TiddlerInfo/Fields"/>
<$action-navigate $to="HelloThere"/>
Modify ~HelloThere
</$button>

That renders as:

Here is an example of a button that assigns tags and fields to the tiddler HelloThere, and then initiates editing it:

<$button>
<$action-setfield $tiddler="HelloThere" tags="MoreTag [[Further More Tags]]" color="green"/>
<$action-sendmessage $message="tm-edit-tiddler" $param="HelloThere"/>
Edit ~HelloThere
</$button>

That renders as:

Here is an example of a button that opens the control panel directly to the "Appearance" tabs:

<$button>
<$action-setfield $tiddler="$:/state/tab-1749438307" $field="text" $value="$:/core/ui/ControlPanel/Appearance"/>
<$action-navigate $to="$:/ControlPanel"/>
Go to Control Panel "Appearance" tab
</$button>

That renders as:

ActionWidgets

29th April 2016 at 5:52pm

Action widgets are a special type of widget that have no visual appearance but perform an action when triggered (such as sending a message, navigating to a tiddler, or changing the value of a tiddler). Action widgets are used in association with other widgets that trigger those actions (for example, the ButtonWidget).

The following action widgets are provided:

There are two ways to use action widgets:

  • Using the actions attribute of the triggering widget (this is the preferred way)
  • Embedding the actions within the triggering widget (an older technique that is now deprecated)

Assigning action widgets with the actions attribute

The action widgets are passed as a string to the actions attribute of the triggering widget. Usually, it is more convenient to use a macro to assign the action widgets to a variable. For example, here is a button that triggers two actions of sending different messages:

\define my-actions()
<$action-sendmessage $message="tm-home"/>
<$action-sendmessage $message="tm-full-screen"/>
\end

<$button actions=<<my-actions>>>
Click me!
</$button>

Assigning action widgets by embedding

The action widgets need not be immediate children of their triggering widget, but they must be descendents of it. The actions are performed in sequence. Here is the above example rewritten to use embedding:

<$button>
<$action-sendmessage $message="tm-home"/>
<$action-sendmessage $message="tm-full-screen"/>
Click me!
</$button>

Adding a Table of Contents to the Sidebar

8th June 2016 at 1:27pm

A customisable table of contents can be added to the sidebar with the following steps:

  1. Create a tiddler called TableOfContents
  2. Give it the tag $:/tags/SideBar
  3. Set the text to
    
    <div class="tc-table-of-contents">
    
    <<toc-selective-expandable 'TableOfContents'>>
    
    </div>
  4. Add a caption field with the text Contents
  5. Add a list-after field with the text $:/core/ui/SideBar/Open

Add entries to the table of contents by creating tiddlers tagged TableOfContents. An easy way is to choose </g> new here from the tiddler toolbar. To create sub-entries, tag them with the name of the parent entry.

Adding a Twitter Follow button

19th September 2014 at 5:15pm

Here's a macro that provides a Twitter Follow button for a particular username:

\define twitterFollowButton(username)
<iframe allowtransparency="true" frameborder="0" scrolling="no" src="//platform.twitter.com/widgets/follow_button.html?screen_name=$username$" style="width:300px; height:20px;"></iframe>
\end

The only change from the version published at https://dev.twitter.com/docs/follow-button is that new lines have been removed.

Note that the src URL is given without a protocol (ie "http" or "https"). It's done this way so that it works on sites whether they are hosted on a HTTP or HTTPS domain. If you want the Twitter button to work while using a TiddlyWiki offline on a "file://" URL, then you'll need to manually add the protocol. For example:

<iframe allowtransparency="true" frameborder="0" scrolling="no" src="http://platform.twitter.com/widgets/follow_button.html?screen_name=jermolene" style="width:300px; height:20px;"></iframe>

Adding Babel Polyfill to TiddlyWiki

12th January 2016 at 5:50pm

Not all browsers support the latest features of ES2015. The Babel project offers a polyfill that can be included into your TiddlyWiki so those features can be available to your plugins. To do this you will need a copy of the polyfill source.

You can obtain the source either through npm or downloaded/saved. See the Babel Polyfill documentation for specific information on installing it.

In your TiddlyWiki editions folder make sure you have a plugins/babel-polyfill folder. Then create the plugins/babel-polyfill/plugin.info file with the following in it:

{
  "title": "$:/plugins/babel/babel-polyfill",
  "description": "Babel Polyfills for ES2015 support",
  "author": "Your Name Here",
  "core-version": ">=5.0.0"
}

Create the folder plugins/babel-polyfill/files folder. Then create the plugins/babel-polyfill/files/tiddlywiki.files file with the following in it:

{
  "tiddlers": [
    {
      "file": "polyfill.min.js",
      "fields": {
        "title": "$:/plugins/babel/babel-polyfill/polyfill.min.js",
        "type": "application/javascript",
        "module-type": "library",
        "global-module": "true"
      }
    }
  ]
}

Now copy the polyfill.min.js you downloaded/saved.

If you downloaded this via npm then it would be available in ./node_modules/babel-polyfill/dist/polyfill.min.js.

Lastly you need a initializer so create the plugins/babel-polyfill/plugin.js file with the following in it:

/*\
title: $:/plugins/babel/babel-polyfill/plugin.js
type: application/javascript
module-type: startup

Load the babel-polyfill library on startup

\*/

exports.startup = function() {
  $tw.modules.execute('$:/plugins/babel/babel-polyfill/polyfill.min.js');
}

Because the polyfill is meant to be used in the browser we need to conditionally load the library which ES2016 doesn't allow. This is why it is written using TiddlyWiki's dependency resolver instead of using ES2015 import statements.

Now all the runtime ES2015 features are available like using Promise in your plugin code.

See Using ES2016 for Writing Plugins on how to use the ES2015 syntax for your plugin code.

addprefix Operator

3rd February 2015 at 6:18pm
purposeextend each input title with a prefix
inputa selection of titles
parameterS = a string of characters
outputthe input, but with S added to the start of each title

addprefix Operator (Examples)

18th January 2015 at 6:31pm

Cat Garden [[Favourite Armchair]] +[addprefix[My ]]

addsuffix Operator

3rd February 2015 at 6:32pm
purposeextend each input title with a suffix
inputa selection of titles
parameterS = a string of characters
outputthe input, but with S added to the end of each title

addsuffix Operator (Examples)

18th January 2015 at 6:31pm

[[London]addsuffix[ Underground]]

Adopt a Titles Policy

12th September 2014 at 4:01pm

As the structures within your TiddlyWiki documents get more complex it can be hard to keep the titles of tiddlers consistent. For example, should terms be defined in the plural or the singular? Camel case or separate words?

Recording a formal titling policy can help to reduce confusion. For example, the titling policies for this wiki are recorded in the Documentation Style Guide.

SystemTiddler Titles

A useful convention is to use the prefix $:/_ for any system tiddlers that you create to ensure that they are near the top of the system tiddler listing in the sidebar

after Operator

3rd February 2015 at 6:32pm
purposefind which input title follows a specified one
inputa selection of titles
parameterT = one of those titles
outputthe title that immediately follows T in the input

If T is not present in the input, or is the last title there, then the output is empty.

Examples

after Operator (Examples)

18th January 2015 at 6:31pm

These examples make use of the Days of the Week tiddler. The Thursday tiddler shows a further example.

[list[Days of the Week]after[Monday]]

[list[Days of the Week]after[Sunday]]

AlertMechanism

6th June 2016 at 1:59pm

Alerts are displayed as yellow boxes overlaying the main TiddlyWiki window. Each one corresponds to a tiddler with the tag $:/tags/Alert. Clicking the delete icon on an alert deletes the corresponding tiddler.

Here's a demo .

Alert tiddlers should have the following fields:

FieldDescription
titleBy default, alert titles have the prefix $:/temp/alerts/
textThe text of the alert message
modifiedDate of the alert (used for ordering the alerts on screen)
componentComponent name associated with the alert
tagsMust include $:/tags/Alert

Alice in Wonderland

all Operator

20th February 2015 at 4:09pm
purposefind all titles of a fundamental category
inputignored, unless the parameter is empty
parameterzero or more categories
outputthe titles that belong to all the specified categories

The parameter specifies zero or more fundamental categories using the following syntax:

missingcurrentorphansshadowstiddlers+
CategoryMembersSorted
currentjust the current tiddler
missingall non-existent tiddlers to which there is at least one hard linkno
orphansall tiddlers to which there are no hard linksby title
shadowsall the shadow tiddlers that exist, including any that have been overridden with non-shadow tiddlersno
tiddlersall the non-shadow tiddlers that existno

If the parameter specifies more than one category, they are processed from left to right. The overall output is initially empty, and each category's output is dominantly appended to it in turn. Unrecognised categories contribute nothing to the output.

As a special case, if the parameter is empty, the output is simply a copy of the input. This can be useful when the parameter is soft.

The is operator is similar, but its scope is restricted to its input.

Examples

all Operator (Examples)

18th January 2015 at 6:31pm

[all[shadows]]

[all[shadows+tiddlers]]

[all[tiddlers+shadows]]

[all[orphans+missing+current]]

[all[current]]

[all[current]tag[Operator Examples]]

[all[current]tag[Recipes]]

Monday Thursday +[all[]]

allafter Operator

8th November 2015 at 5:15am
purposediscard all items except those after the marker
inputa list of items
suffixspecifying a suffix ('include') will include the marker in the output
parametermarker = the list item to be used as a marker
outputall items after the marker

allafter Operator (Examples)

8th November 2015 at 8:05am

These examples make use of the Days of the Week tiddler.

[list[Days of the Week]] +[allafter[Wednesday]]

[list[Days of the Week]] +[allafter:include[Wednesday]]

allbefore Operator

8th November 2015 at 5:15am
purposediscard all items except those before the marker
inputa list of items
suffixspecifying a suffix ('include') will include the marker in the output
parametermarker = the list item to be used as a marker
outputall items before the marker

allbefore Operator (Examples)

8th November 2015 at 5:14am

These examples make use of the Days of the Week tiddler.

[list[Days of the Week]allbefore[Wednesday]]

[list[Days of the Week]allbefore:include[Wednesday]]

AllTiddlers

25th February 2014 at 9:19pm

Current tiddlers:

"A free, open source wiki revisited" by Mark Gibbs, NetworkWorld
"A Thesis Notebook" by Alberto Molina
"BJTools" by buggyj
"BrainTest - tools for a digital brain" by Danielo Rodriguez
"CouchDB Adaptor" by William Shallum
"Creating a baby journal with TiddlyWiki 5" from A Penguin in Redmond
"Encrypt single tiddler plugin" by Danielo Rodriguez
"GSD5" by Roma Hicks
"Heeg.ru" by sini-Kit
"In My Socks" by Jed Carty
"Install and run TiddlyWiki on a CentOS 6 VPS using Nginx" from RoseHosting
"Mal's Sandbox" by Mal
"Microblogging con Tiddlywiki" by Juan
"Notizen mit TiddlyWiki systemübergreifend nutzen" by Michael Sonntag
"PETTIL - Forth for the Commodore PET" by Charlie Hitselberger
"Setting Up a Personal TiddlyWiki Server on OS X" by Kris Johnson
"Shining Ark Using TiddlyWiki" by Helu
"SK Plugins" by Stephen Kimmel
"TB5 - a pocket full of tips" by Tobias Beer
"TiddlyWiki 5 im Betatest" by besim
"TiddlyWiki for Scholars" by Alberto Molina
"TiddlyWiki guide FR" by Sylvain Naudin
"TiddlyWiki Notes" by James Anderson
"TiddlyWiki Posts" by Jeffrey Kishner
"TiddlyWiki 舞" by Bram Chen
"TiddlyWiki" by Sander de Boer
"TiddlyWiki5 Bourbon" by mkt_memory
"TiddlyWiki5 Coding" by Chris Hunt
"TiddlyWiki5 Playground" by Ton Gerner
"TiddlyWiki5^2 documenting while learning TiddlyWiki5" by Iannis Zannos
"TW5 Magick" by Stephan Hradek
"TW5 Mall" by David Gifford
"TW5 Tribal Knowledge" from Scott Kingery
"TW5-TeXZilla" plugin by Joe Renes
"TWeb.at" by Mario Pietsch
"Un wiki sur votre BiblioBox avec TiddlyWiki" from A Penguin in Redmond
"Wills Q&D gTD" by Matabele
"デザイン刷新。次の25年を目指すTiddlyWiki" by Moongift
A Gentle Guide to TiddlyWiki
About
Ace Editor Plugin by Joerg Plewe
Acknowledgements
ActionDeleteFieldWidget
ActionDeleteTiddlerWidget
ActionListopsWidget
ActionNavigateWidget
ActionSendMessageWidget
ActionSetFieldWidget
ActionWidgets
Adding a Table of Contents to the Sidebar
Adding a Twitter Follow button
Adding Babel Polyfill to TiddlyWiki
addprefix Operator
addprefix Operator (Examples)
addsuffix Operator
addsuffix Operator (Examples)
Adopt a Titles Policy
after Operator
after Operator (Examples)
AlertMechanism
Alice in Wonderland
all Operator
all Operator (Examples)
allafter Operator
allafter Operator (Examples)
allbefore Operator
allbefore Operator (Examples)
AllTiddlers
AlphaReleases
append Operator
append Operator (Examples)
Articles
Audio
AutoSave
backlinks Operator
backlinks Operator (Examples)
Base64
before Operator
before Operator (Examples)
BetaReleases
bf Operator
Block Quotes in WikiText
Blog Edition
Blurry Lawn.jpg
BrowserCompatibility
BrowseWidget
BT
BuildCommand
Building TiddlyWikiClassic
butfirst Operator
butlast Operator
butlast Operator (Examples)
ButtonWidget
CamelCase
Caruso - Ave Maria
Cascading Style Sheets
changecount Macro
changecount Macro (Examples)
Changes to filters in 5.0.9-beta
CheckboxWidget
Chinese (Simplified) Edition
Chinese (Traditional) Edition
ClearPasswordCommand
Code Blocks in WikiText
CodeBlockWidget
CodeMirror Plugin
colour Macro
colour Macro (Examples)
colour-picker Macro
colour-picker Macro (Example 1)
colour-picker Macro (Examples)
ColourPalettes
Comma-Separated Values
Commands
commands Operator
commands Operator (Examples)
Community
Compose ballad
Concepts
Configuring the default TiddlerInfo tab
Contents
ContentType
contrastcolour Macro
Contributing
ContributingTemplate
Contributor License Agreement
Contributors
Copying tiddlers between TiddlyWiki files
Core Macros
Core Variables
CountWidget
Creating a custom export format
Creating and editing tiddlers
Creating journal tiddlers
Creating SubStories
csvtiddlers Macro
Current Tiddler
currentTiddler Variable
currentTiddler Variable (Examples)
Customise TiddlyWiki
Customising search results
Customising Tiddler File Naming
D3 Plugin
Dashes in WikiText
Data URI
DataTiddlers
datauri Macro
datauri Macro (Examples)
Date Fields
DateFormat
datepicker plugin based on Pikaday, by kixam
Days of the Week
days Operator
days Operator (Examples)
Definitions
Definitions in WikiText
Deutsch (Deutschland) Edition
Deutsch (Österreich) Edition
Dev Thumbnail.jpg
Developers
DictionaryTiddlers
Discover TiddlyWiki
Document Object Model
Documentation Macros
Documentation Style Guide
Dominant Append
done
DraftMechanism
DropzoneWidget
dumpvariables Macro
dumpvariables Macro (Examples)
each Operator
each Operator (Examples)
eachday Operator
eachday Operator (Examples)
Edición en Castellano
EditBitmapWidget
Editing Tiddlers with Emacs
Editing Tiddlers with Vim
Édition en Français (France)
editiondescription Operator
Editions
editions Operator
EditionsCommand
EditTextWidget
EditWidget
Empty Edition
Encryption
EncryptWidget
EntityWidget
Environment Variables on Node.js
Eucaly's Tiddly World
Example for tag Macro
Example Table of Contents: Expandable
Example Table of Contents: Selectively Expandable
Example Table of Contents: Simple
Example Table of Contents: Sorted Expandable
Example Table of Contents: Tabbed External
Example Table of Contents: Tabbed Internal
Examples
ExternalImages
Features
FederatialLimited
field Operator
field Operator (Examples)
FieldMangler Widget (Examples)
FieldManglerWidget
fields Operator
fields Operator (Examples)
FieldsWidget
Filter Expression
Filter Operators
Filter Parameter
Filter Run
Filter Step
Filter Syntax
Filter Whitespace
Filters
First
first Operator
first Operator (Examples)
FirstOne
FirstThree
FirstTwo
Formatting in WikiText
Formatting text in TiddlyWiki
Forums
Fourth
Friday
Full Edition
Future Proof
Generating Static Sites with TiddlyWiki
get Operator
get Operator (Examples)
Get the Ring
getindex Operator
getindex Operator (Examples)
Getting Started Video
GettingStarted
GettingStarted - Android
GettingStarted - Chrome
GettingStarted - Firefox
GettingStarted - Internet Explorer
GettingStarted - iOS
GettingStarted - Node.js
GettingStarted - Safari
GettingStarted - WebDAV
GitHub
Go to Mordor
GroupedLists
GuerillaWiki
Hard and Soft Links
Hard Linebreaks in WikiText
has Operator
has Operator (Examples)
haschanged Operator
Headings in WikiText
HelloThere
HelloThumbnail
HelloThumbnail - Classic
HelloThumbnail - Developers
HelloThumbnail - Gentle Guide
HelloThumbnail - HelpingTiddlyWiki
HelloThumbnail - Introduction Video
HelloThumbnail - Latest Version
HelloThumbnail - TWEUM2016
HelpCommand
HelpingTiddlyWiki
Hidden Setting: Search AutoFocus
Hidden Setting: Typing Refresh Delay
Hidden Settings
Highlight Plugin
History of TiddlyWiki
HistoryMechanism
Horizontal Rules in WikiText
How to add a banner for GitHub contributions
How to add a new tab to the sidebar
How to apply custom styles by tag
How to build a TiddlyWiki5 from individual tiddlers
How to export tiddlers
How to put the last modification date in a banner
HTML in WikiText
HyperText Markup Language
image-picker Macro
image-picker Macro (Example 1)
image-picker Macro (Example 2)
image-picker Macro (Examples)
ImageGallery Example
Images in WikiText
ImageWidget
ImportTiddlers
ImportVariablesWidget
Improving TiddlyWiki Documentation
IndexedDB Plugin by Andreas Abeck
indexes Operator
indexes Operator (Examples)
InfoMechanism
InfoPanel
InitCommand
Installing a plugin from the plugin library
Installing TiddlyWiki on Node.js
Installing TiddlyWiki Prerelease on Node.js
Instruction Tiddlers
Interactive Git Documentation by Devin Weaver
Introducing TiddlyDesktop Video
Introduction to filter notation
Introduction Video
Introduction Video Thumbnail.jpg
is Operator
is Operator (Examples)
JavaScript
JavaScript Object Notation
JeremyRuston
Jermolene
JSONTiddlers
jsontiddlers Macro
KaTeX Plugin
KeyboardShortcuts
KeyboardWidget
Kill the Dragon
Korean (Korea Republic) Edition
Language Icon: ca-ES
Language Icon: cs-CZ
Language Icon: da-DK
Language Icon: de-AT
Language Icon: de-DE
Language Icon: el-GR
Language Icon: es-ES
Language Icon: fr-FR
Language Icon: hi-IN
Language Icon: ia-IA
Language Icon: it-IT
Language Icon: ja-JP
Language Icon: ko-KR
Language Icon: nl-NL
Language Icon: pa-IN
Language Icon: pt-PT
Language Icon: ru-RU
Language Icon: sk-SK
Language Icon: sv-SE
Language Icon: zh-Hans
Language Icon: zh-Hant
LanguageGallery
Languages
last Operator
last Operator (Examples)
Latest
LazyLoading
Learning
limit Operator
limit Operator (Examples)
lingo Macro
lingo Macro (Examples)
LinkCatcherWidget
Linking in WikiText
links Operator
links Operator (Examples)
LinkWidget
list Operator
list Operator (Examples)
list-links Macro
list-links Macro (Examples)
listed Operator
listed Operator (Examples)
ListField
ListopsData
Lists in WikiText
ListWidget
LoadCommand
Macro Call Syntax
Macro Calls in WikiText
Macro Calls in WikiText (Examples)
Macro Definition Syntax
Macro Definitions in WikiText
Macro Syntax
MacroCallWidget
Macros
Macros in WikiText
Make the beds
makedatauri Macro
makedatauri Macro (Examples)
MakeLibraryCommand
Making curved text with SVG
Manually installing a plugin
Markdown Plugin
MathJax Plugin by Martin Kantor
MathML
Mechanisms
Meetups
Messages
Modals
Modules
modules Operator
modules Operator (Examples)
ModuleType
moduletypes Operator
moduletypes Operator (Examples)
Monday
Motovun Jack.ascii
Motovun Jack.jpg
Motovun Jack.pdf
Motovun Jack.svg
move Operator
move Operator (Examples)
MultiTiddlerFiles
MultiTiddlerFileSyntax
namespace Variable
Naming of System Tiddlers
Navigating between open tiddlers
NavigatorWidget
New Release Banner.png
Newnham Horizon.jpg
next Operator
next Operator (Examples)
node-webkit
Node.js
Notes for upgrading to 5.0.11-beta
Notes for upgrading to 5.0.8-beta
Notifications
now Macro
now Macro (Examples)
nsort Operator
nsort Operator (Examples)
nsortcs Operator
nsortcs Operator (Examples)
nth Operator
nth Operator (Examples)
NW.js
Obadiah TOC
OpenSource
Order of Tagged Tiddlers
Osmosoft
OutputCommand
OXTWIG
Page and tiddler layout customisation
Paragraphs in WikiText
PasswordCommand
PasswordWidget
Percent Encoding
Performance
PerlinLight.jpg
PermaLinks
PESpot Lesson Planner by Patrick Detzner
Philosophy of Tiddlers
Pinstripe.gif
Platforms
Plugin Editions
PluginMechanism
Plugins
Plugins by TheDiveO
plugintiddlers Operator
plugintiddlers Operator (Examples)
PopupMechanism
Pragma
prefix Operator
prefix Operator (Examples)
prepend Operator
prepend Operator (Examples)
Preserving open tiddlers at startup
previous Operator
previous Operator (Examples)
putafter Operator
putafter Operator (Examples)
putbefore Operator
putbefore Operator (Examples)
putfirst Operator
putfirst Operator (Examples)
putlast Operator
putlast Operator (Examples)
qualify Macro
qualify Macro (Examples)
Quine
RadioWidget
Railroad Diagrams
Railroad Plugin
rboue's plugins for TiddlyWiki
ReadMe
ReadMeBinFolder
Reference
Reference Tiddlers
regexp Operator
regexp Operator (Examples)
Release 5.0.0-alpha.11
Release 5.0.0-alpha.12
Release 5.0.0-alpha.13
Release 5.0.0-alpha.14
Release 5.0.0-alpha.15
Release 5.0.0-alpha.16
Release 5.0.0-alpha.17
Release 5.0.1-alpha
Release 5.0.10-beta
Release 5.0.11-beta
Release 5.0.12-beta
Release 5.0.13-beta
Release 5.0.14-beta
Release 5.0.15-beta
Release 5.0.16-beta
Release 5.0.17-beta
Release 5.0.18-beta
Release 5.0.2-beta
Release 5.0.3-beta
Release 5.0.4-beta
Release 5.0.5-beta
Release 5.0.6-beta
Release 5.0.7-beta
Release 5.0.8-beta
Release 5.0.9-beta
Release 5.1.0
Release 5.1.1
Release 5.1.10
Release 5.1.11
Release 5.1.12
Release 5.1.13
Release 5.1.2
Release 5.1.3
Release 5.1.4
Release 5.1.5
Release 5.1.6
Release 5.1.7
Release 5.1.8
Release 5.1.9
Releases
ReleaseTemplate
remove Operator
remove Operator (Examples)
removeprefix Operator
removeprefix Operator (Examples)
removesuffix Operator
removesuffix Operator (Examples)
RenderTiddlerCommand
RenderTiddlersCommand
replace Operator
replace Operator (Examples)
ReportingBugs
resolvepath Macro
resolvepath Macro (Examples)
Resources
rest Operator
rest Operator (Examples)
Résumé Builder Edition
RevealWidget
reverse Operator
reverse Operator (Examples)
RoadMap
SafeMode
sameday Operator
sameday Operator (Examples)
SampleAlert
SampleModal
SampleNotification
SampleTabFour
SampleTabOne
SampleTabThree
SampleTabTwo
sampletag1
sampletag2
SampleTiddlerFirst
SampleTiddlerSecond
SampleTiddlerThird
SampleWizard
SampleWizard2
Saturday
SaveTiddlerCommand
SaveTiddlersCommand
Saving
Saving on a PHP Server
Saving on Android
Saving on InternetExplorer
Saving on iPad/iPhone
Saving on Safari
Saving on TiddlySpot
Saving with the HTML5 fallback saver
Saving with TiddlyFox
Saving with TiddlyFox on Android
Saving with TiddlyIE
SavingMechanism
Scalability
Scripts for TiddlyWiki on Node.js
ScrollableWidget
search Operator
search Operator (Examples)
Searching in TiddlyWiki
Second
SecondOne
SecondThree
SecondThreeOne
SecondThreeThree
SecondThreeTwo
SecondTwo
SeeAlso by Matias Goldman
Selection Constructors
SelectWidget
ServerCommand
Serving TW5 from Android
SetFieldCommand
Setting a favicon
Setting a page background image
SetVariableWidget
SetWidget
shadowsource Operator
shadowsource Operator (Examples)
ShadowTiddlers
Sharing a TiddlyWiki on Dropbox
Sharing your tiddlers with others
Signing the Contributor License Agreement
Simple Zork-like Game by Jed Carty
SingleFileApplication
SinglePageApplication
Some of the things you can do with TiddlyWiki
sort Operator
sort Operator (Examples)
sortby Operator
sortby Operator (Examples)
sortcs Operator
sortcs Operator (Examples)
Spelling
splitbefore Operator
splitbefore Operator (Examples)
Stanford JavaScript Crypto Library
StateMechanism
Story River
storyTiddler Variable
storyTiddler Variable (Examples)
storyviews Operator
storyviews Operator (Examples)
Structuring TiddlyWiki
Styles and Classes in WikiText
Stylesheet Macros
suffix Operator
suffix Operator (Examples)
Sunday
SystemTags
SystemTiddlers
TabbedExampleType
Table-of-Contents Macros
Table-of-Contents Macros (Examples)
TableOfContents
Tables in WikiText
tabs Macro
tabs Macro (Examples)
tag Macro
tag Macro (Examples)
tag Operator
tag Operator (Examples)
Tagging
tagging Operator
tagging Operator (Examples)
tags Operator
tags Operator (Examples)
TagTiddlers
task
TaskManagementExample
Technical Prose Style
TemplateTiddlers
Ten reasons to switch to TiddlyWiki
Text-Slicer Edition
TextReference
TextWidget
The Extended Listops Filters
The First Rule of Using TiddlyWiki
Third
ThirdOne
ThirdThree
ThirdTwo
thumbnail Macro
thumbnail Macro (Examples)
Thursday
Tiddler Fishes.svg
Tiddler Poster.png
Tiddler Structure
Tiddler Title Policy
TiddlerFields
TiddlerFiles
TiddlerLinks
Tiddlers
TiddlerWidget
TiddlyChrome by Arlen Beiler
TiddlyClip by buggyjay
TiddlyDesktop
TiddlyDesktop Release 0.0.1
TiddlyDesktop Release 0.0.2
TiddlyDesktop Release 0.0.3
TiddlyDesktop Release 0.0.4
TiddlyDesktop Release 0.0.5
TiddlyDesktop Release 0.0.6
TiddlyDesktop Release 0.0.7
TiddlyDesktop Release 0.0.8
TiddlyDesktop Releases
TiddlyFox
TiddlyIE
TiddlyMap Plugin by Felix Küppers
TiddlySpace
TiddlyWeb
TiddlyWiki
TiddlyWiki Camp Paris
TiddlyWiki Classic.png
TiddlyWiki European Meetup 2016
TiddlyWiki extensions for Sublime Text 3 by roma0104
TiddlyWiki Hangouts
TiddlyWiki in the Sky for TiddlyWeb
TiddlyWiki Jingle by Måns Mårtensson
TiddlyWiki on Firefox for Android Video
TiddlyWiki on Node.js
TiddlyWiki Releases
TiddlyWiki Video Tutorials by Francis Meetze
TiddlyWiki.mp3
TiddlyWiki2ReadMe
TiddlyWiki5
TiddlyWiki5 Versioning
TiddlyWikiClassic
TiddlyWikiFolders
timeline Macro
timeline Macro (Examples)
Title List
title Operator
title Operator (Examples)
Title Selection
TranscludeWidget
Transclusion
Transclusion and Substitution
Transclusion Basic Usage
Transclusion in WikiText
transclusion Variable
transclusion Variable (Examples)
Transclusion with Templates
Translate TiddlyWiki into your language
TranslationMechanism
TriTarget.org by Devin Weaver
Tuesday
Tutorials
tv-auto-open-on-import Variable
tv-config-toolbar-class Variable
tv-config-toolbar-class Variable (Examples)
tv-config-toolbar-icons Variable
tv-config-toolbar-icons Variable (Examples)
tv-config-toolbar-text Variable
tv-config-toolbar-text Variable (Examples)
tv-get-export-image-link Variable
tv-get-export-image-link Variable (Examples)
tv-get-export-link Variable
tv-get-export-path Variable
tv-tiddler-preview Variable
tv-wikilink-template Variable
tv-wikilink-tooltip Variable
tv-wikilink-tooltip Variable (Examples)
tv-wikilinks Variable
tv-wikilinks Variable (Examples)
TW2Parser Plugin
TWaddle by Matias Goldman
TWCommunitySearch
TWEUM2016 Thumbnail.jpg
TWGuides by Andreas Hahn
twproxy by Steve Gattuso
Typed Blocks in WikiText
Typography
Uninstalling a plugin
UnpackPluginCommand
untagged Operator
untagged Operator (Examples)
UpgradeMechanism
Upgrading
Upgrading TiddlyWiki on Node.js
URI
Using a custom path prefix with the client-server edition
Using ES2016 for Writing Plugins
Using links to navigate between tiddlers
Using Stamp
Using Stylesheets
Using SVG
Using TiddlyWiki for GitHub project documentation
Using TiddlyWiki on Node.js
Variables
Variables in WikiText
VarsWidget
VerboseCommand
version Macro
version Macro (Examples)
VersionCommand
Videos
ViewWidget
vis.js Timeline by emkay, revived by kixam
Wednesday
What happened to the original TiddlyWiki?
WidgetMessage: tm-add-field
WidgetMessage: tm-add-tag
WidgetMessage: tm-auto-save-wiki
WidgetMessage: tm-browser-refresh
WidgetMessage: tm-cancel-tiddler
WidgetMessage: tm-clear-password
WidgetMessage: tm-close-all-tiddlers
WidgetMessage: tm-close-other-tiddlers
WidgetMessage: tm-close-tiddler
WidgetMessage: tm-delete-tiddler
WidgetMessage: tm-download-file
WidgetMessage: tm-edit-bitmap-operation
WidgetMessage: tm-edit-text-operation
WidgetMessage: tm-edit-tiddler
WidgetMessage: tm-fold-all-tiddlers
WidgetMessage: tm-fold-other-tiddlers
WidgetMessage: tm-fold-tiddler
WidgetMessage: tm-full-screen
WidgetMessage: tm-home
WidgetMessage: tm-import-tiddlers
WidgetMessage: tm-load-plugin-from-library
WidgetMessage: tm-load-plugin-library
WidgetMessage: tm-login
WidgetMessage: tm-logout
WidgetMessage: tm-modal
WidgetMessage: tm-navigate
WidgetMessage: tm-new-tiddler
WidgetMessage: tm-notify
WidgetMessage: tm-open-window
WidgetMessage: tm-perform-import
WidgetMessage: tm-permalink
WidgetMessage: tm-permaview
WidgetMessage: tm-remove-field
WidgetMessage: tm-remove-tag
WidgetMessage: tm-save-tiddler
WidgetMessage: tm-save-wiki
WidgetMessage: tm-scroll
WidgetMessage: tm-server-refresh
WidgetMessage: tm-set-password
WidgetMessage: tm-unfold-all-tiddlers
Widgets
Widgets in WikiText
Wiki
WikifyWidget
WikiText
Windows HTA Hack
Working with the TiddlyWiki5 repository
Working with the TiddlyWiki5 repository video
Working with TiddlyWiki

AlphaReleases

1st July 2014 at 9:16pm

Here are the details of the alpha releases of TiddlyWiki5. See TiddlyWiki5 Versioning for details of how releases are named.

Release 5.0.1-alpha

Released 6th December 2013 at 17:53

See GitHub for detailed change history of this release

Improvements

  • Changes to the importing process to enable a smoother Upgrading process
    • Ignores attempts to import plugins that are older than currently installed plugins
    • System tiddlers are now imported as usual
  • If $:/theme isn't defined or refers to a missing tiddler, then fallback through Snow White to Vanilla. This means that empty.html now defaults to Snow White
  • Added support for Block Quotes in WikiText

Bug fixes

  • Fixed bug that was preventing $:/tags/PageControls tiddlers from being reordered

Internal changes

append Operator

8th November 2015 at 5:15am
purposeappend a range of items from an array to the list
inputa list of items
suffixan integer N, defaulting to all
parameterlist = the array of items to be appended to the tail of the list
outputa list with items appended from the head of the operand array
! outputa list with items appended from the tail of the operand array

append Operator (Examples)

8th November 2015 at 5:15am

These examples make use of the Days of the Week tiddler.

[list[Days of the Week]append[Tomorrow]]

[list[Days of the Week]append[Yesterday Today Tomorrow]]

Append the first 4 short days of the week to our list

[list[Days of the Week]append:4{Days of the Week!!short}]

Articles

2nd June 2016 at 6:27pm

Here are some recent articles written about TiddlyWiki. Submit new articles via GitHub, Twitter or by posting in the TiddlyWiki Groups.

Audio

19th October 2014 at 9:06pm

Audio files can be incorporated into TiddlyWiki in a very similar way to images.

Embedded Audio

Small audio files can be embedded directly within TiddlyWiki. Embedding isn't suitable for large files (over a few hundred kilobytes) because it increases the size of the TiddlyWiki file.

For example, the tiddler TiddlyWiki.mp3 contains an MP3 recording of the word "TiddlyWiki". If you visit that tiddler, you should see an audio player that will play back the recording.

You can also transclude audio files. For example:

{{TiddlyWiki.mp3}}

That renders as:

External Audio

External audio tiddlers use the _canonical_uri field to point to an external audio file/stream, and have their text field blocked. This reduces their size considerably, but still allows for playback.

For example, the tiddler Caruso - Ave Maria points to an online audio recording hosted on http://archive.org:

{{Caruso - Ave Maria}}

That renders as:

AutoSave

10th June 2016 at 9:15am

If there is a SaverModule available that supports it, TiddlyWiki will automatically trigger a save of the current document on clicking ok or delete when editing a tiddler.

You should see a yellow notification at the top right of the window to confirm that an automatic save has taken place.

Automatic saving can be enabled or disabled through the Settings tab of the control panel . Behind the scenes, it is controlled through the configuration tiddler $:/config/AutoSave, which must have the value yes to enable automatic saving.

backlinks Operator

3rd February 2015 at 6:33pm
purposefind the titles that link to each input title
inputa selection of titles
parameternone
outputany non-system titles that contain hard links to the input titles

Each input title is processed in turn. The corresponding tiddler's list of backlinks is generated, sorted alphabetically by title, and then dominantly appended to the operator's overall output.

Examples

backlinks Operator (Examples)

18th January 2015 at 6:31pm

[[HelloThere]backlinks[]]

[tag[TableOfContents]backlinks[]]
→ tiddlers that link to tiddlers tagged TableOfContents

[all[current]backlinks[]]
→ tiddlers that link to this one

Base64

21st February 2015 at 6:17pm

Base64 is a way of representing binary data, such an image, as a string of text.

before Operator

3rd February 2015 at 7:19pm
purposefind which input title precedes a specified one
inputa selection of titles
parameterT = one of those titles
outputthe title that immediately precedes T in the input

If T is not present in the input, or is the first title there, then the output is empty.

Examples

before Operator (Examples)

18th January 2015 at 6:31pm

These examples make use of the Days of the Week tiddler. The Thursday tiddler shows a further example.

[list[Days of the Week]before[Saturday]]

[list[Days of the Week]before[Monday]]

BetaReleases

10th October 2014 at 10:28am

Here are the details of the beta releases of TiddlyWiki5. See TiddlyWiki5 Versioning for details of how releases are named.

Release 5.0.18-beta

Released 17th September 2014 at 22:10

See GitHub for detailed change history of this release

This is a minor release prior to the full release of TiddlyWiki on September 20th. The documentation has been cleaned up and improved (with more improvements to come).

File Layout of tiddlywiki.com

The layout of files on tiddlywiki.com has been adjusted to make it more logical. See the ticket for a discussion. You can see the source files that make up tiddlywiki.com at https://github.com/Jermolene/jermolene.github.com

Hackability Improvements

  • Added first iteration of a list-links macro (further improvements are planned)
  • Added support for importing .markdown and .md files
  • Extended timeline macro to support a subfilter

Bug Fixes

  • Fixed problem with digits being classified as lower case letters for wiki link matching
  • Fixed crash when sorting missing tiddlers by fields other than title
  • Fixed problem with handling .jpeg file extensions
  • Fixed problem with RadioWidget and missing tiddlers
  • Fixed problem with dragging a partially selected link

Contributors

@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

bf Operator

3rd February 2015 at 6:37pm
purposesame as rest

Block Quotes in WikiText

7th June 2016 at 10:24am

There are two ways to produce HTML block quotes in TiddlyWiki5, one for content spread across multiple lines, and one for single line content.

Multi-line Block Quotes

The syntax for multi-line block quotes ( ) is:

<<<
This is a block quoted paragraph
written in English
<<<

That renders as:

This is a block quoted paragraph written in English

... and the underlying HTML is:

<blockquote class="tc-quote"><p>This is a block quoted paragraph
written in English
</p></blockquote>

Citation

A citation can be added to the quote like this:

<<<
Computers are like a bicycle for our minds
<<< Steve Jobs

That renders as:

Computers are like a bicycle for our minds

Steve Jobs

... and the underlying HTML is:

<blockquote class="tc-quote"><p>Computers are like a bicycle for our minds
</p><cite>Steve Jobs</cite></blockquote>

CSS Classes

CSS classes can be added to a block quote:

<<<.myClass.another-class
Operating systems are like a brick wall for our minds
<<< Nobody

That renders as:

Operating systems are like a brick wall for our minds

Nobody

... and the underlying HTML is:

<blockquote class="tc-quote myClass another-class"><p>Operating systems are like a brick wall for our minds
</p><cite>Nobody</cite></blockquote>

Single-line Block Quotes

The single-line syntax for block quotes is actually an extension of the syntax for Lists in WikiText. For example:

> Quoted text
> Another line of quoted text

That renders as:

Quoted text

Another line of quoted text

... and the underlying HTML is:

<blockquote><p>Quoted text</p><p>Another line of quoted text</p></blockquote>

You can also nest quotes like this:

> A top quote
>> A subquote
> Another top quote

Which renders as:

A top quote

A subquote

Another top quote

You can also mix block quotes with other list items. For example:

* List One
** List Two
**> A quote
**> Another quote
* List Three

That renders as:

  • List One
    • List Two

      A quote

      Another quote

  • List Three

... and the underlying HTML is:

<ul><li>List One<ul><li>List Two<blockquote><p>A quote</p><p>Another quote</p></blockquote></li></ul></li><li>List Three</li></ul>

Blog Edition

2nd September 2015 at 1:32pm

The Blog edition of TiddlyWiki contains tools to help publish static HTML blogs written in TiddlyWiki. It is currently designed for use under Node.js.

While documentation is being prepared, see https://github.com/Jermolene-blog/blog for an example of use.

Blurry Lawn.jpg

BrowserCompatibility

TiddlyWiki is designed to work with HTML5-compatible browsers.

The following table summarises the browser versions that are known to work with TiddlyWiki

BrowserStatus
Internet ExplorerVersion 10 and above
ChromeAll recent versions
FirefoxAll recent versions
Firefox for AndroidAll recent versions
SafariVersion 6 and above

BrowseWidget

2nd December 2014 at 3:53pm

Introduction

The browse widget displays an HTML file browser button that allows the user to choose one or more files to import. It sends a WidgetMessage: tm-import-tiddlers carrying a JSON representation of the tiddlers imported from the files up through its parents. This message usually trapped by the NavigatorWidget which adds the tiddlers to the store and updates the story to display them.

Content and Attributes

The content of the <$browse> widget is ignored.

AttributeDescription
multipleSet to "multiple" to select multiple file upload
tooltipOptional tooltip text
messageOptional override of widget message to be generated. The parameter for the message will be the JavaScript object event.target.files

On iPhone/iPad choosing the multiple option will remove the ability to take photographs/videos directly into TiddlyWiki.

e.g.

<$browse>

renders as:

BT

1st November 2013 at 9:11am

BT (née British Telecom) is the UK's largest telecommunications company. In 2007, Osmosoft was acquired by BT. JeremyRuston subsequently left BT in 2011.

BuildCommand

27th April 2014 at 10:04pm

Build the specified build targets for the current wiki. If no build targets are specified then all available targets will be built.

--build <target> [<target> ...]

Build targets are defined in the tiddlywiki.info file of a wiki folder.

See TiddlyWikiFolders for details of defining build targets.

Building TiddlyWikiClassic

12th September 2014 at 3:16pm

TiddlyWiki5 can be used to build older 2.x.x versions of TiddlyWikiClassic from their constituent components. Doing so involves these features:

  • The tiddlywiki/classictools plugin, containing a deserializer module which allows tiddlers to be loaded from TiddlyWiki 2.x.x .recipe files
  • The stripcomments format for the ViewWidget, which strips single line JavaScript comments starting //#
  • The stripTitlePrefix='yes' attribute of the FieldsWidget, which removes prefixes wrapped in curly braces from the title attribute
    • For example, {tiddler}HelloThere would be transformed to HelloThere

Usage

TiddlyWikiClassic is built from the command line by running TiddlyWiki on Node.js. A typical usage would be:

node ../../tiddlywiki.js \
	--verbose \
	--load <path_to_recipe_file> \
	--rendertiddler $:/core/templates/tiddlywiki2.template.html <path_to_write_index_file> text/plain \
	|| exit 1

butfirst Operator

3rd February 2015 at 6:37pm
purposesame as rest

butlast Operator

3rd February 2015 at 7:19pm
purposediscard the last N input titles
inputa selection of titles
parameterN = an integer, defaulting to 1
outputall but the last N input titles

butlast Operator (Examples)

18th January 2015 at 6:31pm

These examples make use of the Days of the Week tiddler.

[list[Days of the Week]butlast[]]

[list[Days of the Week]butlast[2]]

A B C D E F G H I J K L M +[butlast[7]]

ButtonWidget

29th April 2016 at 6:50pm

Introduction

The button widget displays an HTML <button> element that can perform a combination of optional actions when clicked:

  • Executing any ActionWidgets passed in the actions attribute
  • Executing any ActionWidgets that are immediate children of the button widget
  • Execute any integrated actions:
    • Navigate to a specified tiddler
    • Dispatch a user defined widget message
    • Trigger a user defined popup
    • Assign new text to a specified tiddler

The integrated actions are provided as a shortcut for invoking common actions. The same functionality is available via ActionWidgets, with the exception of the support for highlighting selected popups.

Content and Attributes

The content of the <$button> widget is displayed within the button.

AttributeDescription
actionsA string containing ActionWidgets to be triggered when the key combination is detected
toThe title of the tiddler to navigate to
messageThe name of the widget message to send when the button is clicked
paramThe optional parameter to the message
setA TextReference to which a new value will be assigned
setToThe new value to assign to the TextReference identified in the set attribute
popupTitle of a state tiddler for a popup that is toggled when the button is clicked
aria-labelOptional Accessibility label
tooltipOptional tooltip
classAn optional CSS class name to be assigned to the HTML element
styleAn optional CSS style attribute to be assigned to the HTML element
selectedClassAn optional additional CSS class to be assigned if the popup is triggered or the tiddler specified in set already has the value specified in setTo
tagAn optional html tag to use instead of the default "button"
defaultDefault value if set tiddler is missing for testing against setTo to determine selectedClass

Note: In almost all other cases where a TextReference is used as a widget attribute, it will be placed between curly brackets, to transclude the value currently stored there. However, when we use a TextReference as the value of a button widget's set attribute, we are referencing the storage location itself, rather than the value stored there, so we do not use curly brackets there. Example: we could code a button widget that sets the caption field of TiddlerA to be the same as that of TiddlerB as:

<$button set="TiddlerA!!caption" setTo={{TiddlerB!!caption}} >

Press me!

</$button>

Tip: Set class to tc-btn-invisible tc-tiddlylink to have a button look like an internal link.

CamelCase

28th August 2013 at 7:53pm

CamelCase is formed by taking a phrase, capitalising the initial letter of each word, and smashing the words together to form a portmanteau word. Most wikis use CamelCase to signal phrases that should automatically become links.

Caruso - Ave Maria

Cascading Style Sheets

21st February 2015 at 6:17pm

CSS is a standard plain-text format used for defining the presentational style of the various elements on a web page.

changecount Macro

21st February 2015 at 3:12pm

The changecount macro returns the number of times the current tiddler has been created, stored or deleted during the current TiddlyWiki session.

If a tiddler is deleted and subsequently recreated, its changecount will go up by two.

Parameters

(none)

Examples

changecount Macro (Examples)

21st February 2015 at 3:12pm

<<changecount>>

The value will increase if you edit this tiddler and store it again, even without making any changes to its content.

To access the changecount of a different tiddler, use a $tiddler widget:

<$tiddler tiddler="Draft of 'New Tiddler'">
<<changecount>>
</$tiddler>

The value shown will increase whenever you create, store or delete New Tiddler.

Changes to filters in 5.0.9-beta

3rd April 2014 at 11:35pm

Introduction

This release resolves a number of inconsistencies with the way that filters are handled. The changes mean that existing filters may need to be updated - particularly those that must deal with missing or shadow tiddlers.

Changes to is and addition of all

Most filter operators act by choosing some or all of their source titles to pass through or re-order. Those that add new entries that are not drawn from the source list are referred to as selectors. Prior to 5.0.9-beta, a few filter operators were inconsistent in whether they filtered from the source list or selected new entries into it.

The specific changes are:

  • The is operator now always strictly filters from the currently selected list of tiddlers
  • The new all operator acts as a selector by replacing the current list with a combination of tiddlers from specific sources:
    • current for the current tiddler
    • missing for all missing tiddlers
    • orphans for all orphan tiddlers
    • shadows for all shadow tiddlers
    • tiddlers for all non-shadow tiddlers (including both system and non-system tiddlers)

The sources for the all operator can be combined with the + character. For example, [all[shadows+tiddlers]] returns all shadow tiddlers and all ordinary tiddlers.

Previously, it was common to have [is[shadow]] at the start of a filter string to select all the shadow tiddlers. In 5.0.9 and above, this will not return all the shadow tiddlers, but instead just those ordinary tiddlers that are also shadow tiddlers (by virtue of having overridden one). The resolution is to use the new all operator. For example, consider this filter from 5.0.8:

[is[shadow]!has[draft.of]tag[$:/tags/AdvancedSearch]] [!is[shadow]!has[draft.of]tag[$:/tags/AdvancedSearch]] +[tag[$:/tags/AdvancedSearch]]

In 5.0.9, that filter has been changed to:

[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch]!has[draft.of]]

Note how the all operator allows operations to be performed on tiddlers from combinations of sources.

Changes to [is[current]]

One result of the changes is that [is[current]] now strictly filters from the source tiddlers; so, if the current tiddler is a missing tiddler not in the source list, then [is[current]] will return an empty list.

The solution is generally to use [all[current]] instead. It doesn't read as well, but has the required behaviour of returning just the current tiddler, regardless of whether it is in the source tiddlers.

Changes to title and field

There are minor changes to the way that the title and field operators work.

The title operator is a selector: it returns the specified title regardless of whether it is in the current source. title is used as the default operator if none is specified

The field operator is a filter: it only returns a subset of the source tiddlers. field is used as the default operator if the supplied operator is not defined (the supplied operator is passed as the suffix to the field operator, so [description[Missing]] is equivalent to [field:description[Missing]]).

CheckboxWidget

26th June 2015 at 10:13am

Introduction

The checkbox widget displays an HTML <input type="checkbox"> element that is dynamically bound to either:

  • the presence or absence of a specified tag on a specified tiddler
  • the value of a specified field of a specified tiddler

Content and Attributes

The content of the <$checkbox> widget is displayed within an HTML <label> element immediately after the checkbox itself. This means that clicking on the content will toggle the checkbox.

AttributeDescription
tiddlerTitle of the tiddler to manipulate (defaults to the current tiddler)
tagThe name of the tag to which the checkbox should be bound
invertTagWhen set to yes, flips the tag binding logic so that the absence of the tag causes the checkbox to be checked
fieldThe name of the field to which the checkbox should be bound
checkedThe value of the field corresponding to the checkbox being checked
uncheckedThe value of the field corresponding to the checkbox being unchecked
defaultThe default value to use if the field is not defined
classThe class that will be assigned to the label element

Tag Mode

Using the checkbox widget in tag mode requires the tag attribute to specify the name of the tag. The tiddler attribute specifies the tiddler to target, defaulting to the current tiddler if not present.

This example creates a checkbox that flips the done tag on the current tiddler:

<$checkbox tag="done">Is it done?</$checkbox>

Field Mode

Using the checkbox widget in field mode requires the field attribute to specify the name of the field. The checked and unchecked attributes specify the values to be assigned to the field to correspond to its checked and unchecked states respectively. The default attribute is used as a fallback value if the field is not defined.

This example creates a checkbox that is checked if the field status is equal to open and unchecked if the field is equal to closed. If the field is undefined then it defaults to closed, meaning that the checkbox will be unchecked if the status field is missing.

<$checkbox field="status" checked="open" unchecked="closed" default="closed">Is it open?</$checkbox>

Chinese (Simplified) Edition

20th September 2014 at 4:02am

TiddlyWiki 的简体中文翻译版本:

另请参阅 中文 (正體) 版

Chinese (Traditional) Edition

20th September 2014 at 4:02am

TiddlyWiki 的正體中文翻譯版本:

另請參閱 中文 (简体) 版

ClearPasswordCommand

Clear the password for subsequent crypto operations

--clearpassword

Code Blocks in WikiText

6th June 2016 at 3:03pm

You can use triple backticks ``` to mark code blocks ( ):

```
This will be monospaced
```

Renders as:

This will be monospaced

To be interpreted correctly, the three backticks need to be at the start of the line and immediately followed by a line-break.

Be aware that any preceding paragraph content should be properly terminated with a double line break, too. So, this example is wrong:

This is an ordinary paragraph
```
This will be monospaced
```

The correct version is:

This is an ordinary paragraph

```
This will be monospaced
```

Note that some keyboard layouts treat the backtick as a dead key, making it hard to type. The trick is to type three backticks followed by a space. Alternatively, type all six backticks in one go, then a space, and then move the cursor back three characters to type or paste the content.

CodeBlockWidget

3rd November 2015 at 4:02pm

Introduction

The codeblock widget renders text in <pre> and <code> blocks, causing it to be displayed monospace. A language may optionally be specified using the language attribute, however syntax highlighting will only be used if the Highlight Plugin is installed.

Content and Attributes

The content of the <$codeblock> widget is ignored.

AttributeDescription
codeContents of the block to render as code
languageProgramming language for syntax highlighting

Examples

Here is an example embedding the contents of a tiddler as a code block.

<$codeblock code={{$:/editions/tw5.com/macro-examples/say-hi}} />

That renders as:

\define sayhi(name:"Bugs Bunny" address:"Rabbit Hole Hill")
Hi, I'm $name$ and I live in $address$.
\end

A codeblock may also specify a language.

<$codeblock code="SELECT * FROM users WHERE deleted = false" language="sql" />

That renders as:

SELECT * FROM users WHERE deleted = false

CodeMirror Plugin

7th January 2016 at 10:37pm

The CodeMirror plugin adds a sophisticated web-based editor to TiddlyWiki.

See http://tiddlywiki.com/plugins/tiddlywiki/codemirror/

colour Macro

21st February 2015 at 3:45pm

The colour (or color) macro returns the CSS value of one the colours in the current palette.

If no such entry exists in the current palette, the vanilla palette is used instead.

Parameters

name
The name of the palette entry, e.g. page-background

Examples

colour Macro (Examples)

21st February 2015 at 3:48pm

<<colour code-border>>
<<colour foreground>>
<<colour page-background>>
<<colour sidebar-tab-background>>
<<colour tag-foreground>>

colour-picker Macro

18th April 2016 at 4:43pm

The colour-picker macro displays an interactive colour picker, as can be seen in the core bitmap editor.

Parameters

actions
Wikitext for the action widgets that should be executed when the user selects a colour. Within the text, the variable colour-picker-value contains the selected colour.

Examples

colour-picker Macro (Example 1)

18th April 2016 at 4:54pm

Colour:


Recent:



colour-picker Macro (Examples)

18th April 2016 at 4:53pm

Colour: <$edit-text tiddler='$:/_MyColour' tag='input' placeholder='(unset)' default=''/>

---

<$macrocall $name='colour-picker' actions="

<$action-setfield $tiddler='$:/_MyColour' $value=<<colour-picker-value>>/>

"/>

ColourPalettes

17th June 2016 at 11:12am

A colour palette is a data tiddler that supplies a CSS colour value, such as yellow or #fe0, for each of several colour names, like this:

page-background: #fe0
table-border: #ccc
...

Several palettes form part of the core. The system tiddler $:/palette always contains the title of the currently selected palette tiddler. You can change a palette using the palette button, found on the "Tools" tab in the sidebar.

To retrieve the value of a named colour from the current palette, e.g. for use in a stylesheet tiddler, use the colour macro:

<<colour page-background>>

Palette tiddlers should have the following fields:

NameValue
titleTypically starting with $:/
typeapplication/x-tiddler-dictionary
tags$:/tags/Palette
descriptionDisplayed in the palette browser
textname: value colour definitions

Comma-Separated Values

21st February 2015 at 6:13pm

CSV is a standard plain-text format for storing a table of data.

Each row of the table is called a record and occupies one line.

The columns are called fields. Each field of a row is separated from the next by a comma, and is often delimited by quotation marks.

The csvtiddlers macro returns tiddler content in this format.

Commands

17th January 2015 at 8:52pm

commands Operator

3rd February 2015 at 6:41pm
purposeselect the titles of all the Node.js commands
inputignored
parameternone
outputthe command words that can be given to TiddlyWiki on Node.js

commands Operator (Examples)

18th January 2015 at 6:31pm

[commands[]]

Community

11th September 2014 at 9:49am

Here we gather the latest and most useful material from the TiddlyWiki community.

The latest news, articles, resources and examples.

Compose ballad

25th August 2013 at 3:30pm

This is a sample task for the TaskManagementExample

Concepts

25th August 2013 at 3:47pm

Configuring the default TiddlerInfo tab

12th September 2014 at 3:59pm

The configuration tiddler $:/config/TiddlerInfo/Default contains the title of the tiddler containing the default tiddler info tab.

The default value is $:/core/ui/TiddlerInfo/Tools corresponding to the Tools tab. Other possible values are:

  • $:/core/ui/TiddlerInfo/Tools
  • $:/core/ui/TiddlerInfo/References
  • $:/core/ui/TiddlerInfo/Tagging
  • $:/core/ui/TiddlerInfo/List
  • $:/core/ui/TiddlerInfo/Listed
  • $:/core/ui/TiddlerInfo/Fields
  • $:/core/ui/TiddlerInfo/Advanced
  • $:/editions/tw5.com/TiddlerInfo/Sources

Contents

21st February 2015 at 7:46pm

This is an example tiddler. See Table-of-Contents Macros (Examples).

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

ContentType

21st February 2015 at 12:08pm

Used in Internet protocols to indicate the type that should be used to interpret the content of a web resource.

In TiddlyWiki, the type field gives the content type to apply to the main text field.

List of Common Content Types

GroupTypeContent of type field
DeveloperData dictionaryapplication/x-tiddler-dictionary
JavaScript codeapplication/javascript
JSON dataapplication/json
Static stylesheettext/css
ImageGIF imageimage/gif
ICO format icon fileimage/x-icon
JPEG imageimage/jpeg
PDF imageapplication/pdf
PNG imageimage/png
Structured Vector Graphics imageimage/svg+xml
TextHTML markuptext/html
CSS stylesheettext/css
Comma-separated valuestext/csv
Plain texttext/plain
TiddlyWiki 5text/vnd.tiddlywiki
TiddlyWiki Classictext/x-tiddlywiki

contrastcolour Macro

21st February 2015 at 3:13pm

The contrastcolour macro returns whichever of two given CSS colours is deemed to contrast best with another.

An example can be seen in the template tiddler for tag pills.

Parameters

target
The colour to contrast against (typically a background colour)
fallbackTarget
An alternative colour to contrast against. This is used when target is undefined or not a valid colour
colourA
The first of the two colours to choose between
colourB
The second of the two colours to choose between

Contributing

30th June 2015 at 9:57pm

We welcome contributions to the code and documentation of TiddlyWiki in several ways:

There are other ways to help TiddlyWiki too.

Contributor License Agreement

Like other OpenSource projects, TiddlyWiki5 needs a signed contributor license agreement from individual contributors. This is a legal agreement that allows contributors to assert that they own the copyright of their contribution, and that they agree to license it to the UnaMesa Association (the legal entity that owns TiddlyWiki on behalf of the community).

How to sign the CLA

Create a GitHub pull request to add your name to cla-individual.md or cla-entity.md, with the date in the format (YYYY/MM/DD).

step by step

  1. Navigate to licenses/CLA-individual or licenses/CLA-entity according to whether you are signing as an individual or representative of an organisation
  2. Click the "edit" button at the top-right corner (clicking this button will fork the project so you can edit the file)
  3. Add your name at the bottom
    • eg: Jeremy Ruston, @Jermolene, 2011/11/22
  4. Below the edit box for the CLA text you should see a box labelled Propose file change
  5. Enter a brief title to explain the change (eg, "Signing the CLA")
  6. Click the green button labelled Propose file change
  7. On the following screen, click the green button labelled Create pull request

The CLA documents used for this project were created using Harmony Project Templates. "HA-CLA-I-LIST Version 1.0" for "CLA-individual" and "HA-CLA-E-LIST Version 1.0" for "CLA-entity".

Remarks ----—

    • When not owning the copyright in the entire work of authorship**

In this case, please clearly state so, since otherwise we assume that you are the legal copyright holder of the contributed work! Please provide links and additional information that clarify under which license the rest of the code is distributed.

ContributingTemplate

25th August 2013 at 3:49pm

Contributing to TiddlyWiki5

We welcome contributions to the code and documentation of TiddlyWiki in several ways:

There are other ways to help TiddlyWiki too.

Contributor License Agreement

Like other OpenSource projects, TiddlyWiki5 needs a signed contributor license agreement from individual contributors. This is a legal agreement that allows contributors to assert that they own the copyright of their contribution, and that they agree to license it to the UnaMesa Association (the legal entity that owns TiddlyWiki on behalf of the community).

How to sign the CLA

Create a GitHub pull request to add your name to cla-individual.md or cla-entity.md, with the date in the format (YYYY/MM/DD).

step by step

  1. Navigate to licenses/CLA-individual or licenses/CLA-entity according to whether you are signing as an individual or representative of an organisation
  2. Click the "edit" button at the top-right corner (clicking this button will fork the project so you can edit the file)
  3. Add your name at the bottom
    • eg: Jeremy Ruston, @Jermolene, 2011/11/22
  4. Below the edit box for the CLA text you should see a box labelled Propose file change
  5. Enter a brief title to explain the change (eg, "Signing the CLA")
  6. Click the green button labelled Propose file change
  7. On the following screen, click the green button labelled Create pull request

The CLA documents used for this project were created using Harmony Project Templates. "HA-CLA-I-LIST Version 1.0" for "CLA-individual" and "HA-CLA-E-LIST Version 1.0" for "CLA-entity".

Remarks ----—

    • When not owning the copyright in the entire work of authorship**

In this case, please clearly state so, since otherwise we assume that you are the legal copyright holder of the contributed work! Please provide links and additional information that clarify under which license the rest of the code is distributed.

This file was automatically generated by TiddlyWiki5

Contributor License Agreement

30th June 2015 at 9:56pm

Like other OpenSource projects, TiddlyWiki5 needs a signed contributor license agreement from individual contributors. This is a legal agreement that allows contributors to assert that they own the copyright of their contribution, and that they agree to license it to the UnaMesa Association (the legal entity that owns TiddlyWiki on behalf of the community).

Contributors

16th September 2014 at 2:31pm

The following individuals have generously given their time to contribute to the development of TiddlyWiki:

Copying tiddlers between TiddlyWiki files

19th September 2014 at 5:15pm

You can copy an individual tiddler from one TiddlyWiki file to another by dragging a link to the tiddler from one browser window to another.

Core Macros

21st February 2015 at 10:20pm

Core Variables

28th February 2015 at 1:41pm

CountWidget

30th October 2013 at 8:37am

Introduction

The count widget displays the number of matches to a specified filter expression.

Content and Attributes

The content of the <$count> widget is ignored.

AttributeDescription
filterThe filter expression to count

Creating a custom export format

24th November 2014 at 5:35pm

To create a custom export format that exports tiddlers as their raw body text:

  1. Create a tiddler with the following fields:
    • tags: $:/tags/Exporter
    • description: Description of this exporter
    • extension: Default file extension for this export format (including the dot; for example .tid)
  2. Set the following content:
\define renderContent()
{{{ $(exportFilter)$ ||$:/core/templates/plain-text-tiddler}}}
\end
<<renderContent>>

The variable exportFilter contains a filter defining which tiddlers should be exported.

Creating and editing tiddlers

7th June 2016 at 4:37pm

Creating tiddlers

You create a tiddler either by clicking the button in the sidebar, or by clicking on a link to a missing tiddler. Links to missing tiddlers are shown in blue italics.

See also:

Editing tiddlers

To edit an existing tiddler, click the button at the top right of the tiddler.

Draft mode

When you create a new tiddler or edit an existing one, the tiddler will go into draft mode. This presents a control panel for modifying the tiddler in various ways. It has several parts, from top to bottom:

  • The title field - Use this to change the title of the tiddler
  • The tag selector - Use this to add or remove tags. As you type a tag name in the box, a dropdown list will show you any existing tags that match. You can pick from this list or create a completely new tag. Then click the add button to add the tag to the tiddler. Each tag is shown as a coloured pill. Click the "×" on a pill to remove that tag
  • The text area - Use this to edit the main content of the tiddler. Click the preview button ( / ) to see what your changes will look like
  • The type selector - Use this when a tiddler needs to be displayed in a special way, such as an image. See ContentType for a list of the options. The default is text/vnd.tiddlywiki, which means the tiddler contains WikiText
  • The field selector - Use this to add or remove fields on the tiddler. For example, if you are editing a tiddler that's being used to tag other tiddlers, you can add a ''list'' field to change the order in which those tiddlers will be listed

Save, cancel or delete

When you have finished editing, click a button at the top right of the tiddler:

  • The ok button ( ) stores your changes to this one tiddler and leaves draft mode. If your wiki is configured to AutoSave, your changes will be permanently saved. Otherwise they will only be stored temporarily in your web browser, and you will lose them if you close your TiddlyWiki page without first clicking the master save changes button ( ) in the sidebar.
  • The cancel button ( ) discards your changes (after asking you to confirm) and leaves draft mode.
  • The delete button ( ) deletes the entire tiddler (after asking you to confirm).

Creating journal tiddlers

10th June 2016 at 9:18am

Introduction

Journal tiddlers are tiddlers that use a date and/or time as their title. They are typically used as a quick way to record time-stamped information.

You can use additional tags on a journal tiddler to link it to other tiddlers, helping to establish the relationships between items of information.

For example, you might use a journal tiddler called 10th October 2014 to record thoughts and information captured on that particular day. The tags Shopping and London might be used to indicate that the entry concerns shopping in London.

Creating a journal tiddler

The easiest way to create a journal tiddler is to use the new journal button 25 in the Tools tab of the sidebar. If you find yourself often using the button, click the checkbox next to it to make the button available just above the search box.

The new journal button creates a journal entry as a blank tiddler with the tag Journal and a title derived from today's date. If a journal tiddler with that title already exists, then this is opened for editing.

Creating a tagged journal tiddler

A common sequence of actions is to create (or reopen) today's journal entry and tag it with the title of another tiddler. This can be done with the new journal here button 25 in the other tiddler's toolbar. You can find this button in the Tools tab of the tiddler's InfoPanel.

For example, you might be reviewing a tiddler called Oxford Street and realise that it's relevant for planning your shopping trip. Click the new journal here button on the Oxford Street tiddler to bring up a journal entry tagged with Oxford Street.

Customising journal tiddlers

To configure how new journal entries are created, visit the Basics tab under Info in the control panel :

  • "Title of new journal tiddlers" specifies how these tiddlers should be named, as a date format string. The default setting of DDth MMM YYYY causes new entries to have titles of the form "10th October 2014"
  • "Tags for new journal tiddlers" [specifies|Title List] tags that will automatically appear on new journal entries. For example: Journal [[Summer vacation]]

Hint: if you want to create a separate journal tiddler whenever you click new journal (even if you do this several times in the same day), you can include the clock time in the title format. Specify something like YYYY-0MM-0DD at 0hhh0mm'0ss'' as the date format.

Another useful trick is to include $(currentTiddler)$ somewhere in the title format. This means that if you click new journal here on several different tiddlers, the title of each of those tiddlers will form part of the name of the resulting journal entries.

Creating SubStories

19th September 2014 at 5:15pm

This example shows how to create a sub-story within a tiddler that is independent of the main story.

Here's the code:

<$navigator story="MySubStoryList" history="MySubHistoryList">

Click this link to get started: HelloThere

<$list filter="[list[MySubStoryList]]" history="MySubHistoryList">
<div>

! <$button message="tm-close-tiddler" class="tc-btn-invisible">{{$:/core/images/close-button}}</$button> <$view field="title"/>

<$transclude/>
</div>
</$list>

</$navigator>

Note how you can open the HelloThere tiddler in the substory by clicking on the link below. Links within the substory open within the substory, and not in the main story.

Click this link to get started: HelloThere

csvtiddlers Macro

21st February 2015 at 3:13pm

The csvtiddlers macro returns the fields of a selection of tiddlers in CSV form, with one record (row) per tiddler.

An example can be seen in the template tiddler for CSV exports.

Parameters

filter
A filter selecting which tiddlers to include
format
Reserved for future extension. Should be set to quoted-comma-sep

Current Tiddler

21st February 2015 at 9:50pm

The current tiddler provides the context in which several aspects of WikiText are interpreted.

For example, {{!!title}} denotes the value of the title field of whatever the current tiddler happens to be. This technique can be used to create general-purpose template tiddlers.

The title of the current tiddler can always be found in the currentTiddler variable.

The two most common ways in which the current tiddler is changed are:

  • the $tiddler widget
  • the $list widget (when its variable attribute is not overridden)

The current tiddler is therefore often not the same as the tiddler that is being viewed or edited.

currentTiddler Variable

21st February 2015 at 3:20pm

The currentTiddler variable contains the title of the current tiddler.

Several aspects of WikiText use this tiddler as their context. As a result, within a $list widget or a template tiddler, there is often no need to explicitly specify a tiddler title.

Compare storyTiddler.

Examples

currentTiddler Variable (Examples)

21st February 2015 at 2:13pm

The following two examples have the same meaning:

<$view field=title/>
<$view tiddler=<<currentTiddler>> field=title/>

This next example shows how the $list widget changes the current tiddler:

<ol>
<$list filter="[prefix[J]]">
<li><<currentTiddler>></li>
</$list>
</ol>

Customise TiddlyWiki

4th September 2014 at 11:16am

Customising search results

27th October 2014 at 3:19pm

By default, the results for the sidebar search box are displayed as a simple list of tiddler titles. The search results can be customised by adding plugin visualisations that show the search results in different ways. (Tabs are shown automatically if an additional search result visualisation is detected).

Search result visualisations are stored in tiddlers tagged $:/tags/SearchResults. The default search result listing is implemented in the system tiddler $:/core/ui/DefaultSearchResultList.

To create a new search result visualisation:

  1. Create a new tiddler tagged $:/tags/SearchResults
  2. Use the widget variable searchTiddler to access the title of the tiddler containing the current search term

If you'd like the new visualisation to be the default, create a tiddler called $:/config/SearchResults/Default containing the title of the tiddler containing the search visualisation that you want to display by default.

Here is an example of an alternative visualisation that displays results in reverse chronological order:

\define searchResults()
<$set name="resultCount" value="""<$count filter="[!is[system]search{$(searchTiddler)$}]"/>""">

{{$:/language/Search/Matches}}

</$set>
<<timeline subfilter:"!is[system]search{$(searchTiddler)$}">>
\end
<<searchResults>>

Customising Tiddler File Naming

24th April 2016 at 7:13pm

By default, a TiddlyWiki on Node.js instance using a wiki folder will create new tiddler files by using the sanitised and disambiguated title as filename.

This can be customised by creating a tiddler $:/config/FileSystemPaths containing one or more filter expressions, each on a line of its own. Newly created tiddlers are matched to each filter in turn, and the first output of the first filter to produce any output is taken as a logical path to be used for the tiddler file. Logical paths don't include the .tid extension, and they always use / as directory separator (when generating the physical path, this is replaced by the correct separator for the platform TiddlyWiki is running on). If none of the filters matches, the logical path is simply the title with all occurences of / replaced by _ (for backwards compatibility).

In both cases, the characters <>:"\|?*^ are replaced by _ in order to guarantee that the resulting path is legal on all supported platforms.

Example

[is[system]removeprefix[$:/]addprefix[_system/]]
[tag[task][addprefix[mytasks/]]
[!has[draft.of]]

This will store newly created system tiddlers in tiddlers/_system (after stripping the $:/ prefix), tiddlers tagged task in a subdirectory tiddlers/mytasks, and also create subdirectory structures for all other non-draft tiddlers.

Thus, $:/config/FileSystemPaths itself will end up in tiddlers/_system/config/FileSystemPaths.tid or tiddlers\_system\config\FileSystemPaths.tid, depending on the platform.

D3 Plugin

7th January 2016 at 10:37pm

The D3 plugin integrates the D3 visualisation library with TiddlyWiki.

See http://tiddlywiki.com/plugins/tiddlywiki/d3/

Dashes in WikiText

5th December 2013 at 4:06pm

You can create an n-dash with a double hyphen -- and an m-dash with a triple hyphen ---. For example – this is an example — and so is this

Data URI

21st February 2015 at 6:17pm

A data URI is a way of storing data (such as an image) in a way that is compatible with the addresses used by web pages and stylesheets to access external resources.

The datauri macro can be used to generate data URIs within TiddlyWiki.

DataTiddlers

29th August 2013 at 5:47pm

A data tiddler is a miniature database contained within a tiddler.

There are two standard formats:

Other formats of tiddler can also be parsed to yield blocks of data that behave like data tiddlers.

Use a TextReference to look up the value of a named property. For example, if a DictionaryTiddler called MonthDays contains:

oct:31
nov:30
dec:31

... then {{MonthDays##nov}} will resolve to the value 30.

The same is true if MonthDays is a JSONTiddler with the following content:

{"oct":31,"nov":30,"dec":31}

Note: It is currently only possible to retrieve data from the immediate properties of the root object of a JSONTiddler.

The widgets ActionSetFieldWidget and ActionListopsWidget can manipulate named properties of data tiddlers by indicating the name of the property in the $index attribute. To create or modify a named property with ActionSetFieldWidget, provide a $value attribute. To delete a named property with ActionSetFieldWidget, omit the $value attribute. ActionListopsWidget assigns the named property the list constructed through its $filter and $subfilter attributes.

datauri Macro

21st February 2015 at 10:28pm

The datauri macro returns a data URI for the content of a tiddler.

It is often used in stylesheet tiddlers to reference things like inline images and fonts:

background: url(<<datauri "Motovun Jack.jpg">>);

The data URI is automatically base64-encoded in the case of a non-text tiddler.

Parameters

title
The title of a tiddler, such as an image

Examples

datauri Macro (Examples)

21st February 2015 at 10:35pm

<style>
.jack {
	background: url(<$macrocall $name="datauri" title="Motovun Jack.jpg" $output="text/plain"/>);
	height: 300px;
}
</style>

<div class="jack"/>

The example has to invoke datauri through the $macrocall widget. It needs to prevent the macro's output from being parsed as WikiText, as that would transform the data URI into a $link widget and break the example. If the example was in a CSS tiddler, you could simply write:

background: url(<<datauri "Motovun Jack.jpg">>);

Date Fields

24th January 2015 at 9:45pm

Certain fields of a tiddler are used to store dates and times.

The two standard date fields are created and modified.

Values of date fields are 17-character strings:

  • 4 digits for the year
  • 2 digits for the month
  • 2 digits for the day
  • 2 digits for the hour
  • 2 digits for the minute
  • 2 digits for the second
  • 3 digits for the millisecond

To avoid problems arising from differences of time zone, TiddlyWiki always uses UTC.

As an example, the created field of this tiddler has the value 20150117190213631.

Dates can be converted to other formats for display:

<$view field="created" format="date" template="DDD DDth MMM YYYY"/>

That renders as:

Saturday 17th January 2015

DateFormat

12th September 2014 at 3:58pm

The ViewWidget accepts a template attribute that allows the format of date values to be specified. The format string is processed with the following substitutions:

TokenSubstituted Value
DDDDay of week in full (eg, "Monday")
dddShort day of week (eg, "Mon")
DDDay of month
0DDAdds a leading zero
DDthAdds a suffix
WWISO-8601 week number of year
0WWAdds a leading zero
MMMMonth in full (eg, "July")
mmmShort month (eg, "Jul")
MMMonth number
0MMAdds leading zero
YYYYFull year
YYTwo digit year
wYYYYFull year with respect to week number
wYYTwo digit year with respect to week number
hhHours
0hhAdds a leading zero
hh12Hours in 12 hour clock
0hh12Hours in 12 hour clock with leading zero
mmMinutes
0mmMinutes with leading zero
ssSeconds
0ssSeconds with leading zero
am or pmLower case AM/PM indicator
AM or PMUpper case AM/PM indicator
TZDTimezone offset
\xUsed to escape a character that would otherwise have special meaning

Note that other text is passed through unchanged, allowing commas, colons or other separators to be used.

Examples

TemplateOutput
DDth MMM YYYY16th February 2011
DDth MMM \M\M\M YYYY16th February MMM 2011
DDth mmm hh:mm:ss16th Feb 2011 11:38:42

datepicker plugin based on Pikaday, by kixam

15th October 2015 at 8:31am

An interactive date picker plugin based on Pikaday. A demo can be found here: http://kixam.github.io/TW5-datePicker/.

datepicker is a TiddlyWiki plugin that allows you to use a widget much like EditTextWidget to pick a date, and optionaly a time. It shows a nice interactive mini-calendar when clicked, allows you to set a date format for display, and is compatible with core date fields such as modified and created.

Days of the Week

23rd January 2015 at 9:46pm

This example tiddler is used to illustrate some of the Filter Operators.

It has a list field containing the following items:

days Operator

purposefilter the input by date
inputa selection of titles
suffixF = the name of a date field, defaulting to modified
parameterD = a number of days, defaulting to 0
outputthose input tiddlers in which field F is D days in the { future | past } or any time { before | after } that, including { past | future }, where D is { positive | negative }
! outputthose input tiddlers in which field F is at least D days in the { future | past }, where D is { positive | negative }

Select tiddlers where a specified date field (default "modified") is withing a specified date range. Time portion is ignored.

Examples

days Operator (Examples)

[days[-14]]
→ tiddlers modified within the last 14 days

[!days:created[-800]]
→ tiddlers created more than 800 days ago

The filter can be used to highlight new items in a list. For example:


<ul>
  <$list filter="[tag[ReleaseNotes]!<currentTiddler>!sort[modified]]">
    <li>
      <$link><$view field="title"/></$link><$list filter="[<currentTiddler>days[-120]]"> @@color:red;^^new^^@@</$list>
    </li>
  </$list>
</ul>

That renders as:

Definitions

25th August 2013 at 3:51pm

Definitions in WikiText

5th December 2013 at 4:04pm

HTML definition lists are created with this syntax:

; Term being defined
: Definition of that term
; Another term
: Another definition

That renders as:

Term being defined
Definition of that term
Another term
Another definition

... and the underlying HTML is:

<dl><dt>Term being defined</dt><dd>Definition of that term</dd><dt>Another term</dt><dd>Another definition</dd></dl>

Deutsch (Deutschland) Edition

19th September 2014 at 10:58pm

Deutsch (Österreich) Edition

19th September 2014 at 10:59pm

Die österreichische Übersetzung von TiddlyWiki ist verfügbar unter:

Siehe auch: Deutsch (Deutschland) Edition.

Dev Thumbnail.jpg

Developers

10th July 2016 at 4:07pm

There are several resources for developers to learn more about TiddlyWiki and to discuss and contribute to its development.

DictionaryTiddlers

28th December 2014 at 9:45am

A dictionary tiddler is a data tiddler containing a simple list of name/value pairs.

Its ContentType is application/x-tiddler-dictionary.

The text field consists of one or more lines of the form name: value.

ColourPalettes, such as the default Vanilla palette, are dictionary tiddlers.

Discover TiddlyWiki

23rd October 2015 at 5:53pm

You've never seen anything like TiddlyWiki. TiddlyWiki is:

a tool,
a toolbox,
a community,
and a philosophy.

TiddlyWiki is a Tool

TiddlyWiki is first and foremost a tool: it is a free downloadable tool for capturing and organising content from the web, from your documents or from your brain. It is a tool for note-taking, bookmarking, pinning, writing, managing to-do lists and projects, collaborating, blogging, and publishing.

In TiddlyWiki you create or paste content into notes called tiddlers, then connect your tiddlers with hyperlinks and tags. You can then quickly retrieve your notes through features such as tag pills, sidebar tabs, and TiddlyWiki's lightning fast search window. You can even dynamically include one tiddler's content inside another - similar to using building blocks - to create articles, lists, presentations and more.

TiddlyWiki is a Toolbox

In addition to being a versatile tool, TiddlyWiki is also a toolbox.

Where other note-taking products hook you with the basic program then charge you for the really helpful features, TiddlyWiki has an ever-expanding collection of completely free visual themes, colour palettes, plugins, widgets and macros, which you can then mix and match so that you can tweak and tailor your TiddlyWiki to get it just the way you want it.

TiddlyWiki is also a Community

We are a community of users and developers who help each other imagine new ways of thinking and organising and create new solutions, so that TiddlyWiki is continually adapting to better serve your needs. TiddlyWiki users and developers share questions and advice at a TiddlyWiki Google group. They also create tutorials, adaptations, and plugins to enhance your TiddlyWiki experience. See the section Community of the TableOfContents for more details.

Finally, TiddlyWiki is a philosophy

The purpose of taking and organising a note (or recording any kind of content) is to be able to retrieve it later. If you can't find your notes in your note-taking system, your note-taking becomes a colossal waste of time.

The TiddlyWiki philosophy is that the best way to take notes is to separate them into tiddlers, the smallest semantic units possible. A tiddler might be an image, a webpage link, a concept, the definition of a term, or a specific customisation such as a macro.

These tiddlers can then be woven together to create longer units: stories, articles, lists, image galleries, and much more. TiddlyWiki's features such as tagging, hyperlinking, and filters are specially designed to help you relate and connect tiddlers together in multiple ways, facilitating your future retrieval of your notes and even helping you see unexpected relationships among your tiddlers and the information they contain.

Document Object Model

28th February 2015 at 1:40pm

The DOM of a web page is a tree-shaped model of its content, maintained internally by the web browser as the user interacts with that content. Each point in the tree is called a node.

When TiddlyWiki is running in a web browser, its widgets are rendered into DOM nodes for display.

When TiddlyWiki is running on Node.js, it uses a fake DOM to simulate the behaviour of a browser.

Documentation Macros

28th February 2015 at 8:28am

The following macros are used throughout TiddlyWiki's documentation. Their names start with a dot to keep them out of the way of names that a user might try experimenting with.

General

MacroUsed forExample
.defthe defining instance of a termwidget
.emminor emphasis within a sentencenot
.placea placeholder for the user to fill intagname
.strongmajor emphasis within a tiddlerImportant!
.worda mention of an ordinary word or phrase"hello world"

Advice

MacroUsed forExample
.tiphints and tips
Turn your screen on, otherwise
you won't be able to see much.
.warningwarning advice
Make a backup of your file
before you upgrade.

Blocks

MacroUsed for
.preamblean introductory sentence that stands apart from the rest of the tiddler

Tiddlers and fields

MacroUsed forExample
.tida tiddler titleExample
.taga tagExample
.fielda field nameexample
.valuea field valueexample value
.opa filter operatorbacklinks
.vara variable or macro namecurrentTiddler
.wida widget name$list
.attran attribute namefilter
.parama macro parameter nametext

Links

MacroUsed forExample
.linka link containing WikiTextan example
.clinka code link<$list>
.dlinka link on a defining instance of a termwidget
.dlink-exan external link on a defining instance of a termExample
.flinka link to a fieldlist
.mlinka link to a macroqualify
.mlink2a link to a macro, with specified targetfoo
.olinka link to an operatorprefix
.olink2a link to an operator, with specified targetfoo
.vlinka link to a variablecurrentTiddler
.vlink2a link to a variable, with specified targetfoo
.wlinka link to a widget$button
.wlink2a link to a widget, with specified textfoo

User interface

MacroUsed forExample
.keya key on the keyboardEscape
.keycomboa key combinationCtrl+Enter

Tabs

MacroUsed forExample
.sidebar-tabthe name of a sidebar tabMore
.more-tabthe name of a subtab of the More tabShadows
.info-tabthe name of a tiddler info tabFields
.controlpanel-tabthe name of a Control Panel tabSettings
.advancedsearch-tabthe name of an Advanced Search tabFilter
.toc-tabname of the tw5.com TOC tabContents
.example-taban example tab nameNotes

Parameters for .sidebar-tab

OpenOpen
RecentRecent
ToolsTools
MoreMore

Parameters for .more-tab

AllAll
RecentRecent
TagsTags
MissingMissing
DraftsDrafts
OrphansOrphans
TypesTypes
SystemSystem
ShadowsShadows

Parameters for .info-tab

ToolsTools
ReferencesReferences
TaggingTagging
ListList
ListedListed
FieldsFields
AdvancedAdvanced

Parameters for .controlpanel-tab

InfoInfo
AppearanceAppearance
SettingsSettings
SavingSaving
PluginsPlugins

Parameters for .advancedsearch-tab

StandardStandard
SystemSystem
ShadowsShadows
FilterFilter

Buttons

MacroUsed forExample
.buttona standard button name and icon new tiddler

Parameters for .button

Tiddler toolbar

clone clone
close close
close-others close others
edit edit
export-tiddler export tiddler
info info
more-tiddler-actions more
new-here </g> new here
new-journal-here 25 new journal here
permalink permalink

Edit-mode toolbar

cancel cancel
delete delete
save ok

Page toolbar

advanced-search advanced search
close-all close all
control-panel control panel
encryption encryption
export-page export all
full-screen full-screen
home home
import import
language language
more-page-actions more
new-journal 25 new journal
new-tiddler new tiddler
permaview permaview
refresh refresh
save-wiki save changes
storyview storyview
tag-manager tag manager
theme theme

Documentation Style Guide

17th January 2015 at 3:25pm

The documentation for TiddlyWiki tries to follow a consistent editorial style. It has two main areas, each with its own tone and audience:

We keep the two areas distinct. This avoids overwhelming relative newcomers, while still providing quick access to the information that expert users need.

Additional topics:

Dominant Append

17th September 2015 at 8:36pm

Filters manipulate sets of titles in which no title may appear more than once. Furthermore, they often need to append one such set to another.

This is done in such a way that, if a title would be duplicated, the earlier copy of that title is discarded. The titles being appended are dominant.

For example, if a selection contains Andrew Becky Clara Daniel and Andrew Barney Clara Daisy is then appended to it, the result is Becky Daniel Andrew Barney Clara Daisy.

done

5th July 2013 at 11:27am

DraftMechanism

20th August 2013 at 2:24pm

Tiddlers that have a draft.of field are treated as pending drafts of the tiddler specified in the field. Draft tiddlers should also have a draft.title field that specifies the title that will be given to the tiddler when it is saved.

Several features work in concert to give the desired behaviour for draft tiddlers:

  • The ListWidget can optionally render draft tiddlers through a different template
  • The NavigatorWidget incorporates handlers for the following events:
    • tm-new-tiddler for creating a new tiddler in draft mode
    • tm-edit-tiddler for moving a tiddler into edit mode
    • tm-cancel-tiddler for cancelling a tiddler out of edit mode
    • tm-save-tiddler for saving a draft tiddler
  • Draft tiddlers are automatically excluded from search operations

DropzoneWidget

30th October 2013 at 8:37am

Introduction

The dropzone widget creates an area into which the user can drag files and other objects. It also supports pasting via the clipboard, although browser support is currently limited.

It sends a WidgetMessage: tm-import-tiddlers carrying a JSON representation of the tiddlers to be imported up through its parents. This message usually trapped by the NavigatorWidget which adds the tiddlers to the store and updates the story to display them.

Content and Attributes

The dropzone widget has no attributes, and displays any contained content within the dropzone.

Display

The dropzone widget creates an HTML <div class="tc-dropzone"> to contain its content. During a drag operation the class tc-dragover is added. CSS is used to provide user feedback.

Data types supported

The following data transfer types are supported:

  • text/vnd.tiddler - a list of tiddlers in JSON format (this format is generated by the LinkWidget)
  • text/plain - plain text
  • text/uri-list - a list of URIs as a single tiddler

dumpvariables Macro

21st February 2015 at 3:14pm

The dumpvariables macro returns a table showing the values of all variables and macros that exist at that position in the widget tree.

It is useful for debugging and exploring TiddlyWiki's internals.

Placeholders are replaced with values in the normal way, but using the default values for all macro parameters.

Parameters

(none)

Examples

dumpvariables Macro (Examples)

21st February 2015 at 3:14pm

<$set name="EXAMPLE" value="123..789">
<$set name="EXAMPLE2" value="456">

<<dumpvariables>>

</$set>
</$set>

each Operator

3rd February 2015 at 6:42pm
purposeselect one of each group of input titles by field
inputa selection of titles
suffixoptionally, list-item
parameterF = the name of a field, defaulting to title
outputa selection containing the first input title encountered for each distinct value of field F

Each input title is processed in turn. The value of field F in the corresponding tiddler is examined.

each
As long as the field's value has not been encountered before, the title is appended to the output.
each:list-item
The value is treated as a title list. Each title in the list considered in turn. If it has not been encountered before, it is appended to the output.

If a tiddler doesn't contain field F, it is treated as if the field's value was empty.

Examples

each Operator (Examples)

18th January 2015 at 6:31pm

[each[color]]

[sort[title]each[type]]
→ the alphabetically first tiddler of each type

[each:list-item[list]]
→ all tiddlers listed anywhere in the core list field

For an example of using the each operator to generate a two-tier list of groups and members, see GroupedLists.

eachday Operator

10th February 2015 at 4:16pm
purposeselect one of each group of input titles by date
inputa selection of titles
parameterF = the name of a date field, defaulting to modified
outputa selection containing the first input title encountered for each distinct value (ignoring times of day) of field F

Each input title is processed in turn. The value of field F in the corresponding tiddler is examined, and as long as this indicates a date that has not been encountered before, the title is appended to the output.

If a tiddler doesn't contain field F, it contributes nothing to the output.

Examples

eachday Operator (Examples)

18th January 2015 at 6:31pm

[eachday[created]]
→ the first tiddler created on each day

For an example of using the eachday operator to generate a two-tier list of groups and members, see GroupedLists.

Edición en Castellano

11th May 2016 at 5:02pm

La edición española de TiddlyWiki se encuentra aquí:

EditBitmapWidget

20th February 2015 at 4:21pm

Introduction

The edit bitmap widget provides a user interface in the browser for editing bitmap tiddlers. It is currently a primitive proof-of-concept, supporting resizing and painting with a single color and line width.

Content and Attributes

The content of the <$edit-bitmap> widget is ignored.

AttributeDescription
tiddlerThe tiddler to edit (defaults to the current tiddler)

Configuration

The edit bitmap widget can be configured with these system tiddlers:

Editing Tiddlers with Emacs

19th September 2014 at 5:15pm

Michael Fogleman has written an Emacs major mode called tid-mode, which is for editing TiddlyWiki .tid files. It is derived from text-mode, uses the useful minor modes org-struct and subword, and updates the modified times when you save a .tid file.

He also wrote two helper functions for using TiddlyWiki in Emacs. The first opens a tiddlers directory in Dired; the second opens TiddlyWiki in the browser.

(defun open-wiki ()
  "Opens a TiddlyWiki directory in Dired."
  (interactive)
  (dired "~/Dropbox/wiki/tiddlers/"))
(defun browse-wiki ()
  "Opens TiddlyWiki in the browser."
  (interactive)
  (browse-url "127.0.0.1:8080/"))

This latter function may require specifying a browser:

(setq browse-url-browser-function 'browse-url-generic
      browse-url-generic-program "chromium")

You can bind either of these functions with the global-set-key function:

(global-set-key (kbd "C-c w") 'open-wiki)

At the moment, these are not integrated into tid-mode.

Editing Tiddlers with Vim

11th January 2016 at 7:00pm

Devin Weaver has written a Vim plugin at https://github.com/sukima/vim-tiddlywiki

It supports most of the TiddlyWiki syntax and includes a filetype plugin which will auto update the modified field.

Édition en Français (France)

23rd November 2014 at 4:29pm

La traduction en Français (France) de TiddlyWiki démarre ici :

editiondescription Operator

3rd February 2015 at 6:45pm
purposeselect the descriptions of the input editions
inputa selection of edition names
parameternone
outputthe description string of each edition in the input

Each input title is processed in turn, ignoring any that is not the name of a TiddlyWiki edition.

Note
This operator is not available when TiddlyWiki is running in a web browser.

Editions

7th January 2016 at 10:21pm

TiddlyWiki is distributed in several distinct editions that are tuned for specific purposes.

An edition consists of the TiddlyWiki core components along with plugins, documentation and sample content to get you up and running as quickly as possible.

You can mix and match the components of these editions, to make a unique solution for your particular application.

Note that editions should not be confused with the platforms on which TiddlyWiki runs (eg as a single HTML file vs. under Node.js)

editions Operator

3rd February 2015 at 6:46pm
purposeselect the names of all the TiddlyWiki editions
inputignored
parameternone
outputthe name of each TiddlyWiki edition, in alphabetical order
Note
This operator is not available when TiddlyWiki is running in a web browser.

EditionsCommand

29th October 2014 at 11:43am

Lists the names and descriptions of the available editions. You can create a new wiki of a specified edition with the --init command.

--editions

EditTextWidget

24th December 2015 at 2:39pm

Introduction

The edit text widget provides a user interface in the browser for editing text tiddler fields. The editing element is dynamically bound to the underlying tiddler value: changes to the tiddler are instantly reflected, and any edits are instantly propogated.

By default, the edit text widget generates a <textarea> as the HTML editing element when the text field is edited, and a <input type="text"> element otherwise. This behaviour can be overridden with the tag and type attributes.

Content and Attributes

The content of the <$edit-text> widget is ignored.

AttributeDescription
tiddlerThe tiddler to edit (defaults to the current tiddler)
fieldThe field to edit (defaults to text). Takes precedence over the index attribute
indexThe index to edit
defaultThe default text to be provided when the target tiddler doesn't exist
classA CSS class to be assigned to the generated HTML editing element
placeholderPlaceholder text to be displayed when the edit field is empty
focusPopupTitle of a state tiddler for a popup that is displayed when the editing element has focus
focusSet to "yes" or "true" to automatically focus the editor after creation
tagOverrides the generated HTML editing element tag. Use textarea for a multi-line editor
typeOverrides the generated HTML editing element type attribute
sizeThe size of the input field (in characters)
autoHeightEither "yes" or "no" to specify whether to automatically resize textarea editors to fit their content (defaults to "yes")
minHeightMinimum height for automatically resized textarea editors, specified in CSS length units such as "px", "em" or "%"
rowsSets the rows attribute of a generated textarea

Notes

One trap to be aware of is that the edit text widget cannot be used to edit a field of the tiddler that contains it. Each keypress results in the tiddler being re-rendered, which loses the cursor position within the text field.

Instead, place the edit text widget in a template that references the tiddler you want to modify.

For example, if you wanted the tiddler GettingStarted to edit the value of the "myconfig" field of the tiddler "AppSettings", you might do so by creating a separate tiddler "ChangeAppSettings" that contains the following:

<$edit-text tiddler="AppSettings" field="myconfig"/>

And reference the template in any other tiddler (e.g. GettingStarted) with {{ChangeAppSettings}}.

This works when your use of the tiddler is not the AppSettings itself which would cause a recursion problem. In this latter case you have to save the fields to a temporary (or alternative) tiddler (sort of the reverse of above) like so:

<$edit-text tiddler="StoreAppSettings" field="myconfig"/>

In short the EditTextWidget can not change properties of the tiddler it is embedded in or part of. It can only change fields of other tiddlers. One could use ShadowTiddlers to accomplish the field storage if needed.

EditWidget

20th February 2015 at 4:12pm

Introduction

The edit widget provides a general purpose interface for editing a tiddler. It dynamically chooses the appropriate widget depending on the type of the tiddler (currently either the EditTextWidget or the EditBitmapWidget).

Content and Attributes

The content of the <$edit> widget is ignored.

AttributeDescription
tiddlerThe tiddler to edit (defaults to the current tiddler)
fieldThe field to edit (defaults to text). Takes precedence over the index attribute
indexThe index to edit
classA CSS class to be added the generated editing widget

Empty Edition

2nd July 2016 at 9:42am

The "empty" edition of TiddlyWiki is a vanilla distribution, with no additional plugins or configuration beyond the core code.

The empty edition can be downloaded from:

Your browser may ask you to accept the download before it begins

Encryption

10th June 2016 at 9:33am

When used as a single HTML file, TiddlyWiki5 allows content to be encrypted using the Stanford JavaScript Crypto Library.

  1. Switch to the Tools tab in the sidebar and look for the button with a padlock icon
  2. If the button is labelled set password then the current wiki is not encrypted. Clicking the button will prompt for a password that will be used to encrypt subsequent saves
  3. If the button is labelled clear password then the current wiki is already encrypted. Clicking the button will remove the password so that subsequent saves will be unencrypted
  4. Optionally, open the saved file in a text editor and verify that your data is encrypted
  5. Open the file in your browser. You will be prompted for a password before the content is displayed

Note that TiddlyWiki has two other unrelated features concerned with passwords/encryption:

  • The ability to set a password when saving to TiddlySpot. This is done in the "Saving" tab of control panel .
  • The ability to use standard HTTP basic authentication with the Node.js server configuration. This is done on the command line with the ServerCommand. Combined with SSL, this gives the same level of transit encryption as you'd get with online services like Google or Dropbox, but there is no encryption of data on disk

EncryptWidget

30th October 2013 at 8:37am

Introduction

The encrypt widget renders a filtered list of tiddlers to an encrypted block with the password currently held in the PasswordVault. The encrypted block can subsequently be decrypted by the TiddlyWiki5 BootMechanism. See the EncryptionMechanism for more details.

Content and Attributes

The content of the <$encrypt> widget is ignored.

AttributeDescription
filterFilter defining the tiddlers to be included in the encrypted block. If not specified then all non-system tiddlers are used

EntityWidget

14th March 2016 at 4:56pm

Introduction

The entity widget displays a specified HTML character entity.

Content and Attributes

The content of the <$entity> widget is not used.

AttributeDescription
entityThe entity to display (eg, &times;)

Environment Variables on Node.js

12th September 2014 at 3:18pm

TiddlyWiki on Node.js supports the following OS environment variables for specifying a colon-delimited list of paths to search for plugins and editions:

  • TIDDLYWIKI_PLUGIN_PATH - Search path for ordinary plugins
  • TIDDLYWIKI_THEME_PATH - Search path for themes
  • TIDDLYWIKI_LANGUAGE_PATH - Search path for languages
  • TIDDLYWIKI_EDITION_PATH - Search path for editions (used by the InitCommand)

The additional paths should each point to folders structured like the equivalent directories in the TiddlyWiki5 GitHub repository: the plugin, theme and language directories contain publisher/pluginname/<files> while the edition directories contain editionname/<files>

For example:

TIDDLYWIKI_PLUGIN_PATH=~/MyPluginStore
tiddlywiki mywiki --build index

Eucaly's Tiddly World

13th September 2014 at 11:39am

I collect my tw5 creations on-line as http://eucaly-tw5.tiddlyspot.com/

Available Plugins :

Example for tag Macro

This tiddler exists to demonstrate the tag macro.

Example Table of Contents: Expandable

21st February 2015 at 8:37pm

<div class="tc-table-of-contents">
<<toc-expandable "Contents">>
</div>

Example Table of Contents: Selectively Expandable

21st February 2015 at 8:39pm

<div class="tc-table-of-contents">
<<toc-selective-expandable "Contents">>
</div>

Example Table of Contents: Simple

21st February 2015 at 8:37pm

<div class="tc-table-of-contents">
<<toc "Contents">>
</div>

Example Table of Contents: Sorted Expandable

21st February 2015 at 8:39pm

<div class="tc-table-of-contents">
<<toc-expandable "Contents" "sort[title]">>
</div>

Example Table of Contents: Tabbed External

21st February 2015 at 9:00pm