Hi Mat

This is interesting stuff. I think here you’re not so much redefining a tiddler 
as redefining what we see in the story river. Instead of the story river being 
defined as a list of tiddler titles, you’ve got a list of filters, and each 
“block” in the story column is the concatenation of tiddlers.

I think you could actually go quite far with investigating this approach using 
the existing TW5 codebase. The hard part would be navigation/editing etc.: the 
things handled by the navigator widget.

TWX isn’t so much about figuring out how to get TW5 to do more, it’s driven by 
a desire to make it simpler and more internally consistent, without the 
redundancy that characterises it today.

Some of the problems I’m thinking about are how to unify the 
similar-but-different mechanisms of transcluding macros vs. transcluding 
tiddlers, and ways to avoid having to use text substitution within macros.


> Could a tiddler ID really be a filter? ...and the tiddler body display the 
> text from all those filtered tiddlers!
> 
> This means a tiddler is either an encapsulated list-filter-transclusion of 
> other tiddlers or it is a "leaf" tiddler.

This duality feels complex and lumpy. An abstraction that explicitly takes 
multiple contradictory forms is often best thought of as multiple separate 
abstractions.

> The idea addresses both encapsulation and presentation. It expands the 
> concept of tiddlers but is still true to tiddler philosophy. The resulting 
> unit is exactly the smallest meaningful unit of information - for the current 
> situation! 

> 
> This filter string is unique, i.e can serve as an ID.

> 
> The simplest filter string would, just like now, constitute a tiddler title. 
> 
> Complex tiddlers can be included in yet other complex tiddlers by means of 
> the tiddler title which merely serves as a label for the filter (more on 
> "labels" further down).
> 
> Currently, presenting narrative text in TW is a rather manual process 
> involving either explicit authoring of transclusion commands or listwidgets 
> with such inside. Or to make some special viewtemplate do the listing. - Or, 
> view the story river to constitute the narrative, in which case you deal with 
> a rather ephemeral ephemeral narrative that the reader (not you) controls 
> (i.e closing of tiddlers). A the story river is of course visually chunked up 
> in tiddlers.
> 
> The OP here would still allow for all of this. It would be a superset to it.
> 
> If you want the minimal chunk of info, as we currently view a tiddler, you've 
> got it. But when 'the minimal' for your situation requires a complex 
> information, then it would be superior if TW "natively" can present this 
> 'situational minimal’.

I’m still not clear. How would I turn an ordinary tiddler into a filtered 
tiddler? Just make sure that it’s title is a valid filter?
> Links
> 
> In current TW, the general syntax for a link is of course
> 
> [[label|tiddler title]] with special cases [[tiddler title]] or TiddlerTitle
> 
> 
> For the OP, imaginable general syntax forms might instead be:
> 
> [[label|filter]] ...example [[students|tag[student]]]
> 
> [label[filter]] ...example [students[tag[student]]]
> 
> [label|filter] ...example [students|tag[student]]

That format isn’t compatible with the present syntax; how would we distinguish 
the single tiddler vs. list form?

I’ve always expected that filtered links would use triple square brackets [[[ 
[tag[MyTag]] ]]]. But I don’t think that filtered links are particularly useful 
for navigating.

> ...and I think the special cases without labels would be easy to fit into 
> these.
> 
> So clicking such a link, opens one tiddler showing the content from all the 
> filter output tiddlers. If the filter yields no output then you get the 
> "missing tiddler" template. But if there is any output tiddler, then this 
> content is seen.
> 
> This display can be temporary, just like common generated lists. It makes no 
> difference for the viewer if the tiddler is stored or temporarily or stored. 
> This means links to not-yet-generated tiddlers should probably appear like 
> normal tiddlers unless, perhaps, the filter output is empty. 

I’m not sure I follow all of this. A storyboard might help?

> Tiddlers
> 
> What is the title of a tiddler, once it is opened? - The label.

What does it mean “once it is opened” Does the title change when it is opened? 
What is the difference between a label and an ID?

> 
> And the filter string could be stored in the tiddler itself or maybe (for 
> faster systemic access?) in some global directory.

Hmmm if it’s just a field then it doesn’t seem very fundamental. If it’s stored 
somewhere else aren’t we breaking the basic encapsulation property of tiddlers?

> 
> When the tiddler is to be used inside some other filter, the label is used 
> and parsed(?) into the filter string it represents.

I’m not sure exactly what that means. When is a tiddler used inside a filter?

> This, still, means that labels - i.e tiddler titles - must be unique, and 
> they can be overwritten , just like today.
> 
> The simplest filter is an empty filer, i.e only a label. Just like today. 
> BTW, this would mean the tiddler is a "leaf tiddler" as it doesn't display 
> any other tiddlers content.

Erm, an empty filter is an empty string isn’t it? Do you mean something like a 
degenerate filter that only identifies a single tiddler?

> What is the content of a non-leaf tiddler, in edit mode? Well, the equivalent 
> transclusion of the filtered tiddlers presented in edit mode. (I've actually 
> dabbled with this in our current system using edittext widgets and it is 
> really cool, but the idea here is to have it be native functionality.)

That makes sense.
> 
> This would 
> make TW more suitable for narrative applications like creating documents or 
> "multi page things". Currently, TW is a kind of "digital post-it note 
> manager". The OP would widen TW to also be a kind of document manager. 
> lower the threshold to use TW: An absolute noob can create a "document" by 
> using the filter "part1 part2 part3" and three days later "[tag[doc]sort[]]", 
> whereas <$list filter=... {{!!title}}..." is probably not noob stuff at all.
> ...and, related, TW would be more usable as a static site generator
> ...also related; extremely simple bundling and drag'n dropping of multiple 
> tiddlers, i.e you just drag the tiddler... bundling won't even be a concept 
> as it's automatic. And it doesn't even have to be an existing tiddler but 
> improvised by just creating a link (i.e a filter) as described above.
You might need to expand the logic for all four of those. Fundamentally, this 
proposal hugely complicates the operation of the story river and of tiddlers. I 
struggle to think that it would be easier for beginners to learn.

Best wishes

Jeremy


> 
> 
> Thoughts?
> 
> <:-)
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "TiddlyWikiDev" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] 
> <mailto:[email protected]>.
> To post to this group, send email to [email protected] 
> <mailto:[email protected]>.
> Visit this group at https://groups.google.com/group/tiddlywikidev 
> <https://groups.google.com/group/tiddlywikidev>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/tiddlywikidev/95db75ad-1269-4fd8-920b-ec2b46423a70%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/tiddlywikidev/95db75ad-1269-4fd8-920b-ec2b46423a70%40googlegroups.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/72F97511-C797-4456-96C6-E5AAF6AB10C2%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to