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.

Reply via email to