Hi Mat,
the magic that escaped you consists of two things, if I remember correctly
(because I was somehow involved at some later stage):
- the list field of the PageTemplate itself: this general-purpose field
controls the initial sequence in which the template part tiddlers listed
here are rendered. It is populated with the core template parts tiddlers.
So this sets up the overall structure in form of a virtual list, on which
the second part of magic builds...
- additional template part tiddlers which are correctly tagged:
- if such an additional tiddler either has its list-before or
list-after field set, then this field references another template
part tiddler and this tiddler is either inserted into the ordered
sequence
before or after the referenced tiddler (that is, into the virtual list
mentioned before).
- if no placement is specified using one of the two fields mentioned
above, then the template part tiddler is inserted at the end of the
(virtual) list.
Please note that this virtual list is only built when rendering a template,
so it does not become visible in its own.
Regards,
TheDiveO
On Wednesday, October 15, 2014 6:01:09 AM UTC+2, Mat wrote:
>
> On and off for a couple of months I've tried to get the hang of TW5... and
> failed every time. It took a long time for me to get into TWC but I finally
> did get there and one of the best ways to control/customize it was via a
> theme (based on Bairds MPTW) where the various templates etc were collected
> in one place. I'm hoping to get there witht TW5 too but, darn, I can't get
> an overview of this.
>
> For starters, could someone please give (or point to) an top-down
> overview of the general strategy for how the page elements are split up.
> In English not code, please.
>
> This is what I think I've understood, please correct me;
>
> First of all, where page elements are defined is very different from TWC.
> The commands/markup for defining the parts are different - they are in
> html in TWC but in TW5 they are in a "Jeremy-defined" markup language
> (based on and very close to established markup language which name escapes
> me)
> In TW5 the tiddler PageTemplate is named $:/core/ui/PageTemplate. The meat
> of this is this part:
>
> <$list
> filter="[all[shadows+tiddlers]tag[$:/tags/PageTemplate]!has[draft.of]]"
> variable="listItem">
> <$transclude tiddler=<<listItem>>/>
> </$list>
>
> ...which filters out all tiddlers tagged "$:/tags/PageTemplate". Not sure
> what that variable listItem is/does.
> It is clever to use a filter in the pagetemplate rather than hard coding
> which page elements to use because this lets us add new elements without
> actually messing this this pagetemplate tiddler but instead simply by
> adding the tag.
>
> The result from the filter are these:
>
> $:/core/ui/PageTemplate/alerts
> $:/core/ui/PageTemplate/sidebar
> $:/core/ui/PageTemplate/story
> $:/core/ui/PageTemplate/topleftbar
> $:/core/ui/PageTemplate/toprightbar
>
> Now, these elements are placed in the right place on the screen either by
> magic or by brain gamma rays from Jeremy. My best guess is magic, because I
> cannot imagine how brain rays would penetrate my bunker and with magic it
> would all make perfect sense and this would also explain a lot of other
> questions I have.
>
> Ok, I'll start with this. Please, I'd love to hear your comments.
>
> Thank you!
>
> <:-)
>
>
--
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.