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.