I've been testing this using Jed's BobWin.exe on Windows. It works the same without the need to modify the server so I think I'm going to target Bob as the server. instead of the TiddlyWiki node server.
(There's currently a bug in bob <https://github.com/OokTech/TW5-Bob/issues/159> that the created and modified fields are incorrect.) Here's a basic bookmarklet for a bob server: javascript: ( function () { var data = { tiddlers: {'0': {'fields': {'title': window.location.href, 'caption': document.title }}}}; var tid = JSON.stringify(data); var xhr = new XMLHttpRequest(); const wikiname = 'bookmarks'; xhr.timeout = 10000; xhr.onreadystatechange = function () { console.log('xhr.readyState: ' + xhr.readyState); console.log('xhr.status: ' + xhr.status); console.log('xhr.responseText: ' + xhr.responseText); console.log('xhr.statusText: ' + xhr.statusText); }; xhr.open('POST', `http://127.0.0.1:8080/api/push/${wikiname}`); xhr.send(tid); })(); On Monday, October 12, 2020 at 5:40:45 AM UTC-4 amreus wrote: > Thank you. I could use a lot of help with everything. I'm not a programmer > - I just play around with things sometimes. The javascript is all very > hacky and it would be nice to offer the cors as an option instead of having > it hard-coded. I can share what I have on github if you or anyone else is > interested. > > I have not tried anything other than Firefox on Windows 10. > > Here's an image of the fields I am grabbing. I decided to hide the > tiddlers as system tiddlers and use the caption field for display. Also > changed to using the URL as the unique identifier instead of the html title > tag. > > There is a major downside - since you can't catch CORS errors in > javascript, I'm not sure how to notify the user if the bookmarking fails > for that reason. Specifically there is a problem with bookmarking Github > pages - they are blocking the javascript and I get an error: " Content > Security Policy: The page’s settings blocked the loading of a resource at > inline (“script-src”)." I'm not sure if that can be overcome yet. > > But over-all I'm happy with how well it works. Just browse and click to > bookmark. Then use all of the tools available in TiddlyWiki to organize > your bookmarks. It's slightly less convenient than the built-in bookmarks > library but vastly more powerful. > > On Sunday, October 11, 2020 at 9:01:23 PM UTC-4 [email protected] > wrote: > >> Excellent work! I've been following you progress. I will definitely use >> something like this in my Bookmarks plugin. >> >> Has this been tested in multiple browsers? I also really like how this >> opens up the possibility to write tiddlers to a wiki-tab while your browser >> has another tab or content in view. Mahalo (thanks)! >> >> Best, >> Joshua Fontany >> On Sunday, October 11, 2020 at 2:10:21 AM UTC-7 amreus wrote: >> >>> Thanks Joshua, >>> >>> I did figure enough of it it out to get a working bookmarklet. I had to >>> add the right headers to the server.js file and put handler file. >>> >>> I'm not an expert but I think it is safe enough. The code is a >>> bookmarklet which calls the WebServer API . The result is I can press my >>> bookmarklet button on any page and have a tiddler created from the web page >>> info. Kind of cool but I'm not sure how useful it really is. I think I'm >>> motivated by curiosity and the challenge more than the utility. >>> >>> Here's the bookmarklet as of now: >>> >>> function () { >>> var e = encodeURIComponent; >>> var t = document.title; >>> var u = window.location.href; >>> var data = JSON.stringify({ "tags": "Link", "url": u }); >>> var xhr = new XMLHttpRequest(); >>> xhr.open('PUT', 'http://127.0.0.1:8080/recipes/default/tiddlers/' + >>> t); >>> xhr.setRequestHeader('x-requested-with', 'TiddlyWiki'); >>> xhr.onreadystatechange = function () { >>> if (xhr.readyState === 4) { >>> console.log('xhr.status: ' + xhr.status); >>> console.log('xhr.responseText: ' + xhr.responseText); >>> } >>> }; >>> xhr.send(data); >>> })(); >>> >>> On Saturday, October 10, 2020 at 11:18:36 PM UTC-4 [email protected] >>> wrote: >>> >>>> >>>> CORS errors are a problem when the javascript you are running is being >>>> run from within the Browser, but is trying to access a resource that is >>>> not >>>> on the "same domain" as the document you are viewing. >>>> >>>> As long as you 100% make sure that your code is running on the _Server_ >>>> (node.js), it can then make any modifications to the Wiki files you need. >>>> This will then be picked up the next time the browser syncs with the >>>> server. >>>> >>>> Best, >>>> Joshua Fontany >>>> On Saturday, October 10, 2020 at 1:41:57 PM UTC-7 amreus wrote: >>>> >>>>> Is it possible to allow Cross Origin Resource Sharing when running a >>>>> node wiki locally? >>>>> >>>>> I'm starting the server using the command: tiddlywiki.js <dir> >>>>> --listen >>>>> >>>>> >>>>> -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/b523a104-bfe0-4db5-8547-0e92fb2bca67n%40googlegroups.com.

