Hi Tobias,
there is a classictransclude widget that is used in the tw2parser plugin 
(it can be used to transclude sections and slices)

Cheers
BJ

On Saturday, November 22, 2014 1:01:44 PM UTC-6, Tobias Beer wrote:
>
> Hi Jeremy,
>
> As I am fearing this to become rather lengthy, I am opening this thread to 
> address Jeremy's response at this thread 
> <https://groups.google.com/d/msg/tiddlywiki/6zBxrj4nV34/NucvoBSuscYJ> with 
> respect to me stating...
>
> Actually, I think I'll be satisfied once I managed (to hire a crew to help 
>> me) to port SectionLinksPlugin 
>> <http://www.tiddlytools.com/#SectionLinksPlugin> to tw5. ;) 
>> Despite any dreaded performance concerns, there are just too many highly 
>> useful usecases involved with sections...
>>    
>>    - section-toc for tiddler *foo*, providing clickable links! (even 
>>    back to the toc from the heading)
>>    - *$link* to section *foo*, from tiddler *bar*, too
>>    - *$list* section *foo* of tiddlers tagged *bar*
>>    - (edit section *foo*)
>>
>>
> First of all, allow me to thank you, Jeremy, for taking an inquisitve 
> stance on the topic and for inviting discussion. I know your critical 
> stance towards sections and I am hopeful that you might eventually come to 
> a slightly different opinion, if only once a *SectionPlugin* of a beast 
> sees the light of day.
>
> That implies making sections behave exactly like tiddlers.
>>
>
> It's a possibility, not a necessity, and certainly not a requirement, 
> although one could make it one.
>  
>
>> That's problematic because it means that all the behaviours we've built 
>> for using and manipulating tiddlers need to be re-engineered to work with 
>> sections. In some cases that's extremely tricky.
>>
>
> It could indeed be problematic but then there is no need to have sections 
> entirely as addressable and manageable as the tiddlers that supposedly hold 
> them. Of course, it could be complicated if one wanted to address a section 
> that was actually dynamically created, e.g. via $list, as that would imply
>  wikification before being able to do so, e.g. via a parameter that says 
> "render:true" instead of merely inspecting the basic wikitext.
>
> Anyhow, here are some rough sketches for how to implement the above 
> usecases...
>
> *1) section toc:*
>
> Had I jQuery or the likes, here's what I would try...
>
>    1. user puts <<toc>> whereever he likes, e.g. the top of the tiddler
>    2. <<buildtoc>> is appended and run from ViewTemplate section with 
>    *list-after:body*
>    3. finds all h1...hx from tiddler
>    4. sets *id*'s or *rel* attributes at headings so as to have a 
>    reference for where to navigate
>    5. build and render toc
>    6. use js function to link from *toc.id <http://toc.id>* to *hx.id 
>    <http://hx.id>* and back using the above attributes, NO *href*!
>
> *2) link to section* foo
>
>    1. decide on a syntax, e.g. *[[tiddler§§foo]]*
>    2. display *tiddler*, passing the info to the display method that 
>    there's a section to scroll to
>       - after all, there is some scrolling right now, too, so the 
>       function is there
>    3. have the display method find the first mathcing heading element 
>    after rendering
>    4. if found, scroll to
>    
> *3) list section *foo of filtered tids
>
>    1. *filter *tids, e.g. using $list
>    2. use *regex *to extract section similar to how TWc or matchfilter 
>    
> <http://eucaly-tw5.tiddlyspot.com/#%24%3A%2Fplugins%2Feucaly%2Fmatchfilter%2Freadme>
>  can 
>    do it
>    3. *wikify*
>
> *4) section editing*
>
>    - should basically be similar to Eric's plugin for TWc, except for the 
>    internal functions to be called, of course
>    - that is, if sections are being modeled as wikitext, rather than a 
>    JSON dictionary stuffed into a *section* field
>       - might be problematic as *TiddlyWeb* for example limits the length 
>       of fields for optimization reasons
>    
> For example, how would you make a location hash link to a section (eg 
>> http://example.com/#my-section-12)? 
>
> There's no syntax within the location hash to identify the string as being 
>> a section name and not a tiddler title.
>>
>
> *http://example.com/#[[foo$$bar]] <http://example.com/#[[foo$$bar]]>*
>
> If there was a tiddler called *foo$$bar*, then we'd go to that, of 
> course. Otherwise we go to section *bar* of tiddler *foo*.
>
> But, I would not worry about location hashes too much for now. I would 
> certainly not use actual anchors.
> The only syntax to identify sections would be specific to tw, so it knows 
> how to interpret *[[foo§§bar]]*
>
> Another example, to use the $list widget to list all sections of tiddlers 
>> tagged bar would require us to be able to process section names within 
>> filters. That implies that sections would need unique IDs - once again, 
>> making them meet the definition of a tiddler.
>>
>
> I'd say unique ids are not essential or even required, at all. Sections 
> are not tiddlers, but if neither the section nor the tiddler exist, the 
> display handler would simply show the non-existing tiddler as it does right 
> now. Using the first matching heading is just fine, or skipping entirely if 
> not found. Also, I'd want the regex to, by default, match until the next 
> heading of same level ...and, optionally, as TWc does, until any next 
> heading (or end of the body).
>
> Basically, TiddlyWiki is a mechanism for manipulating tiddlers. 
>
> Everything about it is predicated on the idea of a tiddler as the smallest 
>> unit of content.
>
>
> I understand that tenet and I see the merits. But it's also going to weird 
> lengths, if I may say, e.g. configurations could and probably should be 
> stuffed into meaningful datatiddlers / dictionaries, rather than be 
> individual tiddlers cluttering the namespace.
>
> Anyhow, we've noticed in many a previous discussion, that there are 
> usecases where users desire to have slightly bigger "documents" without all 
> the hassle of linking and fiddling with linking, tagging, list field 
> ordering and whatnot.
>  
>
>> Your requirements describe something else: a mechanism for manipulating 
>> sections of monolithic hierarchical documents.
>>
>
> That would indeed be the opposing end of the scale and might, in fact, be 
> something some users actually end up doing, although perhaps inadvisable. 
> But there's a middle way, I presume. One where I can have link "Summary" 
> sections, have a "Summary" section listed in an in-tiddler toc, extract 
> "Summary" sections or even edit them individually ...without necessarily 
> having the biggest tiddlers of all times in front of me. :)
>  
>
>> I understand why these requests are framed in terms of implementing 
>> sections but I'd really like more insight into the underlying needs.
>
>
> It's really basic presentation, navigation and data mgt for me. Sections 
> are SO much simpler to manage ...for the user! At least, once they're 
> available, people will just love them, for sure. Some may do what feels 
> like abuse to them, but so can people abuse the mighty tiddler just the 
> same as it is right now and turn it into a big whale roaming the TiddlySea. 
> ;)
>
> Is the desire for tiddlers with long, hierarchically structured content 
>> because they are easier to edit as a single run of text?
>
>
> Editing is actually NOT the focus. Editing long tiddlers is, in fact, more 
> cumbersome, that is without the ability to edit individual sections.
>
> Or easier to import?
>
>
> Easier import, most definitely. Such tiddlers could, in fact, 
> alternatively, be stored as a JSON construct under the hood and only 
> displayed as a bunch of nested sections.
>
> Consider: *[[foo$$bar$$baz$$mumble]]* ...four levels down, all neatly 
> addressed, even the hierarchy... BUT each section possibly with the SAME 
> title, e.g.: *[[foo$$foo$$foo$$foo]]* ...no need to have or check for 
> unique names, perhaps only at the same level.
>
> Such an approach could likely be a much more powerful alternative over 
> thinking of sections merely as rendered output. And, it might simplify 
> splitting sections into actual tiddlers, or overloading them with section 
> fields, etc.
>
> However, using a JSON construct will definitely be an entirely different 
> approach over using what could be called classic sections... and perhaps 
> overkill. But then we already do have plugin tiddlers that package a bunch 
> of components... so, well... it's not like the mechanisms need to be 
> entirely reinvented.
>
>  Or is it because the single tiddler is easier to read on screen than a 
>> sequence of tiddlers?
>
>
> Effectively, for the user, the desire is that the output looks just the 
> same. In one scenario, with loads of individual tiddlers, a number of 
> tidbits need a lot of steps to manage. In the other, there is a slightly 
> bigger chunk with added features as to linkability, editability, 
> extractability 
> accross the tw.
>
> For example, had one a naming structure like...
>
> MyBook
> MyBook / MyChapter
> MyBook / MyChapter / MyPage
>
> ...then there could easily be a conditional ViewTemplate section that uses 
> the current tiddlers title as a prefix for a filter and display a toc or 
> even the entire contents of the tiddlers underneath... no matter what the 
> delimiters.
>
> Here's a playground for that...
>
> http://sections.tiddlyspot.com/#:GettingStarted%20%5B%5BEl%20Libro%5D%5D
>
> ...and the first problems I immediately ran into... :)
>
> https://groups.google.com/forum/#!topic/tiddlywiki/MleQ4GNCqt0
>
> Best wishes, Tobias.
>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" 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 http://groups.google.com/group/tiddlywiki.
For more options, visit https://groups.google.com/d/optout.

Reply via email to