Need to use the template tiddler $:/core/templates/static.template.html as a basis for creating a multi-tiddler output, but that tiddler seems to use templating in a way that I'm unfamiliar with. In particular, it pulls in stuff via: {{$:/core/ui/PageTemplate||$:/core/templates/html-tiddler}} Oh! I thought that the first part read as PostTemplate, which I further mistook for$:/core/ui/ViewTemplate. I suspect that I know what's afoot here, now; let's dive in!

The file looks OK (maybe deceptively simple), but the lack of indentation among blocks prevents us from really keeping track of what's working and associated with what, so let's add some indentation:

\define containerClasses()
tc-page-container tc-page-view-$(themeTitle)$ tc-language-$(languageTitle)$
\end

<$importvariables filter="[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]"> <$set name="tv-config-toolbar-icons" value={{$:/config/Toolbar/Icons}}> <$set name="tv-config-toolbar-text" value={{$:/config/Toolbar/Text}}> <$set name="tv-config-toolbar-class" value={{$:/config/Toolbar/ButtonClass}}> <$set name="themeTitle" value={{$:/view}}> <$set name="currentTiddler" value={{$:/language}}> <$set name="languageTitle" value={{!!name}}>

<$set name="currentTiddler" value=""> <div class=<<containerClasses>>> <$navigator story="$:/StoryList" history="$:/HistoryList" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}> <$dropzone>

<$list filter="[all[shadows+tiddlers]tag[$:/tags/PageTemplate]!has[draft.of]]" variable="listItem">

<$transclude tiddler=<<listItem>>/> </$list>

</$dropzone> </$navigator>

</div>

</$set> </$set>

</$set> </$set>

</$set> </$set>

</$set> </$importvariables>

Side note: I currently forget why, but as I learned previously when mucking around with TW, the second half of the code we first saw, {{$:/core/ui/PageTemplate||$:/core/templates/html-tiddler}}, is important, because without it, the content of $:/core/ui/PageTemplate (shown above) would be spit out to wherever it's transcluded, but without any HTML tags. This is not intuitive. I'm now cheating to understand what's afoot: I've looked up what the <$set> blocks are/do, via the TW website, and they're called "set widgets". They don't help me, I think; they just assign values to a given variable.

It's looking like the <$list ... widget is what I need to look into. The fact that it ends with variable="listItem" and that listItem also appears in the below/contained transclude widget, and appears to function as the name of the tiddler being transcluded with the transclude widget, suggests that looking into the variable, uh, parameter(??? or is it an "argument"? or is a parameter the thing to which a thing, an argument (arg) is posed?) should shed light on what's going on. HAH! After looking into the list widget, I see that I was sorta way off in terms of guessing as to what's going on. variable is literally allowing you to ONLY assign a name of your choosing to something that exists regardless of whether you call upon it explicitly or not: a variable that contains a list's currently-considered list item. So why might this be assigning a name to it, unnecessarily? I don't know. In the docs it suggests that the name given to this variable is, by default, currentTiddler, which you'll notice in the code for PageTemplate appears a number of times. Further, the fact that <$set name="currentTiddler" value=""> comes up before the list widget leads me to wonder why it is that someone needed to bother with assigning an empty value to currentTiddler prior to this list. Is it simply because it was set earlier, by <$set name="currentTiddler" value={{$:/language}}>?

I'll play a fool and not only not do anything of this sort but instead proceed with the following, notably ripping out the variable="listItem" stuff and replacing listItem with the default name of currentTiddler.

<$list filter="[all[shadows+tiddlers]tag[$:/tags/PageTemplate]!has[draft.of]]">

<$transclude tiddler=<<currentTiddler>>/> </$list>

OK. After some 30 minutes of struggling, I seemed to have figured out an issue I had when going down this route.

When I run the block of code above in a new tiddler, the tiddler has a BUNCH of formatted and stylized posts (as though the View Template were being used upon each list item), etc. I did not expect this to be the case.

Next, I tried changing <<currentTiddler>> to my stupid tiddler, named Hi. Suddenly, there's the tiddler, but without the View Template formatting. Plain as day. WAT.

# Todo

Figure out how to:

Use filter to get only 1 post that matches filter, to set the Modified/Updated date of the feed to the date of the modification of the most recent post listed in the feed, as opposed to the date of modification of the tiddler for which the feed is being made for/from (assuming that I wish to offer feeds based upon some one particular Tiddler [tag]; could expand in the future to include multiple tags).

Figure out how to combine text output with WikiText stuff, like widgets

I was unintentionally wise in choosing "the template tiddler \$:/core/templates/static.template.html as a basis for creating a multi-tiddler output", as I meant to use alltiddlers instead, which is a supreme deadend and not even really what we need.