Hi Tones, Thank you! This is the latest deserializer developed and approved by Saq. See the details in this thread!
Best wishes Mohammad On Thu, Jul 8, 2021 at 1:07 AM TW Tones <[email protected]> wrote: > Mohammad, > > All in good time, I just did not want to miss out. I extended your simple > basket plugin because its great, perhaps a bookmark basket? > > "We Always miss you" too (he says genuinely) but life must come first. > > Regards > Tones > On Thursday, 8 July 2021 at 01:38:30 UTC+10 Mohammad wrote: > >> >> Hi Tones >> Actually I was working on a bookmarker plugin implementing different >> tools! Saq has finalized the JS code and has given me very useful inputs. >> I promised Diego to publish it! But I am very busy and I hope I can do >> this in my free time! >> >> By the way, I can post the JS tiddler (deserializer) if you can use it >> directly! >> Sorry @Diego Mesa for not finishing this! >> >> >> I really miss the TW community, writing TW scripts, and developing new >> plugins. I hope I can return not too late! >> >> >> >> Best wishes >> Mohammad >> >> >> On Wed, Jul 7, 2021 at 11:40 AM TW Tones <[email protected]> wrote: >> >>> Folks, >>> >>> Do we have a final product as a result of this thread? >>> >>> Could a link to this published work be share in a post at the bottom of >>> this thread please. >>> >>> Thanks for the effort. >>> >>> Tones >>> >>> On Monday, 7 June 2021 at 14:58:41 UTC+10 Mohammad wrote: >>> >>>> Hi Diego, >>>> >>>> I totally forgot about this! I will upload to GitHub this weekend! >>>> The JS code has been finalized by Saq! >>>> >>>> Best wishes >>>> Mohammad >>>> >>>> >>>> On Mon, Jun 7, 2021 at 8:40 AM [email protected] <[email protected]> >>>> wrote: >>>> >>>>> Hey Mohammad. >>>>> >>>>> Was this ever pushed to github? >>>>> >>>>> On Saturday, May 22, 2021 at 12:45:56 PM UTC-7 Mohammad wrote: >>>>> >>>>>> Hi Saq, >>>>>> Many thanks for all your help! Sure I will! Of course this is a >>>>>> product from *TW Colab*! ;-) :-) >>>>>> I add documentation and soon I will push it to GitHub! >>>>>> >>>>>> I also appreciate all the help from Josih! >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> Best wishes >>>>>> Mohammad >>>>>> >>>>>> >>>>>> On Sat, May 22, 2021 at 11:59 PM Saq Imtiaz <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> Hi Mohammad! As per our email discourse, your code is good. Polish >>>>>>> it up and publish the first kookma JavaScript plugin! >>>>>>> >>>>>>> On Saturday, May 22, 2021 at 6:32:31 PM UTC+2 Mohammad wrote: >>>>>>> >>>>>>>> On Sat, May 22, 2021 at 8:44 PM Saq Imtiaz <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> @Mohammad yes you need to have a while loop: >>>>>>>>> >>>>>>>>> while(results.Title.indexOf(title) == -1) { >>>>>>>>> title = title + "1"; >>>>>>>>> } >>>>>>>>> >>>>>>>> >>>>>>>> That is correct! I did a similar in R04! >>>>>>>> >>>>>>>> results.*Title*.indexOf(title) >>>>>>>> I did not know this! >>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Another improvement you can make just to have neater code, is to >>>>>>>>> make a function called getTitle outside and before the $tw.utils.each >>>>>>>>> loop. >>>>>>>>> >>>>>>>>> var getTitle = function(title) { >>>>>>>>> title = title.replace..... >>>>>>>>> while(title in resultsTitles) { >>>>>>>>> title = title + "1"; >>>>>>>>> } >>>>>>>>> return title; >>>>>>>>> } >>>>>>>>> >>>>>>>>> >>>>>>>> Very nice! So, one can define a new function in middle of the code! >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> Inside this function you can do the string replacement of unwanted >>>>>>>>> characters and also check for already existing titles in a loop, and >>>>>>>>> return >>>>>>>>> the new title. This is an aesthetic thing though and wont really >>>>>>>>> impact the >>>>>>>>> efficiency of the code. >>>>>>>>> >>>>>>>> >>>>>>>> Perfect! >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> @TT the regexp is good, Mohammad refers to check for duplicate >>>>>>>>> titles only once instead of in a loop. So if "TiddlyWiki.com" already >>>>>>>>> exists, we have to check if "TiddlyWiki.com1" already exists. >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Thank you for all your help! I would appreciate sharing your final >>>>>>>> version! and give a link for the community! >>>>>>>> I think that my version is not good enough to be used by >>>>>>>> other users! >>>>>>>> (p.s I am not sure if these deserializers may be part of core later >>>>>>>> or not! If not, it is worth having them as a plugin!) >>>>>>>> I will write small help for potential users! >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>>> On Saturday, May 22, 2021 at 4:39:13 PM UTC+2 TiddlyTweeter wrote: >>>>>>>>> >>>>>>>>>> IF the regex on match is NOT GLOBAL flagged it will only match >>>>>>>>>> the first instance. >>>>>>>>>> >>>>>>>>>> I am NOT familiar with JS regex flags but try this ... >>>>>>>>>> >>>>>>>>>> */[|{}\[\]]/gi* >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Let me know! >>>>>>>>>> TT >>>>>>>>>> On Saturday, 22 May 2021 at 16:18:56 UTC+2 Mohammad wrote: >>>>>>>>>> >>>>>>>>>>> Ah, there is an issue! It only searches for the first occurrence! >>>>>>>>>>> Needs to be corrected! >>>>>>>>>>> >>>>>>>>>>> Best wishes >>>>>>>>>>> Mohammad >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Sat, May 22, 2021 at 6:39 PM Mohammad Rahmani < >>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi Saq, >>>>>>>>>>>> This is the third revision! I used indexOf() and it seems it >>>>>>>>>>>> is compatible with ES5. >>>>>>>>>>>> I am not sure if the code is an efficient one or not, but it >>>>>>>>>>>> works! >>>>>>>>>>>> >>>>>>>>>>>> To give it a try I have attached a bookmarks file containing >>>>>>>>>>>> characters on parsing to generate duplicates! >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Best wishes >>>>>>>>>>>> Mohammad >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Sat, May 22, 2021 at 3:56 PM Saq Imtiaz <[email protected]> >>>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi Mohammad, it looks good! >>>>>>>>>>>>> >>>>>>>>>>>>> So we can't use the unusedtitle macro from TiddlyWiki because >>>>>>>>>>>>> inside the deserializer code, these are not tiddlers yet. >>>>>>>>>>>>> >>>>>>>>>>>>> What I recommend is to create another empty array where we >>>>>>>>>>>>> make the array for results, called resultsTitles >>>>>>>>>>>>> >>>>>>>>>>>>> Then inside the $tw.utils loop, where we have results.push, >>>>>>>>>>>>> we should also for each bookmark do resultsTitles.push(title). >>>>>>>>>>>>> Now we have an array of results titles. >>>>>>>>>>>>> >>>>>>>>>>>>> So now we have to add an extra step for creating the title >>>>>>>>>>>>> after the regex string replacement, here is pseudo code: >>>>>>>>>>>>> >>>>>>>>>>>>> while title exists in resultsTitles array >>>>>>>>>>>>> title = title + "1" >>>>>>>>>>>>> >>>>>>>>>>>>> The title variable should now be unique for the bookmarks we >>>>>>>>>>>>> are importing. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Saturday, May 22, 2021 at 1:03:23 PM UTC+2 Mohammad wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> @ TT >>>>>>>>>>>>>> Check the attached revised one! >>>>>>>>>>>>>> 1. drag and drop the attached JSON in empath.html >>>>>>>>>>>>>> (download one from https://tiddlywiki.com/prerelease/) >>>>>>>>>>>>>> 2. save and reload >>>>>>>>>>>>>> 3. drag and bookmarks.html exported from FF/Edge/Chrome (I >>>>>>>>>>>>>> have one with nasty chars in the title) >>>>>>>>>>>>>> 4. See how the import works in Tiddlywiki >>>>>>>>>>>>>> >>>>>>>>>>>>>> @Saq >>>>>>>>>>>>>> >>>>>>>>>>>>>> Hoora! It works! Please see the code and advise! >>>>>>>>>>>>>> >>>>>>>>>>>>>> 1. I attached the revised deserializer and it works for >>>>>>>>>>>>>> titles with nasty characters. >>>>>>>>>>>>>> 2. Next step I will see how to use a unique title, help please >>>>>>>>>>>>>> 2.1. how can do this? should I use unusedtitle macro from TW >>>>>>>>>>>>>> core? >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Best wishes >>>>>>>>>>>>>> Mohammad >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Sat, May 22, 2021 at 3:21 PM TiddlyTweeter < >>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Right. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Try the second match pattern I gave and let me know if it >>>>>>>>>>>>>>> works for those cases ... */[|{}\[\]]/* >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Saturday, 22 May 2021 at 12:46:05 UTC+2 Mohammad wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Do we need to capture what is in this between? >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> consider a title like: AIChE | American Institute of >>>>>>>>>>>>>>>> Chemical Engineers [2021] >>>>>>>>>>>>>>>> we need to remove [] and replace with - >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Best wishes >>>>>>>>>>>>>>>> Mohammad >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Sat, May 22, 2021 at 3:12 PM TiddlyTweeter < >>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> @TT >>>>>>>>>>>>>>>>> What is the regex to replace the below chars with `-` at >>>>>>>>>>>>>>>>> thesame time >>>>>>>>>>>>>>>>> |, {, } >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> In raw JavaScript the regex match could be: */[|{}]/* >>>>>>>>>>>>>>>>> The replace simply: */-/* >>>>>>>>>>>>>>>>> IF you want to change "[" and "]" too try: */[|{}\[\]]/* >>>>>>>>>>>>>>>>> I have NOT tested this so if there are issues let me know! >>>>>>>>>>>>>>>>> TT >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> 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/4ccfc5e7-a333-4ad8-99c4-466e30f5f185n%40googlegroups.com >>>>>>>>>>>>>>>>> <https://groups.google.com/d/msgid/tiddlywiki/4ccfc5e7-a333-4ad8-99c4-466e30f5f185n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>>>>>>>>>>>> . >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> 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/59ef0fc2-66b4-43d7-8469-ee0b97089bf7n%40googlegroups.com >>>>>>>>>>>>>>> <https://groups.google.com/d/msgid/tiddlywiki/59ef0fc2-66b4-43d7-8469-ee0b97089bf7n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>>>>>>>>>> . >>>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>> 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/f73a724e-b8ad-4c81-9956-726b6341266an%40googlegroups.com >>>>>>>>>>>>> <https://groups.google.com/d/msgid/tiddlywiki/f73a724e-b8ad-4c81-9956-726b6341266an%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>>>>>>>> . >>>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>> 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/ffd4411a-a18f-419e-a348-b75c2d3460e1n%40googlegroups.com >>>>>>>>> <https://groups.google.com/d/msgid/tiddlywiki/ffd4411a-a18f-419e-a348-b75c2d3460e1n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>>>> . >>>>>>>>> >>>>>>>> -- >>>>>>> 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/d7ff28ea-d806-4f79-9475-4ee7a87d3dd6n%40googlegroups.com >>>>>>> <https://groups.google.com/d/msgid/tiddlywiki/d7ff28ea-d806-4f79-9475-4ee7a87d3dd6n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>> . >>>>>>> >>>>>> -- >>>>> 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/9496f2f3-9605-4e76-8178-fecae17ca376n%40googlegroups.com >>>>> <https://groups.google.com/d/msgid/tiddlywiki/9496f2f3-9605-4e76-8178-fecae17ca376n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> -- >>> 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/2ad0f631-df81-4659-96b1-02e34c6978fcn%40googlegroups.com >>> <https://groups.google.com/d/msgid/tiddlywiki/2ad0f631-df81-4659-96b1-02e34c6978fcn%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- > 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/20af900e-6538-4017-af93-495d2cb110b9n%40googlegroups.com > <https://groups.google.com/d/msgid/tiddlywiki/20af900e-6538-4017-af93-495d2cb110b9n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- 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/CAAV1gMBaPa36OaugQ1Yay8ezet3GsZais_kzu%2B3gYmmnOgmLNw%40mail.gmail.com.
$__plugins_kookma_bookmarks_deserializer.js.json
Description: application/json

