Block Reference in Roam, MS.Office, and Obsidian: Isnt it a New Terminology for Old TiddlyWIki Transclusion

I read some webpages on Block References and see people discussing this in Twitter. I stumbled upon below blog article:

I can learn from it! Specially the block reference in Roam where it keeps block version!

I think most of these are aviable in Tiddlywiki for a century :wink: :wink: :sweat_smile:
It is just a pity we have not enough blogs, articles, books, tweets on how powerful and how rich is TiddlyWiki!

1 Like

More information on Block reference in Roam:

I like the context menu! It is now available as plugin in Tiddlywiki.

I think the number one issue is that a lot of TiddlyWiki content is in TiddlyWiki… which is very invisible to search engines unless it is statically published.

This forum is already rising in search results, but more people setting up their tips & tricks as static content would unlock a lot of content to search visibility.

2 Likes

That article is good reading. Thanks for sharing!

If users of MS Office, Roam Research, Obsidian, and Notion have never been excited about transclusion in TiddlyWiki, but are excited about block references (or “synced blocks” in Notion), it boils down to the ease-of-use (i.e. or ease-of-access) of the functionality.

Maybe a silly analogy: Those other products, it is like driving a car with an automatic transmission (less technical). TiddlyWiki is more like driving a car with a standard transmission (way more control, but way more technical).

Transclusion in TiddlyWiki won’t excite much the person who is “deer in the headlights” while staring {{tiddler}} in the eyeballs.

1 Like

Part of the probblem is we have names for things that need to be consistent within tiddlywiki but people use a variety of names elsewhere.

If you look at the link button in the editor toolbar you can quickly search tiddler titles and insert a link. I have one to insert transclusions the same way, these would be block links. I also have a version to insert via a template {{selected tiddler||template}} which allow you to transclude in more than one way including custom ways.

It seems documentation for each app and its translation to tiddlywiki methods and or renamed tools that map to the other apps technology.

Back in the day Excel allowed menu items with lotus 123 words and even its / menu.

All we need is a structure and people who know each app and tiddlywiki to document this.

Block references allow you to “transclude” just a single block of text from a longer note (tiddler). TWC had a feature much like that, and there was a fair amount of sadness expressed when that feature was abandoned in TW5. The theory in TW5 is that everything is a semantically meaningful chunk of data, and thus you don’t need sections. However, in real life, we frequently have long documents from which we want to cite small chunks. We rarely want to build an entire document up from smaller pieces. The only tool we have in TW for building/bundling and distributing longer documents is plugins. But there are no official tools to make those easy to construct on the fly.

I agree. However, I find that using @saqimtiaz 's Streams plugin reduces this need, because long tiddlers become short nodes that can be transcluded. The nodes themselves, being tiddlers, are first class citizens.

Moreover, a node can appear in multiple streams (drag n’ drop) - a deeper type of transclusion, requiring no wikitext, or if you prefer, can be copied between streams.

Works well for me…

@Mohammad section editor plugin goes someway to further dividing the tiddler into chunks. The techniques he used could take this further.

Recent discussions about drag and drop of tiddler blocks would also help.

Post Script
If you want a block to be addressable elsewhere just excise it to another tiddler (keeping its transclusion in place) and now its an addressable chunk.

See also my foreshadowing another way here How to show only part of the content when Transclusing ¡ Discussion #7055 ¡ Jermolene/TiddlyWiki5 ¡ GitHub

1 Like

There are several extract macros one is yours where one can pass a tiddler name and extract part of text.

I think in TiddlyWIki we have fields, and if we plan to transclude part of longer text, we can use field transclusion again.

I also use html tag like <section>...</section> and use the find macro to extract and transclude a section.

1 Like

I don’t recognise that explanation for the lack of support for transcluding sections from within tiddlers.

The explanation I have given before is that we have multiple mechanisms that work at the tiddler level to give TiddlyWiki acceptable performance (eg the refresh mechanism, or the caching of tiddler parse trees). Supporting transclusion of sections would require new caching mechanisms to be devised to work at that more granular level. The core code would end up no longer being based on tiddlers, but instead on some new subunit within tiddlers. At that point we would have reinvented the tiddler architecture, and thus we’d have two levels of implementation of the same architecture. So, it’s all about duplication of redundant mechanisms.

