[tw5] seeing what the transfering of tiddlywiki to a more self-coded platform can look like

I’m looking to see what the transfering of tiddlywiki to a more self-coded platform, such as jekyll, gatsby, or others, can look like. My concern is the transition being difficult, long, etc. Any resources?

Jamm

Perhaps you could describe this with more detail, what are you trying to achieve, define “self-coded platform” etc…, because this forum is for a more general audience. Tiddlywiki is a non-trivial Quine which makes me ask is it not already a " self-coded platform ".

Otherwise if this is tiddlywiki as platform or development related please start a discussion on the dev channel Discussions · Jermolene/TiddlyWiki5 · GitHub

Personally I am not a developer but I am a super user/designer, and often things can be done already, without development, javascript or other coding. Developers with their development hammer often think everything is a coding nail. When in fact possibilities already exist be it widget, filters, editions, plugins that are already available. Eric and PMario (to name a few) are so well versed in TiddlyWIki you would be surprised how they can achieve anything, I am striving to be as good as they are, but from the designer perspective.

I consider TiddlyWiki is a platform, it can even generate new wikis, ie be its own software development kit. I am keen for newcomers to contribute their coding skills, but would prefer it be to address gaps rather reinvent something. Just my personal view.

But we are open to all ideas, so please spell yours out a little more, to a larger audience.

Regards
Tones

Jamm,

How about using the fact of JSON Tiddlers to your advantage? Just export your tiddlers to JSON (How to export tiddlers: TiddlyWiki — a non-linear personal web notebook), and then you have a standard file format you can write a script to transfer from into another format. I’ve never personally used gatsby or jekyll for my site/blog, but I can imaging the user of JSON would ease the process considerably.

Let me know what you think!

As Tones said, I think we need a bit more information about what you’re hoping to accomplish to give a complete answer. Are you seeing this as a future-proofing mechanism where you might want to migrate something stored in TiddlyWiki to a different platform in the future? Or you want to use TiddlyWiki as a CMS and then publish using a different tool? Or something else?

On a straightforward level, it’s possible to quickly render some or all tiddlers to HTML, at which point you can post-process them using whatever tooling you want. I’ve been using this to crosspost my sabbatical updates from my Zettelkasten to my Jekyll blog, using the following rule in my Makefile:

sabbatical_updates := $(wildcard zettelkasten_dir/tiddlers/SabbaticalUpdate*)

sabbatical_files: $(sabbatical_updates)

rm -rf /tmp/twout
cd $(zettelkasten_dir) && tiddlywiki --output /tmp/twout --render “[prefix[SabbaticalUpdate/]]” “[is[tiddler]addsuffix[.html]]” “text/html” ‘$$:/sib/Templates/Export/SabbaticalUpdateCabCrosspost’
python3 automation/crosspost-sabbatical-updates.py /tmp/twout/SabbaticalUpdate/*

The Python script is about 70 lines and primarily sets up a YAML header with appropriate metadata so Jekyll understands what to do with the post. This is also the purpose of the $:/sib/Templates/Export/SabbaticalUpdateCabCrosspost template – it embeds certain fields in the HTML where this script can retrieve it. If you preferred, I think you could use pandoc at this point to convert back to Markdown or a similar format; since I’m keeping my source of record in TiddlyWiki, I’m fine just leaving the posts as HTML in Jekyll.

Of course, if you take advantage of dynamic features of TiddlyWiki that can’t be represented as HTML with 100% fidelity, e.g. dynamic lists based on filters or displays of backlinks, you’ll end up losing some functionality when you do this.

Thanks for clarifying, Tones and Soren. I had the impression that TiddlyWiki was more cookie cutter, or could be if I didn’t add or alter code. “A no-code personal wiki system,” I heard TW called. But yes, I was seeing this as a future-proofing mechanism where I might want to migrate some- or everything stored in TiddlyWiki to a different platform in the future.

For more context, I was trying to set myself up to be able to transfer my info from a digital garden on a more cookie cutter platform to a later less cookie-cutter one, once I learned to code a bit. Starting “non-technically,” in the sense Maggie Appleton’s articles impressed on me.

It seems I still misunderstand the question of going from a manageable Digital Garden to a more complex one, not having data transfer be an issue.

1 Like

Jamm

You can do a lot with tiddlywiki macros and widgets, perhaps an infinite amount without any javascript, but if you choose to build complex solutions you are also using html, css and Javascript technologies which are all reusable skills and essential knowledge for the internet.

I would just make sure my data in tiddlywiki was logically arranged and not worry about the future its structure, technologies, tools and more all allow you to move your tiddlywiki data on to other places without any problems. Tiddlywiki is not a proprietary trap.

Tones

I don’t know if I understand you.

Tiddlywiki is easy to use but this hides its complexity. You can use it in two version: single file and node version. The first is like a kind of bundle of the second. In the Node version you can render the tiddlers as static files, see this link. This is the base of other publisher like jekill. And Jeremy is working in a publisher for Tiddlywiky.

1 Like

There is a bit of a dilemma here in that the more of TiddlyWiki’s features you take advantage of, the harder it will be to migrate to another system – but if you don’t take advantage of all TiddlyWiki’s features, then you might be misled into thinking it won’t meet your needs by itself when it actually will.

On the other hand, I don’t think “cookie-cutter” is a good characterization of TiddlyWiki at all. In fact I would say it’s exactly the opposite…the cool thing about TW is that without having to go into a “real” programming language, you can make it do essentially whatever you want. You might check out my Zettelkasten, for instance, which I’ve built up from empty.html to a powerful custom platform over time. I have written only a couple of tiny snippets of JavaScript for that wiki, everything else is just wikitext. And since both the code and the data are within a single system, it is extremely easy to tweak things as you go along.

I’m with Tones in that you’re probably best off diving into TiddlyWiki and not worrying about portability. Your stuff certainly isn’t getting trapped in TiddlyWiki, you might just have to figure out how to manually translate some TiddlyWiki idioms to a new medium. And you’ll probably be pleasantly surprised what you can do with the TiddlyWiki medium – if you let yourself dive in and take advantage of everything it has to offer.

1 Like