ThirdFlow

Yet another TW5 Plugin Development Flow

View project onGitHub

About ThirdFlow

Third Flow plugin

The ThirdFlow plugin brings to you another way to develop customization plugins for TiddlyWiki 5. This plugin is not enforcing a specific development flow, it simply tries to help you when you want it to help you. Otherwise, it tries to stay out of your way.

Development Phase

Development Phase

You can develop your plugin directly from within your browser. A server-based TiddlyWiki instance running on Node.js ensures that all your source tiddlers are neatly stored in a clean and hierarchically organized folder structure.

Source code management is done as usual using your favorite source code management tool, such as git and others. As the ThirdFlow plugin structures your tiddler source files you get a well-organized repository structure at no price.

Release Phase

Release Phase

For packaging your plugin you finally simply run a shell script which packs the plugin tiddler and saves it to disk. Additionally, a demonstration TiddlyWiki is also created that guides your future plugin users through the process of deploying your new plugin.

The neat trick here is that the ThirdFlow plugin automatically removes itself from your demonstration TiddlyWikis, because you don't need and want it there.

We're Using It Ourselves

Of course, we are developing our ThirdFlow plugin using it ourselves, so we use the same process it supports. And it is real Open Source. As the saying goes, eat your own dog food. This one really tastes delicious. Even if you're not a dog – but luckily, nobody will know on the Internet.

Test Drive

Experience the ThirdFlow plugin live in a demonstration wiki ... and learn more about how to use the ThirdFlow plugin in your own TiddlyWikis. Also contained is background information on the exiting plugin and JavaScript module technologies that TiddlyWiki 5 comes readily equipped with.

Developer Tools

Wait! There's even more in our ThirdFlow plugin surprise box. Well, vi experts won't exactly be thrilled at what we have to offer. But for all us real browser-addicts we've added a few nice developer tools that should make your developer life more comfortable – while you are working on your next great TiddlyWiki plugin.

Editing Your Code Made Fun

Convenient Coding Bliss

Our ThirdFlow plugin comes packed with some useful additional codemirror editor functionality, ready to use. For instance, bracket matching, indication of the current line, and on top of that syntax coloring for JavaScript and CSS. What a bliss.

To make your experience as seamless as possible we're able to store JavaScript tiddlers as plain JavaScript code files. This way you can edit them either from within your TiddlyWiki or in an external editor. The latter as you may have done in the past already when developing JavaScript macros and modules for TiddlyWiki. You know, we don't want to enforce a particular development flow so you can decide at any time to either develop in-browser or using an external code editor and switch back and forth as you like.

Note: in the future we hope to support warm reboots to make your life writing and debugging JavaScript code modules even more fun. At the moment you still need to reload you TiddlyWiki so that your code changes take effect.

Find Your Code

Clear View on Your Plugin Code

A new side bar tool gives you a clear overview over the plugin source you that are part of your plugin development project. The plugin sources view doesn't need any configuration. It simply shows all plugins which are not part of the core, that is, all inside the $:/plugins branch. And all this in a neatly way, with your plugins clearly standing out for easy reference.

As another nice developer feature, we cut away the irritating long prefixes that otherwise eat up all your valuable screen space. Compare this with the stock System view, where you end up with a forest of unwieldly long and hard-to-read prefixes.

Easily Organize Your Tiddlers

Organize Your Tiddlers by Tag

The ThirdFlow plugin organizes all your tiddlers neatly into subfolders ... and you can easily configure it according to what organization you would like to have. And we even give you a nice new «File Storage» tab in the control panel, so you can quickly set up your subfolder organization.

The best of all? You don't need to restart your TiddlyWiki server after you've made any changes in your file storage configuration: the server automatically picks up the configuration changes you've made.

By Tag

Say, you are developing your great new TiddlyWiki plugin and you want to demonstrate and document how to use it, so your plugin users can quickly get up and running your plugin. You may well end up with a lot of tiddlers for demonstration, documentation, and even testing. Instead of lumping them together in a single place in your tiddler source code folder, you can now easily organize them using our new feature «tag-based folders»: tiddlers with a particular tag all get into their own separate subfolder. Sweet, isn't it? You can even choose to use hierarchical subfolders inside these tag folders, in case you need to.

Subfolders or Flat? You Decide!

Drafts & System Stuff Well Organized – and The Rest Anyway

Even the basic settings are only a control-panel click away: no need to fiddle with difficult-to-remember configuration tiddlers just to change the name of the folder where you want to store your system tiddlers (those starting with $:/ in their titles). Similar, changing the folder where all your drafts go into is just a matter of seconds.

Oh, and last but not least, you can even decide whether you want to store all your normal tiddlers either into the same main folder without any hierarchy or you want them to be neatly organized into subfolders and even more subfolders; like turtles all the way down.

Need a different folder organization. No problem, you can simply add your own so-called «folder policies»: these control how your tiddlers get organized. Luckily, you don't need to hack our existing code. Instead, you simply write your own new folder policy module following some few simple rules. Simply refer to our default folder policy modules the ThirdFlow plugin comes with and you'll see how easy writing new organization policies actually is.

Convinced?

Test drive our ThirdFlow plugin and when you are convinced, simply install it into your own TiddlyWiki projects. Our plugin is Open Source. For details, please refer to the documentation included in the ThirdFlow plugin github repository.