It’s worth noting that Roam doesn’t permit references to a section of content within a block; just like TiddlyWiki, it’s all or nothing. Where Roam differs is that the UI encourages users to break longer writing up into separate blocks; in other words, Roam forces every paragraph to be its own tiddler, at least partly so that it is possible to transclude it independently. The same approach works in TiddlyWiki; see Streams.

3 Likes

Rather than transcluding “inwards” in the tiddler (“slices” if I recall the lingo we used) maybe we should should change perspective to looking “outwards”, i.e implement “compound tiddlers” where the tiddler is the smallest, and fully transcludable, chunk.

There could be a mechanism manifested as a little button beneath the text field editor that creates a “subtiddler” (perhaps a system tiddler that the user never really faces… maybe something even more hidden?) and which is presented as a second editor in the tiddler, beneath the current editor. In view mode, the content from the main tiddler and its subtiddler(s) are indistinguishable (…or perhaps split up into paragraphs). Maybe the editors could be drag’n drop rearrangable.

…and the excision tool could be estended to split out sections into such subtiddlers. And there could be a tiddler-global tool to split an editors text into “multiple editors” (really multiple subtiddlers) using some user-set marker (…“all level 2 headlines”, “all paragraphs”, “every widget”,… )

Hm, is the term “subtiddler” taken? I only find “subtiddlerfields” in the docs. Maybe “sectiontiddlers”? Revive “slices”?

Possibly relevant: When posting github issues, you are prompted to fill in multiple editors that somehow merge into one document with !!!headlines separating the sections.

Please don’t go there! TW is incredibly rich & powerful already without involving …

A comment, TT

TBH @Mohammad, IMHO, most useful for TW futures would be ILLUSTRATION of the issues, in TW, for TW.

As you yourself say …

Right!

I do read posts here about on Roam, Obsidian and whatnot — but I think we could show all their innovations are not so innovative — that TW can do that stuff pretty easy already.

So, I guess, I’m saying: why promote “the Other” when, via “Showcases”, we could show how TW can do those things already?

Just a thought, TT

1 Like

I immediately recognized when I tried Roam in early 2020 that the bi-directional linking and block references could be reproduced in TiddlyWiki, if we used tiddlers as blocks. That is why I created Stroll, to bring out that feature of Roam that was still kind of latent in TiddlyWiki: the viewtemplate at the bottom of tiddlers in Stroll shows the related tiddlers, as links or as transclusions.

A lot of my experiments in the last year and a half have been tiddlers-as-blocks-in-other-tiddlers.

  • The Subsume plugin is a macro that transcludes tiddlers inside a details element.
  • I didn’t get my Draggy experiment beyond a prototype stage, but that is also a tiddler-as-block idea.
  • My experiment this week, incidentally called Block macro, does the same as Subsume, but has another parameter to manage the level of indentation, and displays differently if the tiddler exists or is a missing tiddler.

All this to say that TiddlyWiki provides lots of opportunities to manage content as blocks.

3 Likes

Hey Mohammad!

Here is an experiment of mine, which I greatly improved today, that loads short tiddlers (quickies) as blocks in Lists. It has some advantages over previous experiments of mine:

  1. Search the lists in the sidebar, and add quickies to them via new here buttons next to the links to the lists, as well as the new here buttons in the list tiddlers
  2. Search the text of all quickies, transcluded in Search All in the sidebar
  3. Search the text of quickies, transcluded in each list.
  4. Narrower frames for the transclusions so they look like tweets rather than huge tiddlers.
  5. A button to turn missing tiddlers into lists.
  6. Some sweet CSS to make it all look nice.
  7. Search windows in lists do not print, only the transcluded quickies.

Note: not something I will offer or maintain, just something for my own use. But if anybody finds it helpful for their projects, or if anyone desires to publish it under their own name, have at it.

I am already using this in three TWs for:

  • quickly adding the results of my brainstorming by topic
  • bookmarking by topic
  • Adding insights from web reading, which tends to be more general than reading for writing projects

https://giffmex.org/experiments/tiddlyquickies.empty.html

2 Likes

Hi Dave,
Nice granular approach! A parent and many children!