Hi Eric, you are missing encoding the value before saving the cookie - so it breaks with content containing newlines etc.
cheers bj Also it is worth pointing out that cookies on 'file' urls do not work in chrome. On Monday, July 13, 2015 at 6:36:51 PM UTC+1, Eric Shulman wrote: > > On Monday, July 13, 2015 at 6:51:49 AM UTC-7, PMario wrote: >> >> I think using cookies is a bad thing. we used cookies in TWClassik and >> they just caused problems. imo you could add a new field eg: publish and >> sort your own recent list. so if you think your changes are worh a new >> read, just change this field. if not, just don't update the field. > > > Cookies are a bad thing when they are being misused, but they still have > their place... > > In general, TW5 stores everything in tiddler fields, so that all > stateful-ness can be saved with the document. This provides much greater > consistency and reliability of handling as compared to cookies. However, > in order for changed values to persist, it requires the ability to save the > document, which most *visitors* to the published document won't have. > > In addition, tiddler-based storage is not useful for tracking > visitor-specific information, such as "when did this visitor last view this > document" or "what was the last tiddler viewed by this visitor", etc. This > kind of information is different for each person who visits the page, and > should *not* be saved with the document. Similarly, various option settings > (e.g., story view (classic, zoomin, etc.), show/hide Sidebar) should be > saved separately for each visitor, so that their desired display > preferences could be automatically re-applied each time they visit the > document. > > To address this need for visitor-specific persistent information , I've > implemented a "cookie binding" widget: > http://tiddlytools.github.io/InsideTW/#TWBook%2FCookies%2Fcookie.js > > The widget syntax is: > <$cookie name="..." tiddler="..." field="..." index="..."/> > where: > name = the name of the cookie to store > tiddler = the title of the tiddler containing the field/index value to > track > field = a fieldname within the tiddler > or > index = an attribute name within a DataTiddler > > To create a cookie binding, add the <$cookie> widget to a tiddler tagged > with $:/tags/PageTemplate. When first rendered, the <$cookie> widgets will > retrieve the saved cookie values (if any) and apply them to the > corresponding tiddler fields/attributes. From then on, any changes to the > tiddler fields/attributes during the session are automatically pushed back > to the cookie values, so they stay in sync with the current tiddler values. > When the document is closed *without saving*, the changed tiddler values > are discarded, but the cookie values remain, so that they can be re-applied > the next time the document is loaded. > > To see this in action, just click on the "gear" icon in the upper right of > the InsideTiddlyWiki document, and change some display settings (e.g., pick > a different page background). Then, reload the page, and see that your > choices are automatically re-applied. You can also use your browser's > cookie management functions to directly view/edit/delete the cookies that > were saved, and if you delete those cookies, and re-load the page you will > see that the display settings revert back to the defaults that are saved in > the document. > > Note: there are also a few other widgets and macros for cookie handling: > > * TWBook/Cookies/action-setcookie.js > <$action-setcookie name="..." value="..."/> > used with <$button> to explicitly set/clear a cookie value > note: a blank value (i.e., value="") removes the cookie > > TWBook/Cookies/getcookie.js > <<getCookie name:"cookiename">> > returns the value of the specified cookie > use for direct display, or in filters, or in <$set> > > TWBook/Cookies/cookienames.js > <<cookienames>> > primarily used with filters, returns the list of all cookie names for > the current document > > TWBook/Cookies/CookieJar > declares <$cookie> bindings for settings ("OPT_*"), favorites > ("FAV_*"), and Table of Contents "toggles" ("TOC_") > note: this tiddler is tagged "$:/tags/PageTemplate so that the cookie > widgets can use the TW core refresh cycle to continously "listen" for > tiddler changes > > enjoy, > -e > Eric Shulman > ELS Design Studios > TiddlyTools - "Small Tools for Big Ideas!" > InsideTiddlyWiki: The Missing Manuals > > YOUR DONATIONS ARE VERY IMPORTANT! > HELP ME TO HELP YOU - MAKE A CONTRIBUTION TO MY "TIP JAR"... > http://TiddlyTools.github.com/fundraising.html#MakeADonation > > Professional TiddlyWiki Consulting Services... > Analysis, Design, and Custom Solutions: > http://www.TiddlyTools.com/#Contact > -- 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. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/532aca6c-9ab3-45ac-bd1c-c02e77b41a7d%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

