Hi Arlen I'll reply on the pull request you created:
https://github.com/Jermolene/TiddlyWiki5/pull/503 Best wishes Jeremy On Mon, Mar 24, 2014 at 8:44 PM, Arlen Beiler <[email protected]> wrote: > Alright, how's this? > > this.createText = this.getAttribute("create",false); > // Process create param > if(this.createText) { > var createTiddler = > $tw.wiki.deserializeTiddlers("application/x-tiddler",this.createText); > createTiddler[0]['title'] = this.mangleTitle; > if(!this.wiki.tiddlerExists(this.mangleTitle)) > this.wiki.addTiddler(createTiddler[0]); > } > > > > > On Mon, Mar 24, 2014 at 10:26 AM, Arlen Beiler <[email protected]> wrote: > >> Hi Jeremy, >> Would the syntax use line breaks? Or were you thinking about all on one >> line? How do line breaks work with wikitext like that? >> >> --Arlen >> >> >> On Thu, Mar 20, 2014 at 1:16 PM, Jeremy Ruston >> <[email protected]>wrote: >> >>> Hi Arlen >>> >>> Good stuff. My intention is to do something very similar but for the >>> literal tiddler syntax to resemble a .tid file: >>> >>> title: myTitle >>> tags: one two three >>> text: This is the text >>> >>> I was primarily thinking about using the syntax with the new tiddler >>> message, but it's a good idea to support it on the fieldmangler widget as >>> well. >>> >>> Best wishes >>> >>> Jeremy >>> >>> >>> >>> >>> >>> On Thu, Mar 20, 2014 at 1:22 PM, Arlen Beiler <[email protected]>wrote: >>> >>>> Hi Everyone, >>>> Here is the result of my latest endeavor. This adds a create parameter >>>> to the fieldmangler widget which creates the tiddler specified in "tiddler" >>>> with the fields in "create". This allows temp tiddlers to be initialized >>>> with state data without needing a button click. Notice that it only creates >>>> it if it doesn't exist. >>>> >>>> this.mangleTitle = ... ; //Insert after this line in execute() >>>> this.createText = this.getAttribute("create",false); >>>> if(typeof(this.createText) === "string") { >>>> try{ this.createText = JSON.parse(this.createText); } >>>> catch (e) { console.error(e); this.createText = false; } >>>> console.log(this.createText); >>>> if(this.createText){ >>>> this.createText['title'] = this.mangleTitle; >>>> if(!this.wiki.tiddlerExists(this.mangleTitle)) >>>> this.wiki.addTiddler(this.createText); >>>> } >>>> } >>>> >>>> And here is a tiddler that uses it. This tiddler creates a button that >>>> toggles the story river between centered and normal. Centered is default. >>>> >>>> \define createStateTiddler() >>>> { "text": "$(default)$" , "tags": "$:/tags/stylesheet" } >>>> \end >>>> \define state-1-css() >>>> >>>> \end >>>> \define state-2-css() >>>> @media (min-width: 770px) { .story-river { margin: 0 auto; } >>>> .sidebar-header { left: 50%; right: 0; padding-left: 413px; } } >>>> \end >>>> <$set name="default" value=<<state-2-css>> > >>>> <span title="Toggle width/sidebar"> >>>> <$fieldmangler tiddler="$:/temp/toggle-centered" >>>> create=<<createStateTiddler>>> >>>> <$reveal type="match" state="$:/temp/toggle-centered" >>>> text=<<state-1-css>> default=$(default)$> >>>> <$button message="tw-add-tag" param="$:/tags/stylesheet" >>>> set="$:/temp/toggle-centered" setTo=<<state-2-css>> class="btn-invisible >>>> centered-toggle-1">{{$:/_images/right-arrow-button}}</$button> >>>> </$reveal><$reveal type="match" state="$:/temp/toggle-centered" >>>> text=<<state-2-css>>> >>>> <$button message="tw-add-tag" param="$:/tags/stylesheet" >>>> set="$:/temp/toggle-centered" setTo=<<state-1-css>> class="btn-invisible >>>> centered-toggle-2">{{$:/_images/left-arrow-button}}</$button> >>>> </$reveal></$fieldmangler> >>>> </span> >>>> </$set> >>>> >>>> If you don't have the corresponding images for the buttons, just remove >>>> the btn-invisible class from the buttons. I'm putting this out as a feature >>>> request (a hackability request?). >>>> >>>> I haven't changed the buttons yet, so that is how they were working >>>> before I did this. I had to click the button once to create the tiddler, >>>> and then a second time to finally see something happen. This way, whatever >>>> way I initialize it I see the effect on start up. >>>> >>>> Is this something that could be added to the core? Note that "create", >>>> as I wrote it, must be valid JSON and the title gets overwritten if it is >>>> there. Enjoy! >>>> >>>> --Arlen >>>> >>>> -- >>>> 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 http://groups.google.com/group/tiddlywikidev. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> >>> >>> -- >>> Jeremy Ruston >>> mailto:[email protected] >>> >>> -- >>> 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 http://groups.google.com/group/tiddlywikidev. >>> For more options, visit 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 http://groups.google.com/group/tiddlywikidev. > For more options, visit https://groups.google.com/d/optout. > -- Jeremy Ruston mailto:[email protected] -- 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 http://groups.google.com/group/tiddlywikidev. For more options, visit https://groups.google.com/d/optout.
