Holy smokes, Eric, that is a wonderful and meaty buffet of informative goodness.
*Squirrel* !!! : This is awesome learnin' at TiddlyWiki University ("TiddlyWiki U"? "TWU?") *Car* !!! : Has anybody ever thought of some TiddlyWiki merchandising to support and promote the project? *(If I were entrepreneurial at all, I'd be tearing into that to make it happen. Beyond just the idea, I'm otherwise clueless...)* Thanks ! I've just woken up, and still uncaffeinated. Once I *perk* up (pun!), I'm going over all of this again and getting to work. On Thursday, September 10, 2020 at 2:44:05 AM UTC-3 Eric Shulman wrote: > On Wednesday, September 9, 2020 at 2:58:14 PM UTC-7, Charlie Veniot wrote: >> >> I'm still in the midst of setting up my "Products Review" TiddlyWiki to >> also behave as a "Urban Off-Gridding for Laypersons" TiddlyWiki. >> Both contexts have much in common (from structural elements to content), >> and I really did not want to create two distinct TiddlyWikis with a ton of >> duplication between them. >> Hence the desire to have one TiddlyWiki with two "contextual" appearances. >> Before getting into show and tell images (further below), here are the >> two links that open the same TiddlyWiki file but trigger different >> "contextual" appearances upon startup: >> >> - >> https://intertwingularityslicendice.neocities.org/CJ_ProductReviews.html >> *?context=ProductReviews* >> >> <https://intertwingularityslicendice.neocities.org/CJ_ProductReviews.html?context=ProductReviews> >> - >> https://intertwingularityslicendice.neocities.org/CJ_ProductReviews.html >> *?context=OffGridding* >> >> <https://intertwingularityslicendice.neocities.org/CJ_ProductReviews.html?context=OffGridding> >> >> For the moment, only Title and Subtitle change based on context. Next: I >> will start modifying other content to change based on context. >> > > First... let me congratulate you on a good job of combining many different > technical bits and pieces! It shows that you've really dug into the meat > of TiddlyWiki! Having said that, I think I can suggest ways to use > existing TiddlyWiki features to reduce some of the complexities while still > achieving (nearly) the same results. > > Let's start with these two pieces: > >> >> - *GetStartupContext.js* >> - *Set Startup Context* >> >> The result of these two pieces is to, on startup, get the value of the > "?context=..." parameter from the URL and save it in a tiddler for later > use. However, you are probably not aware that the TWCore already does this > work for you by automatically creating a set of shadow tiddlers that breaks > the URL into its component parts: > > $:/info/url/full > $:/info/url/host > $:/info/url/hostname > $:/info/url/origin > $:/info/url/pathname > $:/info/url/port > $:/info/url/protocol > $:/info/url/search > > For your purposes, you would be most interested in the last one, > $:/info/url/search. Given the URLs you show above, this tiddler would > contain text > ?context=ProductReviews > or > ?context=OffGridding > Note that the tiddler includes the URL parameter itself, "?context=", not > just the value. This is different from your results, but can be easily > handled later on. > >> >> - *Alternate TiddlyWiki Purposes* >> >> Instead of using a custom field, "purpose", you can just set the value in > $:/info/url/search, like this: > \define link(suffix) > <a title="Use this link to bookmark this site's purpose." href=" > https://intertwingularityslicendice.neocities.org/CJ_ProductReviews.html?context=$suffix$" > > style="text-decoration: none;">🔖</a> > \end > > <div > style="font-size:14px;line-height:1.7;margin-left:30px;color:dimgray;"> > <$radio tiddler="$:/info/url/search" value="?context=ProductReviews"> > {{TiddlyWiki Title 1}} </$radio> <<link "ProductReviews">> > <br> > <$radio tiddler="$:/info/url/search" value="?context=OffGridding"> > {{TiddlyWiki Title 2}} </$radio> <<link "OffGridding">> > </div> > Notes: > * I retain the existing data value format, including the "?context=" > prefix. This keeps the content of $:/info/url/search consistent with the > value that was automatically set. > * I've turned the inline links (for bookmarking) into a macro definition > using a parameter for the desired suffix, so that it only need to be > specified once. > > By tagging the above tiddler with *$:/tags/SideBarSegment* and adding a > field named *list-before*, with a blank value, the radio buttons will > appear above the title in the sidebar. This eliminates much of the need > for the "Fancy TiddlyWiki Title" tiddler. The rest of that tiddler is > selecting which title to display, and applying styles to the TiddlyWiki > title. This can be achieved directly in the $:/SiteTitle tiddler, like > this: > <div style="border-top:solid lightgray;"> > <div style="font-size:15px;line-height:1.5">Charlie's</div> > <$reveal state="$:/info/url/search" type="match" > text="?context=ProductReviews"> > {{TiddlyWiki Title 1}} > </$reveal> > <$reveal state="$:/info/url/search" type="match" > text="?context=OffGridding"> > {{TiddlyWiki Title 2}} > </$reveal> > </div> > > Similarly, your conditional subtitle can be achieved directly in the > $:/SiteSubtitle tiddler, like this: > <div style="color:darkgray;font-size:90%;text-align:right;border-bottom:solid > lightgray"> > - Version: > <$list filter="[!is[system]!has[draft.of]!sort[modified]limit[1]]"> > <$view field="modified" format="date" template="YYYY-0MM-0DD > 0hh12:0mmam" /> > </$list> > - <br/> > <$reveal state="$:/info/url/search" type="match" > text="?context=OffGridding"> > <div style="color:gray;border-top:solid lightgray thin;text-align:left; > "> > //Easy, practical, and budget-friendly experiments/solutions for > "light" grid independence.// > </div> > </$reveal> > </div> > Note that the first part (the version text) is only specified once, and is > always displayed, regardless of which "mode" you are currently showing, > and the second part (the $reveal) is only displayed when you are showing > the "OffGridding" mode. > > I've probably left out some bits and pieces here and there, but hopefully > this makes sense to you and you can fill in whatever I've missed without > too much trouble. > > enjoy, > -e > -- 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 tiddlywiki+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/e7e49a4e-11fb-42cc-b202-f12d6a0d5eaan%40googlegroups.com.