[twdev] Re: Need help to create a javascript library & invoke this.wiki.xxxx() from it

2022-04-27 Thread Joshua Fontany
Much more activity at https://talk.tiddlywiki.org/. Try over there. :)

On Wednesday, October 27, 2021 at 1:14:54 AM UTC-7 vpl.p...@gmail.com wrote:

> Hi guys,
>
> I need a bit of help to understand how to access  getTiddler  method from 
> a javascript library
>
> When I develop *macro* (module-type) I use this.wiki. filterTiddlers  
> (...) methods and all works fine when I invoke this macro from a tiddler 
> script
>
> But I would like to develop a javascript library that is intended to be 
> used by different macros. This library will need to access a Data Tiddler 
> (as a DB "backend")
>
> So I created a javascript code and set its module-type to *library*
> The code is the following
>
> (function(){
> class Hero {
> constructor(name, level) {
> var stats_tiddler_title = "Stats_report"; // a backend tiddler that 
> contains the stats reports (as field value)
> var stats_tiddler_filter = "[["+stats_tiddler_title+"]]";
> var stats_tiddlers = this.wiki.filterTiddlers(stats_tiddler_filter);
> this.name = name;
> this.level = level;
> console.log("   Class created. Value:"+this.level);
> }
> getName() {
> console.log("   getName !. Name:"+this.name);
> }
> }
> exports.Hero = Hero;
>
> })();
>
> From my macro javascript I tried to call this library 
>
> var Hero = require('$:/plugins/vpl/vpl_test_class.js').Hero;
> const hero1 = new Hero('Varg', 1);
>
> But I get the error
> Uncaught TypeError: Cannot read properties of undefined (reading 
> 'filterTiddlers')
>
> I'm blocked  Can someone help & guide me on the proper way to do that ?
>
> Thanks very much for your help
>
> Regards
>
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/853841af-f156-4b99-835a-036748c7daa9n%40googlegroups.com.


Re: [twdev] Re: Basic Question Regarding TW5 Framework

2020-10-20 Thread Joshua Fontany
gt; they would have different paths for linking purposes.
>>>>
>>>> The text editor from TiddlyWiki mostly serves my purposes for a text
>>>> editor perfectly, though there's a fair amount of customization that I'd
>>>> actually like to cut down on, for the sake of user simplicity.
>>>>
>>>> On Monday, October 19, 2020 at 6:59:30 PM UTC-6 TonyM wrote:
>>>>
>>>>> Christopher,
>>>>>
>>>>> 95% of what tiddlywiki can do does not need  Javascript/React. It has
>>>>> its own wikitext and macro language and widgets to achieve almost 
>>>>> anything.
>>>>> No to mention the plugins and editions available.
>>>>>
>>>>> I have build my own rapid development environment on top of tiddlywiki
>>>>> without more than the odd hack given to me.
>>>>>
>>>>> If you think you need to make use of Javascript/React no matter, but
>>>>> perhaps tell us what functionality you are trying to get, and we can tell
>>>>> you if its native or already available.
>>>>>
>>>>> Regards
>>>>> Tony
>>>>>
>>>>>
>>>>> On Tuesday, 20 October 2020 08:54:43 UTC+11, Christopher Walters wrote:
>>>>>>
>>>>>> Okay, that's good to know, I guess I'll come back to this forum when
>>>>>> I have a stronger understanding a Javascript/React. I've got plans for an
>>>>>> Electron application, but I loved the text editing and Hyperlinking
>>>>>> capabilities from TiddlyWiki, which is why I wanted to ask here. Thanks 
>>>>>> for
>>>>>> your help.
>>>>>>
>>>>>> On Sunday, October 18, 2020 at 5:42:07 PM UTC-6 joshua@gmail.com
>>>>>> wrote:
>>>>>>
>>>>>>> Yes, TiddlyWiki5 is definitely its own "paradigm". While similar to
>>>>>>> React, in that a javascript model is updated, and these updated are 
>>>>>>> passed
>>>>>>> to the "DOM" to be rendered by the browser, it is very unique in how it 
>>>>>>> is
>>>>>>> constructed and how updates are called.
>>>>>>>
>>>>>>> Resources:
>>>>>>>
>>>>>>> https://tiddlywiki.com/dev/
>>>>>>> https://tiddlywiki.com/dev/#TiddlyWiki%20Core%20Application
>>>>>>>
>>>>>>> https://softwareas.com/tiddlywiki-internals-1-of-3-architectural-concepts/
>>>>>>>
>>>>>>> https://softwareas.com/tiddlywiki-internals-2-of-3-list-of-javascript-files/
>>>>>>>
>>>>>>> https://softwareas.com/tiddlywiki-internals-3-of-3-key-javascript-classes-and-files/
>>>>>>> https://btheado.github.io/tw-widget-tutorial/
>>>>>>>
>>>>>>> Best,
>>>>>>> Joshua Fontany
>>>>>>>
>>>>>>> On Sunday, October 18, 2020 at 3:51:45 PM UTC-7 TonyM wrote:
>>>>>>>
>>>>>>>> Christopher,
>>>>>>>>
>>>>>>>> Others can give a more technical origins story, but to me
>>>>>>>> TiddlyWiki is the framework. It is a platform in its own right and 
>>>>>>>> relies
>>>>>>>> on broad standards of HTML and Javascript.
>>>>>>>>
>>>>>>>> When incorporating Javascript you need to be aware of the way
>>>>>>>> tiddlywiki works because its efficient update propagation to the whole 
>>>>>>>> wiki
>>>>>>>> when a change occurs is what gives tiddlywiki power to a developer and 
>>>>>>>> user.
>>>>>>>>
>>>>>>>> Because of this use of standard software standards plus a set of
>>>>>>>> mechanisium in many cases its possible to plug in many alternative
>>>>>>>> technologies, both in single file files and even more so on Node JS 
>>>>>>>> server
>>>>>>>> implementations.
>>>>>>>>
>>>>>>>> A key thing to remember is most of tiddlywiki is totally visible
>>>>>>>> even within a single empty.html, by learning how to

[twdev] [Plugin] JsonMangler v2.2.4 BugFix Release

2020-10-18 Thread Joshua Fontany
Thanks to TonyM for a bug report around importing CSV tiddlers as 
regular/json tiddlers.

This has been fixed and a new Zip and Demo Wiki have been posted.

Find them here:
https://chronicles.wiki/TW5-JsonMangler/
https://github.com/joshuafontany/TW5-JsonMangler/releases/tag/v2.2.4

And please report and bugs or issues at the main repo:
https://github.com/joshuafontany/TW5-JsonMangler

Mahalo (thanks)!
- Joshua Fontany

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/51207486-a605-41c2-ac28-a62e2c5084dcn%40googlegroups.com.


[twdev] Re: Basic Question Regarding TW5 Framework

2020-10-18 Thread Joshua Fontany
Yes, TiddlyWiki5 is definitely its own "paradigm". While similar to React, 
in that a javascript model is updated, and these updated are passed to the 
"DOM" to be rendered by the browser, it is very unique in how it is 
constructed and how updates are called.

Resources:

https://tiddlywiki.com/dev/
https://tiddlywiki.com/dev/#TiddlyWiki%20Core%20Application
https://softwareas.com/tiddlywiki-internals-1-of-3-architectural-concepts/
https://softwareas.com/tiddlywiki-internals-2-of-3-list-of-javascript-files/
https://softwareas.com/tiddlywiki-internals-3-of-3-key-javascript-classes-and-files/
https://btheado.github.io/tw-widget-tutorial/

Best,
Joshua Fontany

On Sunday, October 18, 2020 at 3:51:45 PM UTC-7 TonyM wrote:

> Christopher,
>
> Others can give a more technical origins story, but to me TiddlyWiki is 
> the framework. It is a platform in its own right and relies on broad 
> standards of HTML and Javascript. 
>
> When incorporating Javascript you need to be aware of the way tiddlywiki 
> works because its efficient update propagation to the whole wiki when a 
> change occurs is what gives tiddlywiki power to a developer and user.
>
> Because of this use of standard software standards plus a set of 
> mechanisium in many cases its possible to plug in many alternative 
> technologies, both in single file files and even more so on Node JS server 
> implementations.
>
> A key thing to remember is most of tiddlywiki is totally visible even 
> within a single empty.html, by learning how to navigate the internals of 
> tiddlywiki it becomes self documenting and you can follow a current 
> function to learn how its done and clone and build a new new and novel 
> solution.
>
> A piece of advice to New users and javascript writers is as a platform or 
> framework much can be achieved already tiddlywiki without resorting to new 
> Javascript code. I believe the key input needed by javascript coders is 
> filling gaps in functionality or performance when needed or creating 
> engines for complex computations. Fortunately open source projects in 
> javascript or HTML can be and have being, "ported" into the tiddlywiki 
> frame work successfully, and this makes use of other open source 
> communities efforts. 
>
> I feel tiddlywiki is about both niche and general solutions but I have 
> adopted it as my development environment of choice on top of which I can 
> build anything including tools to build TiddlyWiki's or websites and apps.
>
> Regards
> Tony
>
>
> On Monday, 19 October 2020 07:02:05 UTC+11, Christopher Walters wrote:
>>
>> Hi all,
>>
>> I have dreams for creating a piece of software for this really niche 
>> purpose, and I found myself returning time and again to TiddlyWiki as the 
>> basis for a lot of it. 
>>
>> My question is really basic, feels like it doesn't even really warrant a 
>> Conversation post πŸ˜… What framework does TiddlyWiki use? 
>>
>> I've heard of things like Angular or React, but I'm just looking for a 
>> name that I can research and learn on my own, for the purposes of 
>> replicating that aspects of TW5 that I enjoy so much. 
>>
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/75016f8a-a6a4-445f-affb-e72bf8a966ban%40googlegroups.com.


[twdev] [TW5 Plugin] JsonMangler v2.2.3 Released!

2020-09-26 Thread Joshua Fontany
This release ads two new filter operators: "comparefield[]" and 
"compareindex[]" operators that function as "compare[]" on a specific field 
or index. The first prefix is now the field or index name. See the help 
documentation in the example wiki.

Requires TiddlyWiki v5.1.23-pre

I now have a new domain that hosts all my wiki experiments. The demo wiki 
for this plugin is now located at: https://chronicles.wiki/TW5-JsonMangler/

Download the node-folders at: 
https://github.com/joshuafontany/TW5-JsonMangler/releases/tag/v2.2.3

Best,
Joshua Fontany

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/a1186e7f-ee3e-4f41-a316-6c91e937e710n%40googlegroups.com.


[twdev] Re: [TW5][Plugin] Oembed Public Beta!!!!!

2020-07-21 Thread Joshua Fontany
Ugh, there was a typo in the Demo Wiki link.

https://joshuafontany.github.io/TW5-Oembed/ 

Fixed.

Best,
Joshua F 

On Tuesday, July 21, 2020 at 8:23:30 PM UTC-7 Joshua Fontany wrote:

> *ReadMe*
>
> *Oembed for TiddlyWiki5, Version 0.1.0*
>
> Manually or automatically generate embeddable html from user supplied 
> urls. This plugin requires the *tiddlywiki/consent-banner* core plugin 
> installed in the wiki, and that the user has accepted cookies in order to 
> render the embeddable html code.
>
> For a server to automatically generate the API requests, this plugin 
> requires running TiddlyWiki on Node.js with the *Bob* plugin (or through 
> Bob.exe). When run with *Bob* it also requires installing the *oembetter* npm 
> package from within your TiddlyWiki5 directory (or cloning the 'oembetter' 
> package locally and creating a global link by using npm link in the 
> oembetter directory and npm link oembetter in the tiddlywiki5 directory).
>
> If *Bob* and *oembetter* are not available, the plugin will prompt the 
> user with a form to call the correct API. This makes the *user* into the 
> *server* ;) .
>
> github: oembetter <https://github.com/apostrophecms/oembetter>
>
> ''joshuafontany/oembed'' source 
> <https://github.com/joshuafontany/TW5-oembed>
> *Introduction - New Wikitext Syntax*
>
> This plugin introduces the following, 
> new, WikiText Syntax: [embed[$url_or_tiddler$]]
>
> This is automatically converted into an <$embed> widget, and can take 
> attributes in the following forms:
> ```
> [embed[https://www.youtube.com/watch?v=Imx-EzCOWGc]] [embed width=500 [
> https://www.youtube.com/watch?v=Imx-EzCOWGc]] [embed width={{!!width}} [
> https://www.youtube.com/watch?v=Imx-EzCOWGc]] [embed 
> width={{$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth}} [
> https://www.youtube.com/watch?v=Imx-EzCOWGc]] [embed height="32em" 
> class="custom-embed" [TiddlerTitle]]
> ```
>
> The user supplies a URL that they wish to embed, or the title of a tiddler 
> with a url field holding a target URL. By default, an 
> empty [embed[]] widget will attempt to use the value of 
> the currentTiddler variable as the source of the target url. The target URL 
> must be from one of the *Whitelited Providers*.
>
> If *Bob* and *oembetter* are not available, the $embed widget will prompt 
> the user with a form to call the correct API. The user then pastes the 
> returned JSON data into a text-edit field and clicks Save. The widget will 
> automatically try to render the new content.
>
> If *Bob* is available, the server automatically calls the endpoint API, 
> which should return an embeddable HTML snippet for the user supplied url. 
> This is done by calling the *oembetter* node package on the server side, 
> and then storing the returned json as a state tiddler. This causes the 
> widget to also automatcally try to render the new content.
> *Rendering the Embedded Content*
>
> This widget renders a nested set of elements that causes 
> the  element holding our embedded code to be "responsive". This 
> means it will attempt to fill space, resize along with the window, and 
> display scrollbar when content spills outside of its bounds and is hidden. 
> Sometimes the returned data will have height and width properties that will 
> allow the widget to set an intelligent "aspect-ratio". If unable, the 
> default height of "64em" is used. You can override this by setting a valid 
> CSS height-value for the height attribute. Similarly, if 
> the width attribute is set, the API request will include a "maxwidth" 
> option with that value, or the max-width of the containing  will be 
> set to that value.
> *Attributes*
>
> AttributeDescription
> *target*
> The name of a tiddler with a url field, or if a tiddler with that name is 
> not found, a url the user wishes to embed. This allows transclusion, 
> variables, etc.
>
> *height*
> (Optional) The maximum height that the embeddable HTML should fill. Given 
> in pixels ('px" not required).
>
> *width*
> (Optional) The maximum width that the embeddable HTML should fill. Given 
> in pixels ('px" not required).
>
> *class*
> (Optional) The classes to add to the wrapping .Using Oembed
>
> Examples are found in the *Using Oembed* tiddler in the demo wiki:
>
> https://joshuafontany.github.io/TW5-Oembed/ 
> <https://joshuafontany.github.io/TW5-oembed/>
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/a3aa1ef3-599e-458d-a4d4-9c1efd6a2946n%40googlegroups.com.


[twdev] [TW5][Plugin] Oembed Public Beta!!!!!

2020-07-21 Thread Joshua Fontany
*ReadMe*

*Oembed for TiddlyWiki5, Version 0.1.0*

Manually or automatically generate embeddable html from user supplied urls. 
This plugin requires the *tiddlywiki/consent-banner* core plugin installed 
in the wiki, and that the user has accepted cookies in order to render the 
embeddable html code.

For a server to automatically generate the API requests, this plugin 
requires running TiddlyWiki on Node.js with the *Bob* plugin (or through 
Bob.exe). When run with *Bob* it also requires installing the *oembetter* npm 
package from within your TiddlyWiki5 directory (or cloning the 'oembetter' 
package locally and creating a global link by using npm link in the 
oembetter directory and npm link oembetter in the tiddlywiki5 directory).

If *Bob* and *oembetter* are not available, the plugin will prompt the user 
with a form to call the correct API. This makes the *user* into the *server* ;) 
.

github: oembetter 

''joshuafontany/oembed'' source 

*Introduction - New Wikitext Syntax*

This plugin introduces the following, 
new, WikiText Syntax: [embed[$url_or_tiddler$]]

This is automatically converted into an <$embed> widget, and can take 
attributes in the following forms:
```
[embed[https://www.youtube.com/watch?v=Imx-EzCOWGc]] [embed width=500 
[https://www.youtube.com/watch?v=Imx-EzCOWGc]] [embed width={{!!width}} 
[https://www.youtube.com/watch?v=Imx-EzCOWGc]] [embed 
width={{$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth}} 
[https://www.youtube.com/watch?v=Imx-EzCOWGc]] [embed height="32em" 
class="custom-embed" [TiddlerTitle]]
```

The user supplies a URL that they wish to embed, or the title of a tiddler 
with a url field holding a target URL. By default, an 
empty [embed[]] widget will attempt to use the value of 
the currentTiddler variable as the source of the target url. The target URL 
must be from one of the *Whitelited Providers*.

If *Bob* and *oembetter* are not available, the $embed widget will prompt 
the user with a form to call the correct API. The user then pastes the 
returned JSON data into a text-edit field and clicks Save. The widget will 
automatically try to render the new content.

If *Bob* is available, the server automatically calls the endpoint API, 
which should return an embeddable HTML snippet for the user supplied url. 
This is done by calling the *oembetter* node package on the server side, 
and then storing the returned json as a state tiddler. This causes the 
widget to also automatcally try to render the new content.
*Rendering the Embedded Content*

This widget renders a nested set of elements that causes 
the  element holding our embedded code to be "responsive". This 
means it will attempt to fill space, resize along with the window, and 
display scrollbar when content spills outside of its bounds and is hidden. 
Sometimes the returned data will have height and width properties that will 
allow the widget to set an intelligent "aspect-ratio". If unable, the 
default height of "64em" is used. You can override this by setting a valid 
CSS height-value for the height attribute. Similarly, if 
the width attribute is set, the API request will include a "maxwidth" 
option with that value, or the max-width of the containing  will be 
set to that value.
*Attributes*

AttributeDescription
*target*
The name of a tiddler with a url field, or if a tiddler with that name is 
not found, a url the user wishes to embed. This allows transclusion, 
variables, etc.

*height*
(Optional) The maximum height that the embeddable HTML should fill. Given 
in pixels ('px" not required).

*width*
(Optional) The maximum width that the embeddable HTML should fill. Given in 
pixels ('px" not required).

*class*
(Optional) The classes to add to the wrapping .Using Oembed

Examples are found in the *Using Oembed* tiddler in the demo wiki:

https://joshuafontany.github.io/TW5-Oembed/ 


-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/4de456ec-933b-451d-a8be-92d6459a22e4n%40googlegroups.com.


[twdev] Re: [Visual Studio Code] TiddlyWiki5 Syntax Extension v1.0.1

2020-07-20 Thread Joshua Fontany
v1.0.2 Update Published!

## 1.0.2
- Updated `tid` Snippet to offer a dropdown of `type` field options.
-- Mahalo to "_Phi / hpx1" for the contributions!

https://groups.google.com/group/tiddlywiki/attach/a5e85ebd771f9/Auto%20Generated%20Inline%20Image%201?part=0.1&view=1

On Saturday, July 18, 2020 at 11:08:52 PM UTC-7 Joshua Fontany wrote:

> [Visual Studio Code] TiddlyWiki5 Syntax Extension v1.0.1
>
> https://marketplace.visualstudio.com/items?itemName=joshua-fontany.tw5-syntax
>  
>
> v1.0.1 Update brings the following:
>  
> ## 1.0.1
>
> - Fixed snippets to correctly render widget syntax, `<$button> `.
> - Added a very nifty "Tiddler Metadata" snippet, `tid`, which will insert a 
> block of tiddler meta-data fields into an empty 
> *.tid file. Just type `tid` and press tab. `created` and `modified` fields 
> come automatically timestamped, and you can tab to move between field values.
> -- Very neat, thanks a lot to "_Phi / hpx1" for this snippet!
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/dc8a51e7-429d-4f2f-ab3f-b32679376af4n%40googlegroups.com.


[twdev] [Visual Studio Code] TiddlyWiki5 Syntax Extension v1.0.1

2020-07-18 Thread Joshua Fontany
[Visual Studio Code] TiddlyWiki5 Syntax Extension v1.0.1
https://marketplace.visualstudio.com/items?itemName=joshua-fontany.tw5-syntax
 

v1.0.1 Update brings the following:
 
## 1.0.1

- Fixed snippets to correctly render widget syntax, `<$button> `.
- Added a very nifty "Tiddler Metadata" snippet, `tid`, which will insert a 
block of tiddler meta-data fields into an empty 
*.tid file. Just type `tid` and press tab. `created` and `modified` fields come 
automatically timestamped, and you can tab to move between field values.
-- Very neat, thanks a lot to "_Phi / hpx1" for this snippet!

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/45cfb3c7-4fb8-41b7-ad97-5a197ae2451bn%40googlegroups.com.


[twdev] [Dev][Visual Studio Code] Announcing Syntax Highlighting and Intellisense Plugin for TW5

2020-07-17 Thread Joshua Fontany
https://marketplace.visualstudio.com/items?itemName=joshua-fontany.tw5-syntax
 


   - Automatically highlight HTML/Wikitext syntax.
   - Almost all TW-Wikitext syntax is recognized
  -  (it chokes a bit on system tiddler names in macro definitions, :P )
   - Intellisense auto-fills means you can type a "snippet" like "set", 
   then press tab, and have a whole block of text inserted, with your cursor 
   placed at a good point to keep typing, like so:
   <$set name="|cursor|"> 
   - Automatically recognizes if the text file is a *.tid file with a block 
   of fields above a wiki-text body, or if it is a multid (*.multids), or just 
   wikitext (*.tw5).


Have fun! Bug report appreciated. You should also be able to search for it 
via the VS Code internal plugins tab (it way wait a few minutes, I 
literally jut pushed publish).

This seems to be working out really well, and is in a state that I believe 
we could adapt it for the TW-Highlighting plugin. I just haven't used that 
very much, so would need some help there.

I have some more exciting stuff coming along the pipe here soon. Watch this 
space. ;)

Best,
Joshua Fontany  

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/68339e54-0cb0-4743-889d-9e4058414349n%40googlegroups.com.


[twdev] Re: The right way to oEmbed html code with

2020-07-11 Thread Joshua Fontany
Amazing, thank you Jed! 

I kept reading the docs around that attribute wrong. Now to get the embeds 
to appear "responsively" by filling the tiddler space.

Yeah, this is looking super awesome. Social media today is so "ephemeral", 
things just blip on by and are lost in the stream. Having a Wiki to 
bookmark/store/annotate embedded posts is going to change how I use social 
media.

Bob has been essential, so thanks a lot! I am running into the 
repeated-messages queue bug you mentioned in another thread (TW main 
group?), and would love to work with you to resolve the Drafts bug. I would 
really like to store drafts on the server.

If I can get this oEmbed plugin working and looking OK, I'll be posting an 
official beta here this weekend. Thanks again!

Best,
Joshua F

On Saturday, July 11, 2020 at 2:19:41 AM UTC-7 inmy...@gmail.com wrote:

> I was able to get your example to work using the wrapper from BJ's example 
> but with srcdoc in place of src
>
> 
> 
>
> I didn't need the 'data:text/html;charset=utf-8,' part, when I put that 
> it in just displayed as text at the top of the iframe content.
>
> This looks like it could be really neat.
>
> A bit of a tangent, I am glad someone else is doing work with Bob. I put a 
> lot of effort into trying to make a system that was easily extensible. I am 
> not sure if I got the easy part but it is at least extensible.
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/d8a74b8f-7178-41c4-866e-e4a8c6cf431an%40googlegroups.com.


[twdev] Re: The right way to oEmbed html code with

2020-07-10 Thread Joshua Fontany
Well, using ` $:/tags/RawMarkup` on a tiddler with the text " " is not working 

On Friday, July 10, 2020 at 11:57:44 AM UTC-7 Joshua Fontany wrote:

> Hi everybody... So... I almost have a complete working solution for 
> calling oEmbed endpoints (urls that are setup to consume other urls on that 
> domain, such as youtube, facebook, instagram, etc, and return "embeddable 
> html code"). This partially requires running via a server-back-end, and I 
> chose Bob for flexibility.
>
> This new plugin is complete with a new `[embed[$url$]]` syntax that builds 
> an `<$embed target="$tiddler_or_url$" />` widget. This takes a 
> tiddler-title which has a `url` field, or a direct URL, and then if embed 
> code for that url does not exist, it sends a web-socket .message to the 
> server to go and fetch it. It temporarily shows a link to the target while 
> waiting. It also requires Jeremy's new "Accept Cookies" plugin, and if you 
> have not accepted cookies it will show a warning message.
>
> I have successfully used Bob (thanks Jed!) with web-socket calls to 
> implement a library called "oembetter" that handles whitelisting domains 
> and managing lists of endpoints. (Small bug with the websockets and 
> repeated attempts, will have to check with Jed on that.) Sooo, I have json 
> tiddlers written into the wiki from responses from Youtube, Facebook, 
> Instagram, Twitter and Reddit. Once I transclude that into my widget's 
> children[] array, the Youtube embed works fine, but TW is scrubbing all 
> other  tags into <safe-script> tags (this breaking them as a 
> security measure).
>
> I found a post that recommends using this construction:
> (via BJ 3 years ago)
> ```
> <iframe sandbox = "allow-same-origin allow-scripts allow-popups
> allow-forms" src= """data:text/html;charset=utf-8,<script
> src="<a  rel="nofollow" href="http://www.reddit.com/.embed?limit=5"">http://www.reddit.com/.embed?limit=5"</a>;
> type="text/javascript">"""/>  
> ```
> And while that works for the script given, it is not working for my html 
> transcluded from the json tiddlers. So I am at the point that I am asking 
> for help. Any ideas?
>
> Example Instagram Response:
> ```
>  data-instgrm-permalink="
> https://www.instagram.com/p/CCUu_lHAEgY/?utm_source=ig_embed&utm_campaign=loading";
>  
> data-instgrm-version="12" style=" background:#FFF; border:0; 
> border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 
> rgba(0,0,0,0.15); margin: 1px; max-width:658px; min-width:326px; padding:0; 
> width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 
> 2px);"> https://www.instagram.com/p/CCUu_lHAEgY/?utm_source=ig_embed&utm_campaign=loading";
>  
> style=" background:#FF; line-height:0; padding:0 0; text-align:center; 
> text-decoration:none; width:100%;" target="_blank">   style="background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 
> 40px; margin-right: 14px; width: 40px;">   style=" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; 
> height: 14px; margin-bottom: 6px; width: 100px;">   style="display:block; height:50px; margin:0 auto 12px; width:50px;"> width="50px" height="50px" viewBox="0 0 60 60" version="1.1" xmlns="
> https://www.w3.org/2000/svg"; xmlns:xlink="https://www.w3.org/1999/xlink";> stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> transform="translate(-511.00, -20.00)" fill="#00"> d="M556.869,30.41 C554.814,30.41 553.148,32.076 553.148,34.131 
> C553.148,36.186 554.814,37.852 556.869,37.852 C558.924,37.852 560.59,36.186 
> 560.59,34.131 C560.59,32.076 558.924,30.41 556.869,30.41 M541,60.657 
> C535.114,60.657 530.342,55.887 530.342,50 C530.342,44.114 535.114,39.342 
> 541,39.342 C546.887,39.342 551.658,44.114 551.658,50 C551.658,55.887 
> 546.887,60.657 541,60.657 M541,33.886 C532.1,33.886 524.886,41.1 524.886,50 
> C524.886,58.899 532.1,66.113 541,66.113 C549.9,66.113 557.115,58.899 
> 557.115,50 C557.115,41.1 549.9,33.886 541,33.886 M565.378,62.101 
> C565.244,65.022 564.756,66.606 564.346,67.663 C563.803,69.06 563.154,70.057 
> 562.106,71.106 C561.058,72.155 560.06,72.803 558.662,73.347 C557.607,73.757 
> 556.021,74.244 553.102,74.378 C549.944,74.521 548.997,74.552 541,74.552 
> C533.003,74.552 532.056,74.521 528.898,74.378 C525.979,74.244 
> 524.393,73.757 523.338,73.347 C521.94,72.803 520.942,72.155 519.894,71.106 
> C518.846

[twdev] The right way to oEmbed html code with

2020-07-10 Thread Joshua Fontany
Hi everybody... So... I almost have a complete working solution for calling 
oEmbed endpoints (urls that are setup to consume other urls on that domain, 
such as youtube, facebook, instagram, etc, and return "embeddable html 
code"). This partially requires running via a server-back-end, and I chose 
Bob for flexibility.

This new plugin is complete with a new `[embed[$url$]]` syntax that builds 
an `<$embed target="$tiddler_or_url$" />` widget. This takes a 
tiddler-title which has a `url` field, or a direct URL, and then if embed 
code for that url does not exist, it sends a web-socket .message to the 
server to go and fetch it. It temporarily shows a link to the target while 
waiting. It also requires Jeremy's new "Accept Cookies" plugin, and if you 
have not accepted cookies it will show a warning message.

I have successfully used Bob (thanks Jed!) with web-socket calls to 
implement a library called "oembetter" that handles whitelisting domains 
and managing lists of endpoints. (Small bug with the websockets and 
repeated attempts, will have to check with Jed on that.) Sooo, I have json 
tiddlers written into the wiki from responses from Youtube, Facebook, 
Instagram, Twitter and Reddit. Once I transclude that into my widget's 
children[] array, the Youtube embed works fine, but TW is scrubbing all 
other  tags into <safe-script> tags (this breaking them as a 
security measure).

I found a post that recommends using this construction:
(via BJ 3 years ago)
```
<iframe sandbox = "allow-same-origin allow-scripts allow-popups
allow-forms" src= """data:text/html;charset=utf-8,<script
src="<a  rel="nofollow" href="http://www.reddit.com/.embed?limit=5"">http://www.reddit.com/.embed?limit=5"</a>;
type="text/javascript">"""/>  
```
And while that works for the script given, it is not working for my html 
transcluded from the json tiddlers. So I am at the point that I am asking 
for help. Any ideas?

Example Instagram Response:
```
https://www.instagram.com/p/CCUu_lHAEgY/?utm_source=ig_embed&utm_campaign=loading";
 
data-instgrm-version="12" style=" background:#FFF; border:0; 
border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 
rgba(0,0,0,0.15); margin: 1px; max-width:658px; min-width:326px; padding:0; 
width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 
2px);"> https://www.instagram.com/p/CCUu_lHAEgY/?utm_source=ig_embed&utm_campaign=loading";
 
style=" background:#FF; line-height:0; padding:0 0; text-align:center; 
text-decoration:none; width:100%;" target="_blank">  https://www.w3.org/2000/svg"; 
xmlns:xlink="https://www.w3.org/1999/xlink";>  View this post on 
Instagram
   https://www.instagram.com/p/CCUu_lHAEgY/?utm_source=ig_embed&utm_campaign=loading";
 
style=" color:#000; font-family:Arial,sans-serif; font-size:14px; 
font-style:normal; font-weight:normal; line-height:17px; 
text-decoration:none; word-wrap:break-word;" target="_blank">#jurus #sepak 
#tiga once again. Part 1 right side. Transitions are much smoother. Did you 
catch the addition? #pencak #kuntao #silat #kilap #dethouars #serak 
#cimande #cikalong #harimau A post 
shared by https://www.instagram.com/jfontany/?utm_source=ig_embed&utm_campaign=loading";
 
style=" color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; 
font-style:normal; font-weight:normal; line-height:17px;" target="_blank"> 
Joshua Fontany (@jfontany) on Jul 6, 2020 at 7:24pm 
PDT   
```

I think my other option will be implementing a $:/ControlPanel tab that 
will allow you to load individual site's embed .js libraries by setting up 
tiddlers for each, and then toggling `$:/tags/RawMarkup ` tags to turn each 
one on or off (wiki reload required)...

I have uploaded the current (beta) plugin here for testing:
https://github.com/joshuafontany/TW5-oembed  

You must run Bob for now to fetch embed code (after downloading embeds, 
they should be able to display in any wiki...once that works). Include the 
oembed plugin and also "tiddlywiki/consent-banner" in the wiki used to 
test, and include this plugin in the "master" bob wiki (if they are 
different). You also need to install or clone the "oembetter" repository as 
described in the plugin ReadMe.

Thanks for any help!

Best,
Joshua Fontany

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/bf43286e-80c4-4f37-89c2-991ce0cbfb93n%40googlegroups.com.


[twdev] Re: Attempting to create a horizontally dense storyview

2020-06-13 Thread Joshua Fontany
Love these recent experiments. I jut dug up an old post that was using 
Flexbox really creatively. Thread: 
https://groups.google.com/forum/#!msg/tiddlywiki/lVRs1qfXEsc/vS_mo36e_vMJ

Site: 
http://solar-flair.tiddlyspot.com/#%24%3A%2F_ra%2Fstyles%2FTwo-column%20story

```
/*
Two-column story.
Not very practical, since there's no separate scrolling
and the order of tiddlers remains linear
(no way to position a tiddler in one column or the other)
*/

.tc-story-river {
  display: flex;
  flex-wrap: wrap;
}

.tc-tiddler-frame
{
max-width: 49%; margin-right: 1%;
display: table;
}

/* Make this into a separate button "Limit height".*/
.tc-tiddler-body
{
max-height: 50vh;
overflow: auto;
}
```

On Saturday, June 13, 2020 at 12:18:48 AM UTC-7, Saq Imtiaz wrote:
>
> @Yestin this might be a good starting point:
>
> https://learnawesome.org/tiddlywiki.html#%24%3A%2Fplugins%2Frmnvsl%2Fkrystal
>
> See also:
>
>- https://twitter.com/Learn_Awesome/status/1265574525342793730
>- https://learnawesome.org/digitalgardensetup
>
>
> On Saturday, June 13, 2020 at 12:30:20 AM UTC+2, Yestin Harrison wrote:
>>
>> Essentially, the motivation behind this little experiment is that I have 
>> a big screen, and I want to use it to see more tiddlers at once. Even in 
>> fixed-sidebar mode, the result is just a bunch of wide tiddlers with 
>> unreadably long lines or excessive horizontal whitespace. So, the natural 
>> thought is, β€œwhat if I could see multiple tiddlers side-by-side?”. Now, I'm 
>> aware that things like TiddlyTouch exist, but that's far too much surface 
>> area and control to think about. Really, all I need is to fit my tiddlers 
>> into multiple columns, and turn the purely top-to-bottom order into a 
>> left-right-down-left-right-down sort of order.
>>
>>
>> I found this article:  
>> which describes how to achieve such layouts with flexbox. Column flex, row 
>> order, with clear correspondence to DOM order. The one caveat is that 
>> parent height must be just over the height of the tallest would-be column 
>> for things to wrap correctly.
>>
>> So, I set about creating a stylesheet for two columns:
>>
>>
>> <$list filter="[[$:/view]get[text]match[flex]]">
>> .tc-story-river {
>> display: flex;
>> flex-flow: column wrap;
>> align-content: space-between;
>> height: 2400px;
>> width: 1000px;
>> }
>> .tc-tiddler-frame {
>> width: calc(50% - 11.5px);
>> box-sizing: border-box;
>> }
>> /* skip over story-backdrop */
>> .tc-tiddler-frame:nth-child(2n+1) {
>> order: 1;
>> }
>> .tc-tiddler-frame:nth-child(2n+2) {
>> order: 2;
>> }
>> .tc-tiddler-frame::before,
>> .tc-tiddler-frame::after {
>> content: "";
>> flex-basis: 100%;
>> width: 0;
>> order: 2;
>> }
>> 
>>
>>
>> The conditional is that I have the storyview "flex" enabled, which is 
>> just "classic" modified to call the following function on the story list 
>> widget during prototype.remove and prototype.insert:
>>
>> let settle_heights = (list) => {
>> let lefts = 0.0, rights = 0.0;
>> for (let i = 0, h; i <= list.children.length; i++) {
>> h = list.parentDomNode.children[i].getBoundingClientRect().height;
>> if (i % 2 === 0)
>> lefts += h;
>> else
>> rights += h;
>> }
>> $tw.utils.setStyle(list.parentDomNode, [
>> {"height": `${Math.ceil(Math.max(lefts, rights)) + 40}px`}
>> ]);
>> };
>>
>> The problem is that these are nowhere near the only places I need to call 
>> this, as tiddlers can change height for any number of reasons (most obvious 
>> example being tabbing through the control panel), so if I do anything other 
>> than open and close tiddlers, including load the page without doing so, the 
>> layout breaks, either overflowing with flex or shoving everything in one 
>> column as it's the initial.
>>
>> So, is there anywhere I could hook settle_heights in order to get it to 
>> work?
>>
>>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/d606b4b4-d335-4839-8b9a-e830d62b164ao%40googlegroups.com.


[twdev] Re: Plugin use complication under node

2020-06-02 Thread Joshua Fontany
I don't think that's accurate. I think is should say:

"will result in the plugin only being active *for the wiki loaded* in the 
browser, and not available under Node.js *to other wikis*."

At least, that is my understanding of how things work.

Best,
Joshua F

On Tuesday, June 2, 2020 at 5:53:29 PM UTC-7, TonyM wrote:
>
> Folks
>
> As per 
> https://tiddlywiki.com/static/Installing%2520custom%2520plugins%2520on%2520Node.js.html
>
> Note that including a plugin as an ordinary tiddler (e.g. by dragging and 
>> dropping a plugin into the browser) will result in the plugin only being 
>> active in the browser, and not available under Node.js.
>
>
> This seems like an unnecessary complication, It there a possibility of 
> finding a solution, even if it requires an additional step in the browser? 
> it seems to me there is no technical limitation just a need for a special 
> server message or something?
>
>
>- Or is this about Browser security again, limiting the plugins being 
>added to the server?
>- Could it only work on 127.x.x.x addresses ie on the server itself 
>
>
> I believe a lot of users move to Node for serving wikis, and don't want to 
> necessarily get involved with files and commands. Personally I make a lot 
> of use on Node servers for tiddlywiki but have not yet ventured into folder 
> land itself. Bob.exe is a great help as is TiddlyServer.
>
> Even then, when I do consider a move to folder wiki manipulation the 
> documentation is not helpful to the transition from single file knowledge 
> to node, this scattered and jargon filled.
>
> Any thoughts?
>
> I hope this raises a Question that only someone on the journey feels 
> compelled to ask. And when I have passed this mile stone I can remember and 
> share my knowledge for future people on this Journey. Unless some of you do 
> so first.
>
> Regards
> Tony
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/24ba3ad1-b7de-49b3-9374-782218a71249%40googlegroups.com.


Re: [twdev] Re: [Idea] Custom Text-Body Templates (worth a Core Pull Request)?

2020-06-01 Thread Joshua Fontany
Of course. Change the title of the template tiddler to whatever you would
like, and update the filter to match. The test filters & templates are
coming from a specific wiki I am in the middle of adding a lot of data to,
so that is where I am testing.

Best,
Joshua F

On Mon, Jun 1, 2020, 9:22 PM TonyM  wrote:

> Josua,
>
> Thanks I will review this again. I must add I find that naming confusing.
> Could the
> $:/plugins/joshuafontany/silatglossary/ui/ViewTemplate/body/macro]]
> be renamed *$:/config/view-body-filters* or something easier?
>
> I do think this has awesome potential.
>
> Regards
> Tony
>
> On Tuesday, June 2, 2020 at 12:40:17 PM UTC+10, Joshua Fontany wrote:
>>
>> Hi Tony,
>>
>> I apologize, I changed the titles of some of my system tiddlers while
>> refactoring this. I just tested this with the correct Template system
>> tiddler (I changed "core" to "silatglossary"), and it works!
>>
>> `[object-template[internal]then[$:/plugins/joshuafontany/silatglossary
>> /ui/ViewTemplate/body/macro]]`
>>
>> Best,
>> Joshua F
>>
>> On Monday, June 1, 2020 at 6:48:23 PM UTC-7, TonyM wrote:
>>>
>>> Josha,
>>>
>>> Thanks for this. I have added the filter
>>>
>>> [object-template[internal]then[$:/plugins/joshuafontany/core/ui/
>>> ViewTemplate/body/macro]]
>>>
>>> Then tried
>>>
>>> [all[current]object-template[internal]then[$:/plugins/joshuafontany/core
>>> /ui/ViewTemplate/body/macro]]
>>>
>>> I then have a tiddler with the object-type field set to internal
>>>
>>> It does not work, am I missing part of the configuration?
>>>
>>> In Comparison this is working;
>>>
>>> [tag[$:/tags/Macro]then[$:/plugins/joshuafontany/core/ui/ViewTemplate/
>>> body/macro]]
>>>
>>> Thanks in advance
>>> Tony
>>>
>>>
>>> On Tuesday, June 2, 2020 at 6:16:25 AM UTC+10, Joshua Fontany wrote:
>>>>
>>>> Oh wow, this is working really really well.
>>>>
>>>> Here is a JSON with the following tidders to test this. Because I have
>>>> changed the `[subfilter[]]` operator, you would need to save and restart
>>>> the test-wiki.
>>>>
>>>> Test tiddlers (to remove these from your wiki, just copy/paste this
>>>> list into the Filter tab of Advanced Search, the select Delete):
>>>>
>>>> $:/core/modules/filters/subfilter.js
>>>> $:/core/ui/EditTemplate/body
>>>> $:/core/ui/EditTemplate/body
>>>> $:/core/ui/EditTemplate/controls
>>>> $:/core/ui/EditTemplate/fields
>>>> $:/core/ui/EditTemplate/tags
>>>> $:/core/ui/EditTemplate/title
>>>> $:/core/ui/EditTemplate/type
>>>> $:/core/ui/PageTemplate/story
>>>> $:/core/ui/TiddlerInfo/Advanced
>>>> $:/core/ui/TiddlerInfo/Advanced/TemplateInfo
>>>> $:/core/ui/ViewTemplate/body
>>>> $:/core/ui/ViewTemplate/plugin
>>>> $:/core/ui/ViewTemplate/subtitle
>>>> $:/core/ui/ViewTemplate/tags
>>>> $:/core/ui/ViewTemplate/title
>>>> $:/themes/tiddlywiki/vanilla/base
>>>> $:/plugins/joshuafontany/silatglossary/config/ui/ViewTemplate/body/macro
>>>> $:/plugins/joshuafontany/silatglossary/config/ui/ViewTemplate/title
>>>> $:/plugins/joshuafontany/silatglossary/config/ui/ViewTemplate/subtitle
>>>> $:/plugins/joshuafontany/silatglossary/ui/ViewTemplate/body/macro
>>>> $:/plugins/joshuafontany/silatglossary/ui/ViewTemplate/title/named
>>>> $:/plugins/joshuafontany/silatglossary/ui/ViewTemplate/subtitle/named
>>>>
>>>> --
> You received this message because you are subscribed to a topic in the
> Google Groups "TiddlyWikiDev" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/tiddlywikidev/1OeWQD-HccU/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> tiddlywikidev+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/tiddlywikidev/e50428d9-b4b5-4bc6-9c0c-b203619e2f28%40googlegroups.com
> <https://groups.google.com/d/msgid/tiddlywikidev/e50428d9-b4b5-4bc6-9c0c-b203619e2f28%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/CAM1fME5C7ZswThuYHcEMrYB8BEpOLzogDopN1sZzD9P2aMywDg%40mail.gmail.com.


Re: [twdev] Re: [Idea] Custom Text-Body Templates (worth a Core Pull Request)?

2020-06-01 Thread Joshua Fontany
Hi Tony,

I apologize, I changed the titles of some of my system tiddlers while 
refactoring this. I just tested this with the correct Template system 
tiddler (I changed "core" to "silatglossary"), and it works!

`[object-template[internal]then[$:/plugins/joshuafontany/silatglossary
/ui/ViewTemplate/body/macro]]`

Best,
Joshua F

On Monday, June 1, 2020 at 6:48:23 PM UTC-7, TonyM wrote:
>
> Josha,
>
> Thanks for this. I have added the filter 
>
> [object-template[internal]then[$:/plugins/joshuafontany/core/ui/
> ViewTemplate/body/macro]]
>
> Then tried
>
> [all[current]object-template[internal]then[$:/plugins/joshuafontany/core/
> ui/ViewTemplate/body/macro]]
>
> I then have a tiddler with the object-type field set to internal
>
> It does not work, am I missing part of the configuration?
>
> In Comparison this is working;
>
> [tag[$:/tags/Macro]then[$:/plugins/joshuafontany/core/ui/ViewTemplate/body
> /macro]]
>
> Thanks in advance
> Tony
>
>
> On Tuesday, June 2, 2020 at 6:16:25 AM UTC+10, Joshua Fontany wrote:
>>
>> Oh wow, this is working really really well.
>>
>> Here is a JSON with the following tidders to test this. Because I have 
>> changed the `[subfilter[]]` operator, you would need to save and restart 
>> the test-wiki.
>>
>> Test tiddlers (to remove these from your wiki, just copy/paste this list 
>> into the Filter tab of Advanced Search, the select Delete):
>>
>> $:/core/modules/filters/subfilter.js
>> $:/core/ui/EditTemplate/body
>> $:/core/ui/EditTemplate/body
>> $:/core/ui/EditTemplate/controls
>> $:/core/ui/EditTemplate/fields
>> $:/core/ui/EditTemplate/tags
>> $:/core/ui/EditTemplate/title
>> $:/core/ui/EditTemplate/type
>> $:/core/ui/PageTemplate/story
>> $:/core/ui/TiddlerInfo/Advanced
>> $:/core/ui/TiddlerInfo/Advanced/TemplateInfo
>> $:/core/ui/ViewTemplate/body
>> $:/core/ui/ViewTemplate/plugin
>> $:/core/ui/ViewTemplate/subtitle
>> $:/core/ui/ViewTemplate/tags
>> $:/core/ui/ViewTemplate/title
>> $:/themes/tiddlywiki/vanilla/base
>> $:/plugins/joshuafontany/silatglossary/config/ui/ViewTemplate/body/macro
>> $:/plugins/joshuafontany/silatglossary/config/ui/ViewTemplate/title
>> $:/plugins/joshuafontany/silatglossary/config/ui/ViewTemplate/subtitle
>> $:/plugins/joshuafontany/silatglossary/ui/ViewTemplate/body/macro
>> $:/plugins/joshuafontany/silatglossary/ui/ViewTemplate/title/named
>> $:/plugins/joshuafontany/silatglossary/ui/ViewTemplate/subtitle/named
>>
>>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/0b9a260a-4670-4bf4-b25e-a900147bb2d6%40googlegroups.com.


Re: [twdev] Re: [Idea] Custom Text-Body Templates (worth a Core Pull Request)?

2020-05-30 Thread Joshua Fontany
@pmario, yeah, lol. No wikify widgets in commonly used rendering code!

Actually it was fairly easy to modify the subfilter widget to do all of the
logic "behind the scenes" to collect the filter runs. Its working really
really well so far. Debugging when things go wrong (all titles
disappeared,  etc) is a bit wierd, so I added a tag pill of the tid driving
the sections-list to the "debug view". You can literally just turn on
Debug, drag the tagpill's list items around and see your custom templates
reorder themselves in real time. Its neat!

Unfortunately this ads like 5 tag pills with long titles to the
ViewTemplate... on every open tiddler. This is Not Good, (lol)... so I am
cleaning up the hooks.

I will move all of that to the Advanced Tab of the Tiddler Info panel, and
maybe have a way to visualize/click-to-edit/debug sections of individual
open tiddlers.

May have something worth testing later :).

Best,
Joshua F

On Sat, May 30, 2020, 2:26 AM TonyM  wrote:

> Joshua
>
> You are wise to be careful but complexity also supports flexibility. Of
> course with maturity of a concept we aim for simplicity and flexibility.
>
> What you have identified the flexibility we want. Now the trick is
> simplicity.
>
> I'm following with "baited breath"
>
> tony
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "TiddlyWikiDev" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/tiddlywikidev/1OeWQD-HccU/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> tiddlywikidev+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/tiddlywikidev/426063a3-7903-474e-b798-fbca0ea23b6e%40googlegroups.com
> .
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/CAM1fME5ogUq7XAiNNMVNmvRTtEpxvObuTQobPE%2BfOkJrp_gwXg%40mail.gmail.com.


[twdev] Re: [Idea] Custom Text-Body Templates (worth a Core Pull Request)?

2020-05-29 Thread Joshua Fontany
I appreciate the wariness at adding more complexity, this has turned out to 
be pretty complex already... 

I took a stab at this, and collecting a set of filter runs from multiple 
tiddlers based on a tag and then getting them all to behave for the 
`subfilter` operator is very brittle (breaks easily).

My mod allows you to conditionally over-write the basic contents of certain 
templates - and that was not possible without completely overwriting the 
whole template shadow tiddler previously. I think I can extend the 
`subfilter[]` operator to accept a suffix, like 
`subfilter:tag[$:/config/ui/ViewTemplate/body]` to run through it "behind 
the scenes."

This keeps the wiki-text changes to the core ViewTemplate/EditTempalate 
tiddlers minimal, instead of adding more nested $wikify widgets or 
whatever. I think this is worth it because it leverages an existing concept 
in the user's mind, that "tag order controls tiddler-template-section 
rendering order".

I am sketching out a design for an RPG Campaign manager, and I really want 
it to be able to support both "localization", and the display of multiple 
game-system's "character sheets" for a single "Character tiddler". This is 
a complex problem, but I think we're approaching a good solution. I would 
want it to be flexible enough that if a user starts with one ruleset 
installed, they can install other ruleset/UI packages and also customize 
their wiki's own tiddler-UI, and not worry about manually resolving clashes.

Lets see what I can do with the `subfilter[]` operator. :D

Best,
Joshua F


On Thursday, May 28, 2020 at 11:12:45 AM UTC-7, Saq Imtiaz wrote:
>
> Two quick thoughts:
> - I fear adding anymore complexity to the template logic is going to 
> result in this being deemed plugin territory and not suitable for the core. 
> I might be wrong, but past experience makes me cautious. Right now I see 
> the pull request as adding a few hooks for more extensibility that is 
> hopefully backwards compatible, rather than introducing a new core 
> mechanism which adds complexity and probably breaks backwards compatiblity.
> - A user that wanted to could still introduce tag based logic in their 
> config tiddlers.
>
> I haven't had the chance to think about it this in a lot of detail so I 
> may be missing something, hence the request for a concrete example.
>
> On Thursday, May 28, 2020 at 7:37:33 PM UTC+2, Joshua Fontany wrote:
>>
>> I think Tony has identified the one small "weakness" in the overall 
>> design, that it is run from a single config tiddler, and if it is adopted 
>> in the core and widely used, there may be "clashes" where plugins both have 
>> the config tiddler defined. The question of adding or ordering template 
>> "chunk" filters to the config tiddler isn't as big of an issue, as each 
>> filter run can be manipulated with the list-ops filter operators to reorder 
>> (if people want a UI for that its possible).
>>
>> Would it be a better idea to collect the template filters via a tag? We 
>> could extend the "parent" tag, so for `$:/tags/ViewTemplate`, we could have 
>> all body-section filter-tiddlers tagged `$:/tags/ViewTemplate/config/body`. 
>> Then we would have to collect all of the filters into a variable before 
>> passing it to the `subfilter` operator.
>>
>> This would allow a using the more familiar tag-based ordering if multiple 
>> config tiddlers are defined and users would not have to re-order filters 
>> _within_ a config tiddler to change things at the 'section' level.
>>
>> Best,
>>
>> Joshua Fontany
>>
>> On Thursday, May 28, 2020 at 10:23:23 AM UTC-7, Saq Imtiaz wrote:
>>>
>>> @Tony can you please post a precise example - with code or even pseudo 
>>> code - of something you would wish to achieve, that you think is not 
>>> possible with the given pull request?
>>>
>>> Regards,
>>> Saq
>>>
>>> On Thursday, May 28, 2020 at 9:17:19 AM UTC+2, TonyM wrote:
>>>>
>>>> Joshua,
>>>>
>>>> This seems like a great addition. But perhaps I can clarify this from a 
>>>> regular users perspective? I also follow it with a Question.
>>>> Please tell me if I understand and my description is appropriate.
>>>>
>>>> *Description*
>>>> Alternative Templates for View and Edit template sections.
>>>>
>>>> The Config tiddlers such as Tiddlers $:/config/ui/ViewTemplate/body 
>>>> and $:/config/ui/EditTemplate/body (more below) 
>>>> Can contain zero or more additional filters of the form;

[twdev] Re: [Idea] Custom Text-Body Templates (worth a Core Pull Request)?

2020-05-28 Thread Joshua Fontany
I think Tony has identified the one small "weakness" in the overall design, 
that it is run from a single config tiddler, and if it is adopted in the 
core and widely used, there may be "clashes" where plugins both have the 
config tiddler defined. The question of adding or ordering template "chunk" 
filters to the config tiddler isn't as big of an issue, as each filter run 
can be manipulated with the list-ops filter operators to reorder (if people 
want a UI for that its possible).

Would it be a better idea to collect the template filters via a tag? We 
could extend the "parent" tag, so for `$:/tags/ViewTemplate`, we could have 
all body-section filter-tiddlers tagged `$:/tags/ViewTemlate/config/body`. 
Then we would have to collect all of the filters into a variable before 
passing it to the `subfilter` operator.

This would allow a using the more familiar tag-based ordering if multiple 
config tiddlers are defined and users would not have to re-order filters 
_within_ a config tiddler to change things at the 'section' level.

Best,

Joshua Fontany

On Thursday, May 28, 2020 at 10:23:23 AM UTC-7, Saq Imtiaz wrote:
>
> @Tony can you please post a precise example - with code or even pseudo 
> code - of something you would wish to achieve, that you think is not 
> possible with the given pull request?
>
> Regards,
> Saq
>
> On Thursday, May 28, 2020 at 9:17:19 AM UTC+2, TonyM wrote:
>>
>> Joshua,
>>
>> This seems like a great addition. But perhaps I can clarify this from a 
>> regular users perspective? I also follow it with a Question.
>> Please tell me if I understand and my description is appropriate.
>>
>> *Description*
>> Alternative Templates for View and Edit template sections.
>>
>> The Config tiddlers such as Tiddlers $:/config/ui/ViewTemplate/body 
>> and $:/config/ui/EditTemplate/body (more below) 
>> Can contain zero or more additional filters of the form;
>>
>> [condition[then[templatename]]
>>
>>
>> Eg
>> [tag[Glossary]then[templatename]]
>>
>> If one or more conditions generate a template name that template (those 
>> templates?) will be uses to display that "section" of the view Template. If 
>> not the default  $:/core/ui/ViewTemplate/body will be used.
>>
>>- For example filters in $:/config/ui/ViewTemplate/body will 
>>determine an alternate template to use for the View Template Body
>>- It make sense then that the templatename used should be similar to 
>>the section it replaces eg $:/owner/glossary/ViewTemplate/body
>>- Perhaps the most common change will be that of the display of the 
>>body in tiddlers, with additional elements being added to tiddlers with 
>> the 
>>current tags.
>>
>> Standard View and Edit Template sections (for the record)
>>
>>1. $:/core/ui/EditTemplate/body 
>><https://tiddlywiki.com/#%24%3A%2Fcore%2Fui%2FEditTemplate%2Fbody>
>>2. $:/core/ui/EditTemplate/controls 
>><https://tiddlywiki.com/#%24%3A%2Fcore%2Fui%2FEditTemplate%2Fcontrols>
>>3. $:/core/ui/EditTemplate/fields 
>><https://tiddlywiki.com/#%24%3A%2Fcore%2Fui%2FEditTemplate%2Ffields>
>>4. $:/core/ui/EditTemplate/tags 
>><https://tiddlywiki.com/#%24%3A%2Fcore%2Fui%2FEditTemplate%2Ftags>
>>5. $:/core/ui/EditTemplate/title 
>><https://tiddlywiki.com/#%24%3A%2Fcore%2Fui%2FEditTemplate%2Ftitle>
>>6. $:/core/ui/EditTemplate/type 
>><https://tiddlywiki.com/#%24%3A%2Fcore%2Fui%2FEditTemplate%2Ftype>
>>7. $:/core/ui/PageTemplate/story 
>><https://tiddlywiki.com/#%24%3A%2Fcore%2Fui%2FPageTemplate%2Fstory>
>>8. $:/core/ui/ViewTemplate/body 
>><https://tiddlywiki.com/#%24%3A%2Fcore%2Fui%2FViewTemplate%2Fbody>
>>9. $:/core/ui/ViewTemplate/plugin 
>><https://tiddlywiki.com/#%24%3A%2Fcore%2Fui%2FViewTemplate%2Fplugin>
>>10. $:/core/ui/ViewTemplate/subtitle 
>><https://tiddlywiki.com/#%24%3A%2Fcore%2Fui%2FViewTemplate%2Fsubtitle>
>>11. $:/core/ui/ViewTemplate/tags 
>><https://tiddlywiki.com/#%24%3A%2Fcore%2Fui%2FViewTemplate%2Ftags>
>>12. $:/core/ui/ViewTemplate/title 
>><https://tiddlywiki.com/#%24%3A%2Fcore%2Fui%2FViewTemplate%2Ftitle>
>>
>>
>>
>>
>> New conditional template filters (for the record)
>>
>>
>>1. $:/config/ui/ViewTemplate/title 
>><https://tiddlywiki.com/#%24%3A%2Fconfig%2Fui%2FViewTemplate%2Ftitle>
>>2. $:/config/ui/ViewTemplate/subtitle 
>><https://tiddlywiki.com/#%24%3A%2Fconfig%

[twdev] Re: Multiple TiddlyWiki instance on Node.js

2020-05-27 Thread Joshua Fontany
https://github.com/OokTech/TW5-Bob

This makes one wiki the "central Bob (it gives you slack)", from which you 
can manage/create other wikis.

Best,
Joshua F

On Wednesday, May 27, 2020 at 9:10:59 PM UTC-7, Eucaly J wrote:
>
> As I know, in order to run multiple TiddlyWiki instance on Node.js,
> need fire up *many node.js http servers on different ports.*
>
> Is this still true? 
> If yes, would there be a solution or roadmap to change this?
>
>
>
> This topic could be traced back as my previous ideas of 
> *central control for Node.js consoles*
> => https://groups.google.com/d/msg/tiddlywikidev/cDtom6qbJa0/yC3khwGnGecJ
>
> p.s. Sorry for not following the development of TiddlyWiki for years.
>
>
>
>
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/76abf3ee-f162-45dc-8c0f-a2a757d5636e%40googlegroups.com.


[twdev] Re: [Idea] Custom Text-Body Templates (worth a Core Pull Request)?

2020-05-26 Thread Joshua Fontany
Hi everyone,

Let me explain the method I am using to do these custom templates. I am not 
changing the existing $:/tags/ViewTemplate or $:/tags/EditTemplate 
architecture at all. The $list widget that builds each tiddler in the 
story-river still does exactly that. What I have done is gone into key 
system tiddlers with those  tags and found the "bare minimum" code used to 
render the content, moved that to a macro, such as `\define 
tiddler-body-default()`. Then, in that place in the system-tiddler, I put 
(cutting out the debug and "missing tiddler" fail-safe code):
<$list variable="sectionTemplate" 
filter="[all[current]subfilter{$:/config/ui/ViewTemplate/body}]" 
emptyMessage=<> >

<$transclude tiddler=<> >
<$/list>


This checks the $:/config/ui tiddler specified for a series of filters, and 
uses those titles as sections. BY DEFAULT this will return empty and place 
the original code back using the `emptyMessage` parameter. Because the list 
hosting these `sectionTemplates` exist in the tiddler defining the 
<> definition, I can use that macro anywhere in my 
own templates to render the default __whatever__, be that into a tab, a 
$reveal widget, a new <$div> with a specific class or id value that is a 
filtered translcusion (triple braces), etc. So I can insert or hide/show 
the default chunk of code within my own templates. So my glossary template 
tiddler is as simple as:

<>

<>

The <> code is defined within the 
$:/tags/ViewTemplate "body" tiddler, and the <> code is 
defined in a global macro tiddler ($:/tags/Macro) because I re-use it in 
other templates.

Because we are using the `subfilter{configTiddler}` operator, each filter 
run in that config tiddler gets fed the <> value. Then, the 
output is collected and returned as a title-list. This is used to render 
the new UI for that section. The use of filters allows __whatever__ custom 
triggers, conditionals, etc, you can conceive by using the current filter 
operators. I am currently using the existence of a tag for both the 
Glossary and $:/tags/Macro custom bodies. I will be building UI for my 
Youtube, Vimeo, etc bookmarks to transclude their player-embed code by 
grabbing the right parts from their link URL, and drive that on 
[tag[Bookmark]regexp:url], or 
[tag[Bookmark]regexp:url], or whatever.

I realize now that one of the things that sparked this idea was listening 
to Jeremy on one of the tiddly-hangout videos talk about how robust the 
filter operator "language" has become now, and that many things in the core 
that were done in other ways could be revisited using Filters as the 
primary syntax. This plus seeing some of the really cool stuff being 
developed recently, and getting a better sense of how TW renders things 
"under the hood". Thanks for trying this out, and for all the feedback so 
far!

Best,

Joshua Fontany


On Tuesday, May 26, 2020 at 5:33:19 PM UTC-7, TonyM wrote:
>
> Mario,
>
> As you say the view template sets all the elements tagged 
> with $:/tags/ViewTemplate from title to subtitle, buttons etc...
>
> There are cases when we want to alter one of these only, such as the body, 
> there are other times we want to add or remove one or more items, often 
> conditionally/programmatically.
>
> When altering only the body we do not want the standard body to display so 
> we want to replace it, on other occasions we may want to add something but 
> hide-body conditionally/programaticaly.
>
> I think we need a little more flexibility here. 
>
>
>- Another view template case is in a tabs internal navigation as an 
>example, we may want to hide only the subtitle and control buttons to view 
>tiddlers within tiddlers.
>- Also I see value in displaying alternate story's inside other 
>tiddlers (with alternate viewtemplates), then choosing to make it the 
>current story, eg a project story.
>- It seems to me we may need to enhance the way view and Edit 
>templates are nominated, via both field or variable in addition to tags.
>- Perhaps we could use different templates for read-only view update 
>and edit with a global or local tiddler override settings. I code this 
>myself but core support would be smart and very few bytes would be needed. 
>It would simply provide a mechanism.
>
> Regards
> Tony
>
>
>
> On Tuesday, May 26, 2020 at 7:12:28 PM UTC+10, PMario wrote:
>>
>> Hi, 
>>
>> That's an interesting approach. ... I did a very short 2 minute test. ... 
>> So I'm not really sure how everything works. 
>>
>> --- Just some thoughts
>>
>> At the moment the TW ViewTemplate and EditTamplates are "stackable" and 
>> changeable, without modi

[twdev] Re: [Idea] Custom Text-Body Templates (worth a Core Pull Request)?

2020-05-25 Thread Joshua Fontany
Here is a json of all the tiddlers necessary to test this out, both the 
changed sysetem tiddlers, and the custom templates and settings tiddlers I 
have been using to test this new system. If you drag everything into a 
fresh wiki, and then open the "Adat 1" tiddler, you should see that the 
Fields section is now in a toggle-able hidden $reveal widget, there is a 
toggle link/$button floating to the right of the Type field, and the BODY 
has two TABS - one with the normal Edit Text stuff, the other with my 
custom Languages fields for the glossary I am building.

Best,
Joshua F

On Monday, May 25, 2020 at 3:02:36 AM UTC-7, Saq Imtiaz wrote:
>
> I have some tiddlers that use UUIDs that are not human-readable and have a 
> readable name in another field. So this is the exact use case for which I 
> wanted this extended beyond just the body field. Similarly I also have a 
> custom tags implementation in the view template
>
> Not to mention another wiki in which I completely replace the tiddler UI 
> for certain tiddlers.
>
> I will adopt this whether the pull request gets merged or not, thanks 
> Joshua.
>
>
> On Monday, May 25, 2020 at 9:56:37 AM UTC+2, Joshua Fontany wrote:
>>
>> Oh, wow. This is incredibly powerful.
>>
>> PR is up. I have attached a *.json bundle with the tiddlers I am using to 
>> test the rendering. 
>> The Title and Subtitle overrides have a `name` field, like a plugin, and 
>> this triggers a custom view template for each that pushes the title into 
>> the subtitle, and renders the Name in the title. Both obey the 
>> Titles-a-Links setting in $:/Config > Settings.
>>
>> I have also attached a *.json bundle with just the changed 
>> shadow-tiddlers, so you could actually try this out on tiddlywiki.com by 
>> dragging both to a tab with it loaded.
>>
>> https://github.com/Jermolene/TiddlyWiki5/pull/4681
>>
>> Best,
>> Joshua Fontany
>>
>> On Sunday, May 24, 2020 at 4:06:40 PM UTC-7, Joshua Fontany wrote:
>>>
>>> Yes, I think we can use this modification in all of the tiddler 
>>> ViewTemplate/EditTemplate sections.
>>>
>>> I like the idea of using it for $:/config/ui/ViewTemplate itself 
>>> hmm, some way to debug things would be good, because this opens things up 
>>> to a lot of possible ways to mess thing up. Maybe a new tab or section in 
>>> $:/Config to toggle transcluding the template tidders VS just outputing 
>>> their name as a link (so you can "jump to the code" if it is not rendering 
>>> correctly by toggling the Debug switch and clicking a template title).
>>>
>>> Thanks Saq, I'll put together a set of change as a PR, so we can have 
>>> some testable code and references to clean the idea up a bit.
>>>
>>> Best,
>>> Joshua F
>>>
>>> On Sunday, May 24, 2020 at 1:42:15 PM UTC-7, Saq Imtiaz wrote:
>>>>
>>>> I'm still a bit under the weather so not thinking with the clearest 
>>>> head here but a few thoughts:
>>>>
>>>>- I like the use of subfilter, that is the problem with the current 
>>>>way $:/config/ui/ViewTemplate is used, it is a direct assignment as a 
>>>> text 
>>>>reference
>>>>- I would want similiar extensibility for other parts of the 
>>>>templates and not just the body. 
>>>>- Could we tweak how we use $:/config/ui/ViewTemplate in 
>>>>$:/core/ui/PageTemplate/story to also allow subfilters, allowing us to 
>>>> use 
>>>>filters in that tiddler?  template={{{ 
>>>>[subfilter{$:/config/ui/ViewTemplate}] }}}
>>>>
>>>> Hope some or any of that is helpful!
>>>> Saq
>>>>
>>>> On Sunday, May 24, 2020 at 9:34:06 PM UTC+2, Joshua Fontany wrote:
>>>>>
>>>>> So I have decided to edit a core system tiddler (gasp) for my current 
>>>>> 2 projects. One is a Martial Arts Wiki, with a glossary of over 500 
>>>>> Indonesian, Malay, Sundanese, Filipino, Javanese, Hawaiian, and Chinese 
>>>>> terms with special martial-arts context-specific meanings, and a ton of 
>>>>> Bookmarks (YouTube, etc). The other project is the every-growing UnNamed 
>>>>> RPG Campaign Manager, and one of the biggest roadblocks there was "custom 
>>>>> character/ship/etc sheets".
>>>>>
>>>>> I think I have a solution for this one. Will it be PR worthy? Let's 
>>>>> find out. The ability to hi

[twdev] Re: Getting a value from one of the current tiddler's fields from within a JavaScript macro module

2020-05-24 Thread Joshua Fontany
Also, once you return a tiddler, you can access all of its fields through 
its `fields` property, like so:

let tiddler = this.wiki.getTiddler(*title*);*let *tiddlerText = 
tiddler.fields.text; //OR tiddler.fields["text"]


The commented method allows you to get odd field names or to pass a 
fieldname by reference/variable.

Best,
Joshua F

On Sunday, May 24, 2020 at 4:51:55 PM UTC-7, Joshua Fontany wrote:
>
> If we look at the Button Widget code (among others) we can get 
> tiddler-field data as a string thusly:
>
> this.wiki.getTiddler(this.setTitle).getFieldString(this.setField)
>
> If you don't know if the tiddler exits, there is a this.wikitiddlerExist() 
> method to call, for example from the Link Widget:
>
> this.isMissing = !this.wiki.tiddlerExists(this.to);
>
>
> Best,
> Joshua F
>
>
> On Sunday, May 24, 2020 at 4:16:13 PM UTC-7, Kalcifer Kandari wrote:
>>
>> I mean, the title explains it. Been looking through the source code 
>> trying to find the answer.
>>
>> The macro I want to create is incredibly simple:
>>
>>- Get the tags of the current tiddler.
>>- If one starts with 'feed--', return it.
>>
>> I thought it would be as simple as something like: 
>> this.getTiddler("currentTiddler").field("tags"). Not quite so easy. I 
>> got as far as discovering this.getVariable("currentTiddler"), not sure 
>> what I can do with the just title though.
>>
>> Kalcifer
>>
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/678f7776-f856-4e5b-86df-260a4d02da09%40googlegroups.com.


[twdev] Re: Getting a value from one of the current tiddler's fields from within a JavaScript macro module

2020-05-24 Thread Joshua Fontany
If we look at the Button Widget code (among others) we can get 
tiddler-field data as a string thusly:

this.wiki.getTiddler(this.setTitle).getFieldString(this.setField)

If you don't know if the tiddler exits, there is a this.wikitiddlerExist() 
method to call, for example from the Link Widget:

this.isMissing = !this.wiki.tiddlerExists(this.to);


Best,
Joshua F


On Sunday, May 24, 2020 at 4:16:13 PM UTC-7, Kalcifer Kandari wrote:
>
> I mean, the title explains it. Been looking through the source code trying 
> to find the answer.
>
> The macro I want to create is incredibly simple:
>
>- Get the tags of the current tiddler.
>- If one starts with 'feed--', return it.
>
> I thought it would be as simple as something like: 
> this.getTiddler("currentTiddler").field("tags"). Not quite so easy. I got 
> as far as discovering this.getVariable("currentTiddler"), not sure what I 
> can do with the just title though.
>
> Kalcifer
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/57f445f6-2bc4-4c52-abf4-329058e75054%40googlegroups.com.


[twdev] Re: [Idea] Custom Text-Body Templates (worth a Core Pull Request)?

2020-05-24 Thread Joshua Fontany
Yes, I think we can use this modification in all of the tiddler 
ViewTemplate/EditTemplate sections.

I like the idea of using it for $:/config/ui/ViewTemplate itself hmm, 
some way to debug things would be good, because this opens things up to a 
lot of possible ways to mess thing up. Maybe a new tab or section in 
$:/Config to toggle transcluding the template tidders VS just outputing 
their name as a link (so you can "jump to the code" if it is not rendering 
correctly by toggling the Debug switch and clicking a template title).

Thanks Saq, I'll put together a set of change as a PR, so we can have some 
testable code and references to clean the idea up a bit.

Best,
Joshua F

On Sunday, May 24, 2020 at 1:42:15 PM UTC-7, Saq Imtiaz wrote:
>
> I'm still a bit under the weather so not thinking with the clearest head 
> here but a few thoughts:
>
>- I like the use of subfilter, that is the problem with the current 
>way $:/config/ui/ViewTemplate is used, it is a direct assignment as a text 
>reference
>- I would want similiar extensibility for other parts of the templates 
>and not just the body. 
>- Could we tweak how we use $:/config/ui/ViewTemplate in 
>$:/core/ui/PageTemplate/story to also allow subfilters, allowing us to use 
>filters in that tiddler?  template={{{ 
>[subfilter{$:/config/ui/ViewTemplate}] }}}
>
> Hope some or any of that is helpful!
> Saq
>
> On Sunday, May 24, 2020 at 9:34:06 PM UTC+2, Joshua Fontany wrote:
>>
>> So I have decided to edit a core system tiddler (gasp) for my current 2 
>> projects. One is a Martial Arts Wiki, with a glossary of over 500 
>> Indonesian, Malay, Sundanese, Filipino, Javanese, Hawaiian, and Chinese 
>> terms with special martial-arts context-specific meanings, and a ton of 
>> Bookmarks (YouTube, etc). The other project is the every-growing UnNamed 
>> RPG Campaign Manager, and one of the biggest roadblocks there was "custom 
>> character/ship/etc sheets".
>>
>> I think I have a solution for this one. Will it be PR worthy? Let's find 
>> out. The ability to hide/replace the default text field is a bit cumbersome 
>> atm. You can hide the text-body by setting the `hide-body` field to "yes". 
>> And we can add new "sections" with `$/tags/ViewTemplate`, but unless we dig 
>> around and copy the $reveal code from another template section that will 
>> not be consistent with the Collapse state Yeah. Complicated.
>>
>> If I change the `$:/core/ui/ViewTemplate/body` tiddler slightly, we can 
>> move the "tiddler-body-default" wikitext to a macro in the same tiddler:
>> ```
>> \define tiddler-body-default()
>> <$list filter="[all[current]!has[plugin-type]!field:hide-body[yes]]">
>>
>>
>> <$transclude>
>>
>>
>> <$transclude tiddler="$:/language/MissingTiddler/Hint"/>
>>
>>
>> 
>>
>>
>> 
>> \end
>>
>> ```
>> And re-write the body of the tiddler like so:
>> ```
>> <$reveal tag="div" class="tc-tiddler-body" type="nomatch" stateTitle=<
>> > text="hide" retain="yes" animate="yes">
>>
>>
>> <$list variable="bodyTemplate" 
>> filter="[all[current]subfilter{$:/config/ViewTemplate/Body}]" emptyMessage=<
>> > >
>>
>>
>> <$transclude tiddler=<> >
>>
>>
>> <$tiddler tiddler=<> >
>>
>>
>> <$transclude tiddler="$:/language/MissingTiddler/Hint"/>
>>
>>
>> 
>>
>>
>> 
>>
>>
>> 
>>
>>
>> 
>>
>> ```
>> Then we can use an array of filters to check for tags, type, or any other 
>> way you want to trigger a custom view template, and you can have more than 
>> one resulting bodyTemplate titles output and it's all nested in the correct 
>> $reveal widget, etc. Even better, you can use the `<> 
>> macro ANYWHERE in your own templates to get the default text-field to show 
>> up in that spot. Here is my current `$:/config/ViewTemplate/Body`:
>> ```
>> [tag[$:/tags/Macro]then[$:/plugins/joshuafontany/core/ui/ViewTemplate/
>> body/macro]]
>> [tag[Glossary]then[$:/plugins/joshuafontany/silatglossary/ui/ViewTemplate
>> /body]]
>> [match[Test]then[$/plugins/joshuafontany/core/ui/ViewTemplate/body/TEST]]
>>
>> ```
>> Which as you can see, uses the 
>> `$:/plugins/joshuafontany/core/ui/ViewTemplate/body/macro` tiddler as the 
>> body-templa

[twdev] [Idea] Custom Text-Body Templates (worth a Core Pull Request)?

2020-05-24 Thread Joshua Fontany
So I have decided to edit a core system tiddler (gasp) for my current 2 
projects. One is a Martial Arts Wiki, with a glossary of over 500 
Indonesian, Malay, Sundanese, Filipino, Javanese, Hawaiian, and Chinese 
terms with special martial-arts context-specific meanings, and a ton of 
Bookmarks (YouTube, etc). The other project is the every-growing UnNamed 
RPG Campaign Manager, and one of the biggest roadblocks there was "custom 
character/ship/etc sheets".

I think I have a solution for this one. Will it be PR worthy? Let's find 
out. The ability to hide/replace the default text field is a bit cumbersome 
atm. You can hide the text-body by setting the `hide-body` field to "yes". 
And we can add new "sections" with `$/tags/ViewTemplate`, but unless we dig 
around and copy the $reveal code from another template section that will 
not be consistent with the Collapse state Yeah. Complicated.

If I change the `$:/core/ui/ViewTemplate/body` tiddler slightly, we can 
move the "tiddler-body-default" wikitext to a macro in the same tiddler:
```
\define tiddler-body-default()
<$list filter="[all[current]!has[plugin-type]!field:hide-body[yes]]">


<$transclude>


<$transclude tiddler="$:/language/MissingTiddler/Hint"/>






\end

```
And re-write the body of the tiddler like so:
```
<$reveal tag="div" class="tc-tiddler-body" type="nomatch" stateTitle=<
> text="hide" retain="yes" animate="yes">


<$list variable="bodyTemplate" 
filter="[all[current]subfilter{$:/config/ViewTemplate/Body}]" emptyMessage=<
> >


<$transclude tiddler=<> >


<$tiddler tiddler=<> >


<$transclude tiddler="$:/language/MissingTiddler/Hint"/>













```
Then we can use an array of filters to check for tags, type, or any other 
way you want to trigger a custom view template, and you can have more then 
one resulting templateTitle output and it's all nested in the correct 
$reveal widget, etc. Even better, you can use the `<> 
macro ANYWHERE in your own templates to get the default text-field to show 
up in that spot. Here is my current `$:/config/ViewTemplate/Body`:
```
[tag[$:/tags/Macro]then[$:/plugins/joshuafontany/core/ui/ViewTemplate/body/
macro]]
[tag[Glossary]then[$:/plugins/joshuafontany/silatglossary/ui/ViewTemplate/
body]]
[match[Test]then[$/plugins/joshuafontany/core/ui/ViewTemplate/body/TEST]]

```
Which as you can see, uses the 
`$:/plugins/joshuafontany/core/ui/ViewTemplate/body/macro` tiddler as the 
body-template for all Global Macro tiddlers. This template looks like:
```
<$view field="text"/>


```

Which is a bit overkill, but is exactly how, internally, the 
`application.javascript` tiddlers are rendered. But this means I no longer 
have to click edit on every Macro tiddler just to re-read it for bug, etc. 
I'm going to expand this technique to render other custom tiddler types for 
other projects.

Oh, yes, final note. The Type field can and will definitely over-ride this 
custom rendering, as that's done internally using the wiki's Parser 
methods. Also, I'm not sure if this is 100% backwards compatible, but the 
only thing I can possibly think of it changing are the Numeric Values 
output by the Qualify Macro (as these depend on how many and which tiddlers 
the current content is being rendered "through").

I think I will expand this to allow for a tabbed interface in the Draft 
Mode UI, with the standard Text Editor in one tab, and other content in 
other tabs. I can also use this to extent the Title field to allow for a 
custom Name (short & human readable, see plugins) that will display full 
size (if present) and which pushes the full Title down to a line of smaller 
text.

Best,

Joshua Fontany

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/14d89d50-420d-49eb-9b59-6f03a0bf96c1%40googlegroups.com.


[twdev] Re: Sharing some experimental bits and bobs

2020-05-23 Thread Joshua Fontany
Ha! Fair warning indeed. Cool, I'll check this out when I get a chance. 

Mahalo,
Joshua Fontany

On Saturday, May 23, 2020 at 1:43:09 AM UTC-7, Saq Imtiaz wrote:
>
> So this one is strictly for those familiar with TW core internals and 
> JavaScript, you have been warned.
>
> I've started posting some of my experimental bits and pieces and doodads 
> in case some of them may be of interest to other developers:
> https://saqimtiaz.github.io/sq-tw/sandbox.html
>
> This in response to a query I received privately that could be addressed 
> by a widget that I wrote a while back.
> I will add more as time allows.
>
> Feel free to use, adapt, exterminate, etc.
>
> None of this is:
> - thoroughly tested
> - optimized
> - documented
> - or has any support available.
>
> Cheers,
> Saq
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/b062cc5f-c609-497d-8e03-6a9f4177e258%40googlegroups.com.


[twdev] Re: Leveraging the draft mechanism for multi-users

2020-05-22 Thread Joshua Fontany
Ha! I just noticed that myself. Gaah, there's really is a lot to get lined 
up jut right to make things work smoothly in a miltu-user environment. I 
edited a wiki yesteredeay for hours before I noticed that I had reset my 
User Name somehow, and then when I added it back I noted the Drafts are 
already setup like that. :D

Best,
Joshua F

On Friday, May 22, 2020 at 4:51:59 AM UTC-7, Jed Carty wrote:
>
> If you have a username set it already saves drafts with the username.
>
> The relevant function in wiki.js is
>
> exports.generateDraftTitle = function(title) {
> var c = 0,
> draftTitle,
> username = this.getTiddlerText("$:/status/UserName"),
> attribution = username ? " by " + username : "";
> do {
> draftTitle = "Draft " + (c ? (c + 1) + " " : "") + "of '" + title + "'" + 
> attribution;
> c++;
> } while(this.tiddlerExists(draftTitle));
> return draftTitle;
> };
>
> so if you have a username set the draft tiddler gets a title in the form 
> 'draft of  by '
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/44410443-220c-40f4-b5a7-7066d769a854%40googlegroups.com.


[twdev] Re: Leveraging the draft mechanism for multi-users

2020-05-21 Thread Joshua Fontany
Not a bad idea, I was also thinking that it would be a good idea to 
separate $:/StoryList and $:/History by user somehow...

Best,
Joshua F

On Thursday, May 21, 2020 at 6:08:21 PM UTC-7, TonyM wrote:
>
> Folks,
>
> I was think what if we modified the draft mechanism to create tiddlers 
> "Draft by* username* of `original tiddlername` then did not delete them! 
>
>- Let Subsequent edits overwrite same draft tiddler for that username
>
>
> It would then be possible to export and import them into a master wiki and 
> review and approve a users proposed changes using a difference comparison.
>
> A Tricky view template may allow the source tiddler to remain unchanged 
> and overlay it with the draft "Draft by* username* of `original 
> tiddlername` as it it had being changed.
>
>- This would permit multiple users to edit the same wiki, and there 
>changes will only me reflected in a set of "draft tiddler", 
>- visible to all but no clashes, 
>- The an editor could evaluate all proposed changes and apply them as 
>desired to original tiddlername.
>
>
> What do you think?
>
>- Is it achievable hack?
>- Or does it make sense to modify the core and provide option's
>   - Option: Include username in draft tiddler titles
>   - Option: Retain last draft.of for edited tiddlers by username if 
>   available.
>   - Option: Display last last draft.of for edited tiddlers by 
>   username, rather than the original tiddler
>
>
> Regards
> Tony
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/800c2f0d-abbb-42a5-aee5-fcda0ea91cf9%40googlegroups.com.


[twdev] Re: Curious about field transclusions with formating

2020-05-19 Thread Joshua Fontany
Hi Tony,

What you are looking for is declared in `boot.js`before the wiki is 
actually started, from line 994:

```
/*
Register and install the built in tiddler field modules
*/
$tw.modules.define("$:/boot/tiddlerfields/modified","tiddlerfield",{
name: "modified",
parse: $tw.utils.parseDate,
stringify: $tw.utils.stringifyDate
});
$tw.modules.define("$:/boot/tiddlerfields/created","tiddlerfield",{
name: "created",
parse: $tw.utils.parseDate,
stringify: $tw.utils.stringifyDate
});
$tw.modules.define("$:/boot/tiddlerfields/color","tiddlerfield",{
name: "color",
editTag: "input",
editType: "color"
});
$tw.modules.define("$:/boot/tiddlerfields/tags","tiddlerfield",{
name: "tags",
parse: $tw.utils.parseStringArray,
stringify: $tw.utils.stringifyList
});
$tw.modules.define("$:/boot/tiddlerfields/list","tiddlerfield",{
name: "list",
parse: $tw.utils.parseStringArray,
stringify: $tw.utils.stringifyList
});
```

I think this is worth exploring, but will have to think on it. You should 
be able to setup a startup module to define other parse/stringify 
definitions.

Best,
Joshua Fontany

On Tuesday, May 19, 2020 at 6:40:43 AM UTC-7, TonyM wrote:
>
> Folks,
>
> You may be aware if you transclude a few of the standard fields like
> {{!!created}}
> {{!!modified}}
>
> What is returned is not the ugly date serial numbers, but
>
> Tue May 19 2020 23:34:40 GMT+1000 (Australian Eastern Standard Time)
>
> Tue May 19 2020 23:35:52 GMT+1000 (Australian Eastern Standard Time)
>
>
> I believe this is a core mechanism, but since I am 90% of the way into 
> building a tool to build field definitions I thought it important to ask if 
> anyone knows how this is done?
>
>
> I would like to know if I can hack this for other fields or possibly 
> request a change to be able to do so. 
>
>
> I have searched for it but do not know how to find it, since it uses a 
> basic transclusion method, yet treats these fields differently.
>
>
> Thank in advance for any insight.
>
> TonyM
>
>
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/a10897da-fa11-444d-8d54-3b29fbe081a6%40googlegroups.com.


[twdev] Re: Plugins Updated: Formula & JsonMangler!

2020-04-29 Thread Joshua Fontany
One of the links was broken. Replaying so the email chain has the correct 
link.

https://github.com/joshuafontany/TW5-JsonMangler/releases/tag/v2.2.2

On Tuesday, April 28, 2020 at 11:19:02 PM UTC-7, Joshua Fontany wrote:
>
> Having resolved some gremlins with "line-feed character" in different OS 
> environments, I have posted new versions of Evan's Formulas plugin, and my 
> own JsonMangler plugin.
>
> New links:
>
> *JsonMangler* v2.2.2
> https://github.com/joshuafontany/TW5-JsonMangler
> https://github.com/joshuafontany/TW5-JsonMangler/releases/tag/v2.2.2
> Demo wiki: https://joshuafontany.github.io/TW5-JsonMangler/
>
>
> *Formula* (attribute-modules plugin updated to v0.1.1, Formula v0.2.5)
> https://github.com/EvanBalster/TiddlyWikiFormula
> Demo wiki (hosted on my github for now):
> https://joshuafontany.github.io/TiddlyWikiFormula/
>
> Best,
> Joshua Fontany
>
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/e8487896-e503-4a76-804d-daeac2771625%40googlegroups.com.


[twdev] Plugins Updated: Formula & JsonMangler!

2020-04-28 Thread Joshua Fontany
Having resolved some gremlins with "line-feed character" in different OS 
environments, I have posted new versions of Evan's Formulas plugin, and my 
own JsonMangler plugin.

New links:

*JsonMangler* v2.2.2
https://github.com/joshuafontany/TW5-JsonMangler
https://github.com/joshuafontany/TW5-JsonMangler/releases/tag/v2.2. 
<https://github.com/joshuafontany/TW5-JsonMangler/releases/tag/v2.2.1>2
Demo wiki: https://joshuafontany.github.io/TW5-JsonMangler/


*Formula* (attribute-modules plugin updated to v0.1.1, Formula v0.2.5)
https://github.com/EvanBalster/TiddlyWikiFormula
Demo wiki (hosted on my github for now):
https://joshuafontany.github.io/TiddlyWikiFormula/

Best,
Joshua Fontany

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/a77bda89-fb8a-4bf5-b65d-375b61263aed%40googlegroups.com.


[twdev] Re: First TW plugin!

2020-04-27 Thread Joshua Fontany
Excellent design, both visually and data-structure wise. Welcome to the 
community!

I agree, TW is one of the most flexible design-environments I have ever 
come across. Great to see new experiments.

Best,
Joshua F

On Monday, April 27, 2020 at 1:57:36 PM UTC-7, Nicolas Petton wrote:
>
> Hi all, 
>
> I've just finished my first TW plugin: 
> https://nicolas.petton.fr/tw/project-manager.html 
>
> I'm completely new to TiddlyWiki, and I did this as an experiment to see 
> how good TiddlyWiki could be as a web application platform. 
>
> It turns out to be absolutely great, I don't think I've ever built a toy 
> web app that's fully working this quickly. The power of having free 
> persistence in the form of Tiddlers, combined with a DSL for querying 
> (filters), and using tiddlers as components makes app development an 
> absolute breeze. Not to mention that all building blocks I needed where 
> already builtin. 
>
> Bottom line is, TiddlyWiki is mind blowing in many ways! 
>
> Cheers, 
> Nico 
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/bdadba3a-1162-4297-94c2-46437d484693%40googlegroups.com.


[twdev] JsonMangler QA Needed - Release 2.2.0

2020-04-18 Thread Joshua Fontany
Hi everyone,

Mauloop over on github has uncovered a very deep bug with my development 
environment of this plugin. See the thread here:

https://github.com/joshuafontany/TW5-JsonMangler/issues/12


Earlier versions of the plugin may be completely replacing the core 
'wiki.js' module in your wiki at startup (not just patching it.).

I have stripped down the plugin to just the core code (removing the 
"make-tid" dependency) and have uploaded Release 2.2.0 which hopefully has 
fixed this issue.

*ANY testing* would be appreciated. Mauloop is experiencing boot failure on 
Node.js and with Tiddlyserver, even after the update. This appears to be 
due to the patching procces.

I can't quite recreate it, so any help would be appreciated. I'm not sure 
what "halo bugs" this will cause, so you'll want to stop using the older 
versions and upgrade to TW5.1.22 with the new version if possible.

Backup any wiki you have been using this plugin with, and then with a new 
copy of TW5.1.22 (single file, node, any method) install JsonMangler v2.2.0:

https://joshuafontany.github.io/TW5-JsonMangler/

OR

https://github.com/joshuafontany/TW5-JsonMangler/releases/tag/v2.2.0

Then drag your old wiki w/ data into the new wiki and all your data and 
tiddlers should import.

I have bundled Evan's modloader, formula, and attribute-modules plugins 
into the "folder plugin.info" *.zip file to aid testing. 
These have been tested with TW5.1.22 and work on my machine in various 
configs (Bob and raw Node.js).

Mahalo (thanks!),

Joshua Fontany

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/a42f8b74-0b23-4699-a351-861d1825e220%40googlegroups.com.


[twdev] Re: [Visual Studio Code] [v0.1.2] TwiddlyWiki5 Syntax Highlighting for VSCode!

2020-04-15 Thread Joshua Fontany
Thank you Mohammad,

Could you open an issue in the Github Repo? Mahalo (thanks)!

Best,
Joshua F

On Wednesday, April 15, 2020 at 5:35:58 AM UTC-7, Mohammad wrote:
>
> Hi Josua, 
> Many thanks
>
> Minor comment
>
> Intelisence
>
> <$set 
>
> does not work
>
> --Mohammad
>
> On Monday, April 13, 2020 at 4:55:20 AM UTC+4:30, Joshua Fontany wrote:
>>
>> Version updated to 0.1.2:
>>
>> ## 0.1.2
>>
>> - Improved variable, tranclusion, link, and macro definition recognition
>> - Setup seperate "language names" for *.tid / *.meta ("tid"), vs  / 
>> *.multids files ("multitids") vs *.tw / *.tw5 wikitext ("tiddlywiki5"). 
>> This helps debugging and with certain grammar features (injections).
>> - Mapped MIME types
>>
>> On Saturday, March 28, 2020 at 12:52:08 PM UTC-7, Joshua Fontany wrote:
>>>
>>> Hi!
>>>
>>> I've thrown together a quick extension for Visual Studio Code to enable 
>>> syntax highlighting. I have not yet added it to the MS Marketplace, so you 
>>> cannot find it through VSCode's Extensions tab quite yet...
>>>
>>> Find the github repo here:
>>>
>>> https://github.com/joshuafontany/VSCode-TW5-Syntax
>>>
>>> Clone it to your Extensions folder as described here: 
>>> https://vscode-docs.readthedocs.io/en/stable/extensions/install-extension/
>>>
>>> ---
>>>
>>> I use Bob on Node.js and author plugins as folders separate from my 
>>> tiddlywiki and wikis directories. This means I am often tweaking or editing 
>>> UI tiddlers, etc, etc inside of plugins while the server is down, then 
>>> restart it to run tests, etc. Syntax highlighting is going to be a huge 
>>> benefit to this workflow.
>>>
>>>
>>> At this time I am mainly relying on a "named" syntax-highlighiting 
>>> grammar built for the Atom text editor. This grammar is fairly well 
>>> developed, but can totally be improved as I learn more about syntax 
>>> highlighting.,
>>>
>>>
>>> There may be another way to set this up, instead of making up a language 
>>> named "TiddlyWiki5" I could "inject" the wikitext rules into the base HTML 
>>> context. Then setup the field-contexts to be pared as HTML(Extended) 
>>>
>>>
>>> But for now this one that defines rules for most of the wikitext as a 
>>> new language will do.
>>>
>>> Best,
>>>
>>> Joshua Fontany
>>>
>>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/3983337d-70b9-473c-83f3-2c985d62d69b%40googlegroups.com.


[twdev] Re: [Visual Studio Code] [v0.1.2] TwiddlyWiki5 Syntax Highlighting for VSCode!

2020-04-12 Thread Joshua Fontany
Version updated to 0.1.2:

## 0.1.2

- Improved variable, tranclusion, link, and macro definition recognition
- Setup seperate "language names" for *.tid / *.meta ("tid"), vs  / 
*.multids files ("multitids") vs *.tw / *.tw5 wikitext ("tiddlywiki5"). 
This helps debugging and with certain grammar features (injections).
- Mapped MIME types

On Saturday, March 28, 2020 at 12:52:08 PM UTC-7, Joshua Fontany wrote:
>
> Hi!
>
> I've thrown together a quick extension for Visual Studio Code to enable 
> syntax highlighting. I have not yet added it to the MS Marketplace, so you 
> cannot find it through VSCode's Extensions tab quite yet...
>
> Find the github repo here:
>
> https://github.com/joshuafontany/VSCode-TW5-Syntax
>
> Clone it to your Extensions folder as described here: 
> https://vscode-docs.readthedocs.io/en/stable/extensions/install-extension/
>
> ---
>
> I use Bob on Node.js and author plugins as folders separate from my 
> tiddlywiki and wikis directories. This means I am often tweaking or editing 
> UI tiddlers, etc, etc inside of plugins while the server is down, then 
> restart it to run tests, etc. Syntax highlighting is going to be a huge 
> benefit to this workflow.
>
>
> At this time I am mainly relying on a "named" syntax-highlighiting grammar 
> built for the Atom text editor. This grammar is fairly well developed, but 
> can totally be improved as I learn more about syntax highlighting.,
>
>
> There may be another way to set this up, instead of making up a language 
> named "TiddlyWiki5" I could "inject" the wikitext rules into the base HTML 
> context. Then setup the field-contexts to be pared as HTML(Extended) 
>
>
> But for now this one that defines rules for most of the wikitext as a new 
> language will do.
>
> Best,
>
> Joshua Fontany
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/72f3d03d-b97d-468b-9e58-ea83659ec006%40googlegroups.com.


[twdev] Re: [Visual Studio Code][Beta] TwiddlyWiki5 Syntax Highlighting for VSCode! v0.1.1

2020-04-06 Thread Joshua Fontany
Hi, please find an updated repo on Github.

I have updated link, string, and pragma recognition. Fixed a few other 
syntax bugs. You will definitely see a lot more higlighting.

Next up, improving Filter highliting.

Best,

Joshua Fontany

On Saturday, March 28, 2020 at 12:52:08 PM UTC-7, Joshua Fontany wrote:
>
> Hi!
>
> I've thrown together a quick extension for Visual Studio Code to enable 
> syntax highlighting. I have not yet added it to the MS Marketplace, so you 
> cannot find it through VSCode's Extensions tab quite yet...
>
> Find the github repo here:
>
> https://github.com/joshuafontany/VSCode-TW5-Syntax
>
> Clone it to your Extensions folder as described here: 
> https://vscode-docs.readthedocs.io/en/stable/extensions/install-extension/
>
> ---
>
> I use Bob on Node.js and author plugins as folders separate from my 
> tiddlywiki and wikis directories. This means I am often tweaking or editing 
> UI tiddlers, etc, etc inside of plugins while the server is down, then 
> restart it to run tests, etc. Syntax highlighting is going to be a huge 
> benefit to this workflow.
>
>
> At this time I am mainly relying on a "named" syntax-highlighiting grammar 
> built for the Atom text editor. This grammar is fairly well developed, but 
> can totally be improved as I learn more about syntax highlighting.,
>
>
> There may be another way to set this up, instead of making up a language 
> named "TiddlyWiki5" I could "inject" the wikitext rules into the base HTML 
> context. Then setup the field-contexts to be pared as HTML(Extended).... 
>
>
> But for now this one that defines rules for most of the wikitext as a new 
> language will do.
>
> Best,
>
> Joshua Fontany
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/6c8a7d28-5bd7-4273-b9dd-fb6aa584bc41%40googlegroups.com.


Re: [twdev] Icons on Tiddlers enhanced functionality

2020-04-04 Thread Joshua Fontany
Aaah, that may explain why TheDiveO's plugin hasn't been updated in a 
while. I will definitely need to read up on this. FontAwesome also offers 
SVGs, and I would much rather avoid the issues called out in those articles.

Thanks!

Joshua Fontany

On Saturday, April 4, 2020 at 1:33:25 AM UTC-7, Jeremy Ruston wrote:
>
> Hi Tony
>
> It’s too late to change the interpretation of the icon field without 
> breaking backwards compatibility.
>
> Icon fonts like fontawesome are actually now somewhat controversial, and 
> aren't recommended for contemporary web development:
>
> https://cloudfour.com/thinks/seriously-dont-use-icon-fonts/
>
> https://www.lambdatest.com/blog/its-2019-lets-end-the-debate-on-icon-fonts-vs-svg-icons/
> https://css-tricks.com/icon-fonts-vs-svg/
>
> There are quite a few repositories of SVG icons that work very well with 
> TW5. For example:
>
> https://thenounproject.com/
> https://www.flaticon.com/
>
> Best wishes
>
> Jeremy.
>
> On 4 Apr 2020, at 00:48, TonyM > wrote:
>
> Folks,
>
> I am always at a loss for icons especially for buttons but also elsewhere. 
>
>- The Recently update FontAwesome is an example of a good source
>- There are also hundreds of special characters available such as HTML 
>entities
>   - 
>   
>   ☎   9742260EBLACK TELEPHONE
>   
>   - We have the icon field that allows us to add svg and bitmaps to 
>tiddlers
>
> What I am wondering is could we refactor the icon mechanism to not only 
> accept tiddlernames but also allow
> fontawesome macros or html entities to be provided?
>
> eg;
>
>- `>`
>- ☎
>
> It should be easy insofar as there can be triggers such as &# or #x or 
> ` The trickiest part may be ensuring correct size.
> CSS for Icons may also be helpful
>
> *Why?*
>
> Because the icon field promises by its generic naming to offer such a 
> feature and we could do with ready access to a larger range of Icons
>
> Regards
> Tony
>
> -- 
> 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 tiddly...@googlegroups.com .
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/tiddlywikidev/99c02712-84a8-4118-b665-1f5681d08acb%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/tiddlywikidev/99c02712-84a8-4118-b665-1f5681d08acb%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
>
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/96a61a2e-b7a5-4da0-8e12-fbfa9d887213%40googlegroups.com.


Re: [twdev] Why does the Transclude widget not have a template parameter?

2020-04-04 Thread Joshua Fontany
Tony,

It took me a little while to wrap my head around how the short-form 
`{{tiddler||template}}` is "rendered".

Basically, the <$transclude> widget, without a "parent" <$tiddler> widget 
wrapped around it IS a "template widget" because anything transcluded will 
use the "current" currentTiddler variable as its context.

Because in the short for the template parameter will default to the tiddler 
parameter, it seems like we are "inserting" that tiddler all in one go, but 
it is important to realize that it is "unpacked" to the nested structure:

<$tiddler tiddler="CONTEXT">
<$transclude tiddler="TEMPLATE"/>



Best,
Joshua Fontany

On Friday, April 3, 2020 at 12:26:44 AM UTC-7, TonyM wrote:
>
> Mario,
>
> The reason I did not suggest that was its not backwardly compatible, since 
> the transclusion widget currently uses tiddler= to represent the tiddler to 
> be transcluded and "defaults to currentTiddler".
>
> Jeremy,
>
> I have played with a few alternatives like macro's to do the equivalent 
> and they are just not as convenient, we could say the transclusion widget 
> defaults to current tiddler and we can't override this with a parameter 
> unlike other widgets. If we had such a parameter I could set the effective 
> currentTiddler without needing to resort to other code, which increases the 
> complexity rapidly.
>
> I know transclusion may mean something subtly different to you, but for 
> new and regular users it is to include the content from elsewhere. We are 
> told the short form `{{||template}} or {{tiddlername||template}}` but the 
> "widget form" is not available.
>
> Alternatively a new widget perhaps <$template [tiddler=tiddlername] 
> template="templatetiddler" mode=block> when the default tiddlername is 
> currentTiddler. New users hear the word template a lot, but its use is only 
> in the short form of a transclude widget and is  a parameter in other 
> widgets.
>
> I will leave it to you, of course, but if you ever find yourself in that 
> part of the code please consider this idea.
>
> Regards
> Tony
>
>
>
> On Thursday, April 2, 2020 at 11:50:17 PM UTC+11, PMario wrote:
>>
>> On Thursday, April 2, 2020 at 1:39:09 PM UTC+2, TonyM wrote:
>>>
>>> Jeremy
>>>
>>> That explains it well thanks. I still see value in being able to say
>>>
>>> <$transclude currentTiddler=tiddlername tiddler=templatetiddler/> 
>>>
>>
>> I would name it: <$transclude tiddler=tiddlername 
>> template=templatetiddler/>  otherwise it would be very confusing for 
>> users. 
>>
>> eg: {{tiddlername||templatetiddler}} is the current structure and the 
>> transclude widget reflect this, to make it easy to use. 
>>
>> -mario
>>
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/1b8a37a3-8fac-4cbf-9acb-9d157716afd0%40googlegroups.com.


[twdev] Re: [TheDiveO/TW5FontAwesome] Updated to FontAwesome 5.13.0

2020-04-02 Thread Joshua Fontany
Mohammad,

Thank you! I have updated the $:/.../history tiddler and sent TheDive0 
pull-requests for both the master and gp-pages branches.

Until those are updated, you can find a copy of the plugin for use here 
(the only update from the last post is the History Tiddler).

https://joshuafontany.github.io/TW5FontAwesome/

https://joshuafontany.github.io/TW5FontAwesome/output/fontawesome.html

https://raw.githubusercontent.com/joshuafontany/TW5FontAwesome/gh-pages/output/plugins/TheDiveO/FontAwesome/plugin.info

Best,
Joshua Fotnany

On Wednesday, April 1, 2020 at 12:43:11 AM UTC-7, Mohammad wrote:
>
> Thanks Joshua,
>  I also note the TW is updated from 5.1.19 to 5.1.22p
>
> Minor comment
> - please update the history tiddler
> - I may recommend to add your name and short description of update
>
> I love the way to bundle the whole plugin as a plugin.info! How did you 
> it like that?
>
>
>
> This is absolutely a great plugin. His other plugin ThirdFlow is among the 
> best and I use it on daily basis.
>
> --Mohammad
>
>
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/4c60e144-97a4-4799-a30d-4ef2277ac083%40googlegroups.com.


[twdev] [Visual Studio Code][Beta] TwiddlyWiki5 Syntax Highlighting for VSCode!

2020-03-28 Thread Joshua Fontany
Hi!

I've thrown together a quick extension for Visual Studio Code to enable 
syntax highlighting. I have not yet added it to the MS Marketplace, so you 
cannot find it through VSCode's Extensions tab quite yet...

Find the github repo here:

https://github.com/joshuafontany/VSCode-TW5-Syntax

Clone it to your Extensions folder as described here: 
https://vscode-docs.readthedocs.io/en/stable/extensions/install-extension/

---

I use Bob on Node.js and author plugins as folders separate from my 
tiddlywiki and wikis directories. This means I am often tweaking or editing 
UI tiddlers, etc, etc inside of plugins while the server is down, then 
retsart it to run tests, etc. Syntax highlighting is going to be a huge 
benefit to this workflow.


At this time I am mainly relying on a "named" syntax-highlighiting grammar 
built for the Atom text editor. This grammar is fairly well developed, but 
can totally be improved as I learn more about syntax highlighting.,


There may be another way to set this up, instead of making up a language 
named "TiddlyWiki5" I could "inject" the wikitext rules into the base HTML 
context. Then setup the field-contexts to be pared as HTML(Extended) 


But for now this one that defines rules for most of the wikitext as a new 
language will do.

Best,

Joshua Fontnay

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/8d6f3880-4af2-4e65-8b33-2214feb5fa2d%40googlegroups.com.


[twdev] Re: .meta files

2020-03-25 Thread Joshua Fontany
If you set a tiddler's type field to a regitered "filetype" content-type, 
then the server will save the "body" of the tiddler separately from "all 
other fields".

Did you explicitly set your tiddler's type to one of the below types 
(quoted from "$:/boot/boot.js 
")? Did you 
then change that?
```

// Add file extension information
$tw.utils.registerFileType("text/vnd.tiddlywiki","utf8",".tid");
$tw.utils.registerFileType("application/x-tiddler","utf8",".tid");

```

Best,
Joshua F

On Wednesday, March 25, 2020 at 1:17:15 PM UTC-7, TonyM wrote:
>
> Mohammad,
>
> I would guess by the name that meta files are content, not themselves in 
> tiddlers. To create a single file wiki there is html that constructs the 
> HTML file. But I don't know
>
> Regards
> Tony
>
> On Thursday, March 26, 2020 at 3:03:27 AM UTC+11, Mohammad wrote:
>>
>> I have noticed on Node.js some .meta files are created, for example
>>
>>
>>
>>- tw-version.tid
>>- tw-version.tid.meta
>>
>>
>> The content of *tw-version.tid* is 
>>
>> /* TW-version added to site title */
>> .tc-site-title:before {
>>   content:"TW <>";
>>   position:absolute;
>>   margin-top:-1.9em;
>>   color:silver;
>>   font-size:13px;
>> }
>> 
>>
>> Strangely when I stop and reload the server, I noted, my tw-version.tid 
>> is empty (nothing in text field) and some extra fields were created in 
>> tw-version.tid.
>>
>> I deleted the fields and correct the tw-version.tid tiddler everything 
>> was fine. Stopped/Reload server again and I saw this happened again!
>>
>>
>>- What is the source of this strange issue?
>>- What are these meta files?
>>- How do I stop creation of these file?
>>
>> --Mohammad
>>
>>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/85327d1c-da47-4c93-a6e5-d2b04a6b30cf%40googlegroups.com.


[twdev] Re: [Dev] [TW5] Json Mangler v2.1.1!

2020-03-17 Thread Joshua Fontany
v2.1.1 posted!

indexes Operator
<https://joshuafontany.github.io/TW5-JsonMangler/#>17th March 2020 at 4:49pm
Filter Operators
purpose select all data properties of the input titles (see output)
input <https://joshuafontany.github.io/TW5-JsonMangler/#Filter%20Syntax> a 
selection 
of titles 
<https://joshuafontany.github.io/TW5-JsonMangler/#Title%20Selection>
suffix <https://joshuafontany.github.io/TW5-JsonMangler/#Filter%20Step> the 
indexes operator uses a rich suffix, see below for details
parameter 
<https://joshuafontany.github.io/TW5-JsonMangler/#Filter%20Parameter> 
(optional) 
an index-path to a property in the data tiddler
output the immediate (root) property names or indices found at the tiddler 
or path location provided (all property paths are returned if the ":all" 
suffix is used)

Each input title is processed in turn, and is ignored if it does not denote 
a data tiddler 
<https://joshuafontany.github.io/TW5-JsonMangler/#DataTiddlers>. The list 
of property names is retrieved from the data tiddler (in no particular 
order) and then dominantly appended 
<https://joshuafontany.github.io/TW5-JsonMangler/#Dominant%20Append> to the 
operator's output.

Where a tiddler's content is JSON 
<https://joshuafontany.github.io/TW5-JsonMangler/#JSONTiddlers>, the indexes 
operator 
uses an extended syntax:

[indexes:all[]]


   - all: a flag to retrieve the full path to all properties in the JSON 
   tiddler. By default, only the immediate ("root") indexes from the tiddler 
   or path location are returned.
   - path: an index or slash-delimited index path (see the Read Me 
   
<https://joshuafontany.github.io/TW5-JsonMangler/#%24%3A%2Fplugins%2Fjoshuafontany%2Fjsonmangler%2Freadme>
   ).

Examples 
<https://joshuafontany.github.io/TW5-JsonMangler/#indexes%20Operator%20(Examples)>


https://joshuafontany.github.io/TW5-JsonMangler/


Best,
Joshua Fontany

On Monday, March 16, 2020 at 7:35:47 PM UTC-7, Joshua Fontany wrote:
>
> Hi everyone,
>
> I've worked a few bugs out and introduced a more flexible `indexes[]` 
> filter. Hopefully this will make jsonmangler robust enought for some really 
> cool projects.
>
> Looking forward to what people do with these new capabilities. I have 
> included a standard documentation tiddler for the new functions:
>
> https://joshuafontany.github.io/TW5-JsonMangler/#indexes%20Operator
>
> purpose select all data properties of the input titles (see output)
>> input <http://127.0.0.1:8080/JsonMangler#Filter%20Syntax> a selection of 
>> titles <http://127.0.0.1:8080/JsonMangler#Title%20Selection>
>> suffix <http://127.0.0.1:8080/JsonMangler#Filter%20Step> the indexes 
>> operator 
>> uses a rich suffix, see below for details
>> parameter <http://127.0.0.1:8080/JsonMangler#Filter%20Parameter> (optional) 
>> an index-path to a property in the data tiddler
>> output the property names or indices found at the tiddler or path 
>> location provided (only immediate properties are returned if the ":root" 
>> suffix is used)
>>
>> Each input title is processed in turn, and is ignored if it does not 
>> denote a data tiddler <http://127.0.0.1:8080/JsonMangler#DataTiddlers>. 
>> The list of property names is retrieved from the data tiddler (in no 
>> particular order) and then dominantly appended 
>> <http://127.0.0.1:8080/JsonMangler#Dominant%20Append> to the operator's 
>> output.
>>
>> Where a tiddler's content is JSON 
>> <http://127.0.0.1:8080/JsonMangler#JSONTiddlers>, the indexes operator 
>> uses an extended syntax:
>>
>> [indexes:root[]]
>>
>>
>>- root: a flag to only retrieve the immediate ("root") indexes from 
>>the tiddler or path location
>>- path: a slash-delimited index path (see the Read Me 
>>
>> <http://127.0.0.1:8080/JsonMangler#%24%3A%2Fplugins%2Fjoshuafontany%2Fjsonmangler%2Freadme>
>>)
>>
>> Examples 
>> <http://127.0.0.1:8080/JsonMangler#indexes%20Operator%20(Examples)>
>>
>
> There are Examples in the new demo wiki as well.
>
> Download the source or *.zip over on GitHub:
>
> https://github.com/joshuafontany/TW5-JsonMangler
>
> Best,
> Joshua Fontany
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/ceab6363-019f-4bd7-94da-15302af1d8ea%40googlegroups.com.


[twdev] Re: [Dev] [TW5] Json Mangler v2.1.0!

2020-03-17 Thread Joshua Fontany
I occurred to me after sleeping on it that making the `:root` suffix the 
default, and having another one like `;all` to toggle returning all 
sub-paths would be much more "backwards compatible" to exiting tiddlywiki 
markup/macros/etc.

I will me making that change as the 2.1.1 release.

Best,
Joshua F



Best, Josh F
On Monday, March 16, 2020 at 7:35:47 PM UTC-7, Joshua Fontany wrote:
>
> Hi everyone,
>
> I've worked a few bugs out and introduced a more flexible `indexes[]` 
> filter. Hopefully this will make jsonmangler robust enought for some really 
> cool projects.
>
> Looking forward to what people do with these new capabilities. I have 
> included a standard documentation tiddler for the new functions:
>
> https://joshuafontany.github.io/TW5-JsonMangler/#indexes%20Operator
>
> purpose select all data properties of the input titles (see output)
>> input <http://127.0.0.1:8080/JsonMangler#Filter%20Syntax> a selection of 
>> titles <http://127.0.0.1:8080/JsonMangler#Title%20Selection>
>> suffix <http://127.0.0.1:8080/JsonMangler#Filter%20Step> the indexes 
>> operator 
>> uses a rich suffix, see below for details
>> parameter <http://127.0.0.1:8080/JsonMangler#Filter%20Parameter> (optional) 
>> an index-path to a property in the data tiddler
>> output the property names or indices found at the tiddler or path 
>> location provided (only immediate properties are returned if the ":root" 
>> suffix is used)
>>
>> Each input title is processed in turn, and is ignored if it does not 
>> denote a data tiddler <http://127.0.0.1:8080/JsonMangler#DataTiddlers>. 
>> The list of property names is retrieved from the data tiddler (in no 
>> particular order) and then dominantly appended 
>> <http://127.0.0.1:8080/JsonMangler#Dominant%20Append> to the operator's 
>> output.
>>
>> Where a tiddler's content is JSON 
>> <http://127.0.0.1:8080/JsonMangler#JSONTiddlers>, the indexes operator 
>> uses an extended syntax:
>>
>> [indexes:root[]]
>>
>>
>>- root: a flag to only retrieve the immediate ("root") indexes from 
>>the tiddler or path location
>>- path: a slash-delimited index path (see the Read Me 
>>
>> <http://127.0.0.1:8080/JsonMangler#%24%3A%2Fplugins%2Fjoshuafontany%2Fjsonmangler%2Freadme>
>>)
>>
>> Examples 
>> <http://127.0.0.1:8080/JsonMangler#indexes%20Operator%20(Examples)>
>>
>
> There are Examples in the new demo wiki as well.
>
> Download the source or *.zip over on GitHub:
>
> https://github.com/joshuafontany/TW5-JsonMangler
>
> Best,
> Joshua Fontany
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/14a36ebf-0321-4728-b4e0-99f14f67639e%40googlegroups.com.


[twdev] [Dev] [TW5] Json Mangler v2.1.0!

2020-03-16 Thread Joshua Fontany
Hi everyone,

I've worked a few bugs out and introduced a more flexible `indexes[]` 
filter. Hopefully this will make jsonmangler robust enought for some really 
cool projects.

Looking forward to what people do with these new capabilities. I have 
included a standard documentation tiddler for the new functions:

https://joshuafontany.github.io/TW5-JsonMangler/#indexes%20Operator

purpose select all data properties of the input titles (see output)
> input <http://127.0.0.1:8080/JsonMangler#Filter%20Syntax> a selection of 
> titles <http://127.0.0.1:8080/JsonMangler#Title%20Selection>
> suffix <http://127.0.0.1:8080/JsonMangler#Filter%20Step> the indexes operator 
> uses a rich suffix, see below for details
> parameter <http://127.0.0.1:8080/JsonMangler#Filter%20Parameter> (optional) 
> an index-path to a property in the data tiddler
> output the property names or indices found at the tiddler or path 
> location provided (only immediate properties are returned if the ":root" 
> suffix is used)
>
> Each input title is processed in turn, and is ignored if it does not 
> denote a data tiddler <http://127.0.0.1:8080/JsonMangler#DataTiddlers>. 
> The list of property names is retrieved from the data tiddler (in no 
> particular order) and then dominantly appended 
> <http://127.0.0.1:8080/JsonMangler#Dominant%20Append> to the operator's 
> output.
>
> Where a tiddler's content is JSON 
> <http://127.0.0.1:8080/JsonMangler#JSONTiddlers>, the indexes operator 
> uses an extended syntax:
>
> [indexes:root[]]
>
>
>- root: a flag to only retrieve the immediate ("root") indexes from 
>the tiddler or path location
>- path: a slash-delimited index path (see the Read Me 
>
> <http://127.0.0.1:8080/JsonMangler#%24%3A%2Fplugins%2Fjoshuafontany%2Fjsonmangler%2Freadme>
>)
>
> Examples 
> <http://127.0.0.1:8080/JsonMangler#indexes%20Operator%20(Examples)>
>

There are Examples in the new demo wiki as well.

Download the source or *.zip over on GitHub:

https://github.com/joshuafontany/TW5-JsonMangler

Best,
Joshua Fontany

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/2d538c0e-cce1-406d-ae9c-215bee4e1e4e%40googlegroups.com.


[twdev] Re: [TW5] JsonMangler v2.0.9 Release!

2020-02-28 Thread Joshua Fontany
https://github.com/joshuafontany/TW5-JsonMangler/releases/tag/v2.0.10

Just a quick update to fix the <> variable used in importing 
"individual tiddlers" or "individual json".

Thanks!
Joshua Fontany

On Thursday, February 20, 2020 at 12:05:12 PM UTC-8, Joshua Fontany wrote:
>
> *What's New?*
>
>
>- General bug fix and cleanup of the previous "Over 9000 Csv" release.
>- Exposed the rest of the PapaParse "parsing" options like: delimiter, 
>new_line, quote_char, escape_char
>- Changed importing to async functions.
>- Changed importing to collect all individual row tiddlers into a 
>Plugin as shadow-tiddlers!
>- Cleaned up UI.
>- Moved Csv Help to the ReadMe.
>
>
> Try it out! Import all the Data!
>
> https://github.com/joshuafontany/TW5-JsonMangler/releases/tag/v2.0.9
>
> https://joshuafontany.github.io/TW5-JsonMangler/
>
> https://github.com/joshuafontany/TW5-JsonMangler
>
> As this is the Dev Group, I'd appreciate any code tips, or tips on the 
> Filters used to build the Bundle Plugin Name, the Shadow Tiddlers Names, 
> etc - if you have any. Thanks!
>
> Best,
> Joshua Fontany
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/60a4720e-a860-45a2-ae93-22bc4cbb9f1b%40googlegroups.com.


[twdev] [TW5] JsonMangler v2.0.9 Release!

2020-02-20 Thread Joshua Fontany
*What's New?*


   - General bug fix and cleanup of the previous "Over 9000 Csv" release.
   - Exposed the rest of the PapaParse "parsing" options like: delimiter, 
   new_line, quote_char, escape_char
   - Changed importing to sync functions.
   - Changed importing to collect all individual row tiddlers into a Plugin 
   as shadow-tiddlers!
   - Cleaned up UI.
   - Moved Csv Help to the ReadMe.


Try it out! Import all the Data!

https://github.com/joshuafontany/TW5-JsonMangler/releases/tag/v2.0.9

https://joshuafontany.github.io/TW5-JsonMangler/

https://github.com/joshuafontany/TW5-JsonMangler

As this is the Dev Group, I'd appreciate any code tips, or tip on the 
Filters used to build the Bundle Plugin Name, the Shadow Tiddlers Names, 
etc - if you have any. Thanks!

Best,
Joshua Fontany

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/38d6dd6e-0c38-419a-bae4-ba6d794e326d%40googlegroups.com.


[twdev] Re: [TW5] Getting the content of several fields in a row

2020-02-12 Thread Joshua Fontany
Hi Martin,

Welcome to Tiddlywiki!

In order to explain this, we should examine the {{tiddlerName!!field}} 
syntax. This "wiki syntax" is actually shorthand for two Widgets. Widgets 
in tiddlywiki are HTML-like entities that you can use to render content, 
change tiddler/field value, etc. The shorthand is expanded to the 
equivalent of:
<$tiddler tiddler="tiddlerName">
<$transclude field="field" />


The tool you want to use for this is the "List Widget". To use the List 
Widget, you also need to understand "Filters".

https://tiddlywiki.com/#Widgets

https://tiddlywiki.com/#ListWidget

https://tiddlywiki.com/#Filters

We wrap the List Widget in a Tiddler Widget to set the "currentTiddler" 
context variable explicitly. Then, by passing the List Widget a value for 
the "variable" attribute we tell it not to overwrite the "currentTiddler" 
variable. There are a few ways to construct the Filter for the List widget. 
We can use the Range Operator to generate a range of numbers, or we can use 
the Fields Operator to get all fields from the "currentTiddler". If the 
tiddler only has numbered fields with source-text then that would be easier 
to sort.

Then, as we cannot pass the variable syntax ( <> ) through the 
transclude shorthand syntax (i.e. "{{name!!<>}}" DOES NOT WORK), we 
need to call either the View or Transclude widget directly.

<$tiddler tiddler="John 3">
<$list variable="line" filter="[fields[]sort[]]">
<$transclude field=<> />
<$/list>


I hope that helps!

Best,
Joshua Fontany

On Wednesday, February 12, 2020 at 9:05:52 AM UTC-8, Martin Pusch wrote:
>
> Hello, I have searched the discussions for a hint, but I still haven't 
> managed to resolve my problem:
>
> Example: I have a tiddler, with the title: "John 3". The text is empty, 
> but there are fields:
> Field name / Field content: 1 / There was a man of the Pharisees …
> Field name / Field content: 2 / The same came to Jesus by night …
> Field name / Field content: 3 / Jesus answered and said unto him …
> Field name / Field content: 4 / Nicodemus saith unto him, How can …
> Field name / Field content: 5 / Jesus answered, Verily, verily, I say unto 
> thee …
>
> Now, I can use this structure to transclude verses out of the fields in 
> another tiddler, typing:
>
> {{John 3!!1}} – and this statement will be replaced by the string "There 
> was a man of the Pharisees …"
>
> Like this, I don't need to rewrite text that is allready written.
>
> My problem: How can I get several fields in a row? I want to be able to 
> write something like:
>
> {{John 3!!1-5}} – and get the content of the fields 1 … 5.
>
> I think I need to write a macro to get what I want. But how can I address 
> a series of fields? Is there something like a "FOR I = 1 to 5" like in 
> Basic?
>
> Can anybody give me a hint please?
>
>
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/8b6a0759-acff-4fed-9e19-0a568264a157%40googlegroups.com.


Re: [twdev] Re: [TW5] Json Mangler Plugin v2.0.8 - The Over 9000 Csv Update!

2020-02-10 Thread Joshua Fontany
Hi Everybody,

There have been a couple of bugs found, and are working on getting fixed.


   - Unchecking "Peek" does not actually allow importing of all rows (FIXED)
   - The browser locks up upon importing large csv(s) (15,000+ rows) as 
   individual tiddlers.
   - Peek/Preview max row number count can be thrown off by new-lines in 
   the data.
   (Looks like we need to actually papa-parse the full file to get that 
   count. Can we do that on import and cache it?)
   

I think it is worth examining how I am importing the individual rows. It 
almost doesn't make sense to use the "usual" $:/Import process, especially 
for large-numbers-of-individual-tiddlers-at-once. One possibility I thought 
of was bundling them all as a plugin, thus making each row a Shadow Tiddler 
that could be overwritten/replaced, etc. Open to suggestions.

Best,
Joshua Fontany

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/b9727b1f-8fb6-45aa-9d2b-6719f5dd7be9%40googlegroups.com.


Re: [twdev] Re: [TW5] Json Mangler Plugin v2.0.8 - The Over 9000 Csv Update!

2020-02-05 Thread Joshua Fontany
Hi Jimmy,

Once you have your data in the wiki as a csv tiddler, open the csv options
slider (csv file button in the header), then open the $:/Import options
(last one, paperclip slider button). Choose an import type & click the
"$:/Import ThisTiddler" button once all import settings are confirmed.

The widget in the UI will the automatically save the data as one or more
(one per row) new tiddlers in a new $:/Import tiddler in the Story. Confirm
from there.

Best,
Joshua Fontany

On Wed, Feb 5, 2020, 5:38 PM Jimmy Liew  wrote:

> Hi Joshua,
>
> How to import a CSV file?
> I attempt to drag and drop to the TW5, and it creates a new tildder
> instead.
>
>
>
> On Wednesday, 5 February 2020 12:08:05 UTC+8, Joshua Fontany wrote:
>>
>> Hi Everybody,
>>
>> I'm very excited about the new release of Json Mangler. I'm calling this
>> the Over 9000 Csv Update!
>>
>> (I hope enough of the audience gets that...)
>>
>> This update turns Json Mangler into a swiss-army-knife-data-conversion
>> tool. Nearly all databases can export to csv tables, and now all your base
>> are belong to tiddlywiki.
>>
>> ;D
>>
>>- New $csv widget parses and renders any tiddler with type =
>>'application/csv'!
>>- Simply drag/drop your *.csv text-file, complete the import, (type
>>is auto-set to 'application/csv')!!
>>- OR use a 'tiddlywiki.files' file to import whole folders of Csv
>>data at once!!!
>>- CSV does not mean COMMA seperated values, it means CHARACTER
>>separated values (set your own - no UI on first release)
>>- Fully configurable access to the included PapaParse library via a
>>"state" tiddler for each $csv widget onscreen!
>>- Peek/preview to limit the rows loaded, skip-to-page to jump around
>>LARGE datasets, a whole bunch of cool options!!
>>- Sophisticated CSV Import - like, whoa!!!
>>- Import the whole thing as one JSON Array tiddler, or import each
>>row of the Csv as a Json or regular Tiddler
>>- Dynamic creation of "simplified" field-names when importing
>>individual tiddlers based on column index# or a "slugged" version of the
>>original column name
>>
>> I have included a test Csv in the new example wiki (below), which is a
>> database of video game sale from a few years ago. It has 16,600 rows
>> (including an empty row, and a headers row), so you can play around with
>> all of the peek, display, and import options.
>>
>> Thanks very much for any feedback!
>>
>> Github repo: https://github.com/joshuafontany/TW5-JsonMangler
>>
>> Github release:
>> https://github.com/joshuafontany/TW5-JsonMangler/releases/tag/2.0.8
>>
>> Example wiki: https://joshuafontany.github.io/TW5-JsonMangler/
>>
>> This plugin is a work in progress; any suggestions or bug reports are
>> very welcome.
>> Please report any issues on GitHub:
>> https://github.com/joshuafontany/TW5-JsonMangler/issues
>>
>> If you find this useful and would care to donate, please use my PayPal:
>> https://paypal.me/JoshuaFontany
>>
>> Best,
>> Joshua Fontany
>>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "TiddlyWikiDev" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/tiddlywikidev/wwMaABzyabE/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> tiddlywikidev+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/tiddlywikidev/2d44ba3a-fec8-4b98-a685-592c35020111%40googlegroups.com
> <https://groups.google.com/d/msgid/tiddlywikidev/2d44ba3a-fec8-4b98-a685-592c35020111%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/CAM1fME4za7%3DA2p03Z9bvPyh27B0qr2hYfamwTX-kCJqvHriiyQ%40mail.gmail.com.


[twdev] [TW5] Json Mangler Plugin v2.0.8 - The Over 9000 Csv Update!

2020-02-04 Thread Joshua Fontany
Hi Everybody,

I'm very excited about the new release of Json Mangler. I'm calling this 
the Over 9000 Csv Update!

(I hope enough of the audience gets that...)

This update turns Json Mangler into a swiss-army-knife-data-conversion 
tool. Nearly all databases can export to csv tables, and now all your base 
are belong to tiddlywiki.

;D

   - New $csv widget parses and renders any tiddler with type = 
   'application/csv'!
   - Simply drag/drop your *.csv text-file, complete the import, (type is 
   auto-set to 'application/csv')!!
   - OR use a 'tiddlywiki.files' file to import whole folders of Csv data 
   at once!!!
   - CSV does not mean COMMA seperated values, it means CHARACTER separated 
   values (set your own - no UI on first release)
   - Fully configurable access to the included PapaParse library via a 
   "state" tiddler for each $csv widget onscreen!
   - Peek/preview to limit the rows loaded, skip-to-page to jump around 
   LARGE datasets, a whole bunch of cool options!!
   - Sophisticated CSV Import - like, whoa!!!
   - Import the whole thing as one JSON Array tiddler, or import each row 
   of the Csv as a Json or regular Tiddler
   - Dynamic creation of "simplified" field-names when importing individual 
   tiddlers based on column index# or a "slugged" version of the original 
   column name

I have included a test Csv in the new example wiki (below), which is a 
database of video game sale from a few years ago. It has 16,600 rows 
(including an empty row, and a headers row), so you can play around with 
all of the peek, display, and import options.

Thanks very much for any feedback!

Github repo: https://github.com/joshuafontany/TW5-JsonMangler

Github release: 
https://github.com/joshuafontany/TW5-JsonMangler/releases/tag/2.0.8

Example wiki: https://joshuafontany.github.io/TW5-JsonMangler/

This plugin is a work in progress; any suggestions or bug reports are very 
welcome.
Please report any issues on GitHub: 
https://github.com/joshuafontany/TW5-JsonMangler/issues

If you find this useful and would care to donate, please use my PayPal: 
https://paypal.me/JoshuaFontany

Best,
Joshua Fontany

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/2d485598-1b33-4334-a858-7254a9df9230%40googlegroups.com.


[twdev] Re: Can't write a plugin

2020-02-02 Thread Joshua Fontany
Module type is important. One of the biggest things to realizing about 
developing in javascript with tiddlywiki is how to call other "libraries". 
For example, in order to call the "json-pointer" library, I created a 
tiddler the following metadata & the library in the text field (actually a 
seperate *.js.meta file next to the lib a I'm serving node-js style, but 
they are equivalent).

module-type: library
tags: 
title: $:/plugins/joshuafontany/jsonmangler/modules/libs/json-pointer.js
type: application/javascript


Then, in order to reference it in other widget/filter/etc script tiddlers, 
you do:

var pointer = require(
"$:/plugins/joshuafontany/jsonmangler/modules/libs/json-pointer.js");

I can then access the various "exports" by calling `pointer.whatever()`, 
etc, etc.

Best,
Joshua F


On Sunday, February 2, 2020 at 6:44:58 AM UTC-8, andrewg_oz wrote:
>
> Thanks anyway. Just in case anyone finds this, I've found that plugin 
> tiddlers need a module-type property set to either parser or widget in 
> order for their code to be executed. Small steps...
>
> On Thursday, 9 January 2020 04:24:19 UTC+8, Ton Gerner wrote:
>>
>> Hi,
>>
>> On Wednesday, January 8, 2020 at 3:35:31 PM UTC+1, andrewg_oz wrote:
>>>
>>> Thanks. That Tinka plugin looks like it will save a lot of mucking about 
>>> packaging and re-packaging plugins. However, it doesn't explain why my 
>>> plugin code is being ignored.
>>>
>>
>>
>> Sorry I can't help further; I'am not a developer and don't know anything 
>> about javascript.
>>
>> Cheers,
>>
>> Ton
>>  
>>
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/91dbfee5-8079-41ec-a334-ddf2d150b85f%40googlegroups.com.


[twdev] Re: What Tiddler the parser is working on?

2020-01-27 Thread Joshua Fontany
Hi David,

I know this is years later, but this your query was important motivation in 
my own tracking down of this.

Parsers build a "parse tree" of nodes that describe the thml entities and 
widgets in it's content, and this is used when a _widget_ calls 
it's `this.makeChildWidgets();` method.

So, you need to go to the _Widget_ that the parse-tree points to and do 
your getVariable, getTiddler, etc and debugging in there.

Investigating the Railroad Plugin on tiddlywiki.com finally brought it all 
together for me.

(Coming soon, vastly improved CSV tiddler handling via a rewritten $csv 
widget, and hopefully easy csv-> tiddler importing!)

Best,
Joshua Fontany

On Saturday, April 8, 2017 at 7:02:47 PM UTC-7, David Szego wrote:
>
> Hi, how do I know what Tiddler a wikirule parser script is working on?
>
> I'd like to exclude $:/ system Tiddlers from displaying with my rule's 
> parsing, so I'm looking to just do an If... return. However, I can't seem 
> to find the name of the current Tiddler? 
>
> My vast and advanced debugging skills extend to basically this:
>
> exports.init = function(parser) {
> alert($tw.wiki.currentTiddler);
> this.parser = parser;
> ...
>
> but whatever I try, I'm only finding "undefined". 
>
> Any hints?
>
> Thanks,
> David.
>
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/da6aa228-de71-4c94-a180-b2ae4e4827be%40googlegroups.com.


[twdev] Re: TW5-Plugins Updated

2020-01-06 Thread Joshua Fontany
;) I remember your Tiddlywiki work being very helpful for me learning the 
"under the hood" javascript. Very welcome!

https://joshuafontany.github.io/TW5-JsonMangler/


Best,
Joshua Fontany

On Monday, January 6, 2020 at 5:24:16 PM UTC-8, Diego Mesa wrote:
>
> Hey Joshua,
>
> Thank you for pushing forward Evans great work! 
>
> Could you help me locate the demo for the JSON Mangler? 
>
> On Saturday, December 28, 2019 at 3:33:07 PM UTC-6, Joshua Fontany wrote:
>>
>> Hi everyone!
>>
>> I've updated some of the plugins under development to support the current 
>> 5.1.22-prerelease Tiddlywiki repository.
>>
>> The primary changes were in Even's 'Attribute-Modules' lugins (an add-on 
>> for the Formulas plugin), and my JsonMangler plugin. These needed new 
>> 'patch' files to boot along with the 5.1.22-pre core.
>>
>> Updates are on gituhub. For Evan's Formulas plugin, I've forked the repo, 
>> and also added the last version (compatible TWv5.1.20) as a stand-along 
>> wiki.html file under the Releases tab.
>>
>> https://github.com/joshuafontany/TiddlyWikiFormula (github-pages 'demo' 
>> wiki is updated to 5.1.22-pre)
>>
>> https://github.com/joshuafontany/TW5-JsonMangler (demo also updated)
>>
>> Still tinkering with various Json related things, but I'm also adapting 
>> the really awesome TekanBoards setup to be a more general 'pinboard 
>> manager' (yes, this is for RPG purposes, LOL).
>>
>> Current progress here: https://github.com/joshuafontany/TW5-TekanBoards 
>> (demo 
>> 'gh-pages' wiki NOT up to date yet, so you would have to clone 'master' and 
>> then launch as a node wiki)
>>
>> Happy New Year everybody! I have a feeling we're going to see some really 
>> cool stuff this year.
>>
>> Best,
>> Joshua Fontany
>>
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/82ffa48d-c1c0-40e2-93f1-a9359c898c3b%40googlegroups.com.


[twdev] TW5-Plugins Updated

2019-12-28 Thread Joshua Fontany
Hi everyone!

I've updated some of the plugins under development to support the current 
5.1.22-prerelease Tiddlywiki repository.

The primary changes were in Even's 'Attribute-Modules' lugins (an add-on 
for the Formulas plugin), and my JsonMangler plugin. These needed new 
'patch' files to boot along with the 5.1.22-pre core.

Updates are on gituhub. For Evan's Formulas plugin, I've forked the repo, 
and also added the last version (compatible TWv5.1.20) as a stand-along 
wiki.html file under the Releases tab.

https://github.com/joshuafontany/TiddlyWikiFormula (github-pages 'demo' 
wiki is updated to 5.1.22-pre)

https://github.com/joshuafontany/TW5-JsonMangler (demo also updated)

Still tinkering with various Json related things, but I'm also adapting the 
really awesome TekanBoards setup to be a more general 'pinboard manager' 
(yes, this is for RPG purposes, LOL).

Current progress here: https://github.com/joshuafontany/TW5-TekanBoards (demo 
'gh-pages' wiki NOT up to date yet, so you would have to clone 'master' and 
then launch as a node wiki)

Happy New Year everybody! I have a feeling we're going to see some really 
cool stuff this year.

Best,
Joshua Fontany

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/2d3c89b2-5e64-4c40-8bec-82d1dd5dc131%40googlegroups.com.


Re: [twdev] JSON - why?

2019-07-25 Thread Joshua Fontany
It took me a while, but I patched up Evan's Modloader plugin to work with 
5.1.20-pre, so I can patch in the handful of function calls I need into the 
core. These then call my JSON utilities library functions. If it were 
easier to replace the built in ones in the core with user-added ones, 
that'd be neat.

As is, I've gone and updated Evan's Formula plugins & am very lose to 
having my JSON plugins running on 5.1.20-pre (see other announcements).

So, I'm comfortable saying we'll soon have the tools to start exploring 
this space.

Best,
Joshua Fontany

On Thursday, July 25, 2019 at 4:15:56 AM UTC-7, Jeremy Ruston wrote:
>
> Hi Tony
>
> I appreciate the continued focus on leveraging tiddlers as the basic store 
> but we need to extend their handling in some ways if we want them to also 
> represent records in the equivalent of database tables. Here I am thinking 
> of hiding the "data record" tiddlers from standard searches without 
> prefixing them with $:/ 
>
>
> The way to do that is probably to make a custom search results tab that 
> hides the tiddlers you want to ignore/
>
> and somehow enabling *the same key (tiddlername) *to be used to address 
> different records in different logical tables/or namespaces (see below).
>
>
> The title is a unique key. If you want to address tiddlers by a non-unique 
> key then you’d use a field.
>
> To me however allowing the designer to to make use of fully featured "data 
> tiddlers" adds great strength to tiddlywikis ability to respond to all 
> possible data structures someone may wish to represent in tiddlywiki. 
> Enabling JSON to the fullest extent also increases TiddlyWikis ability to 
> interact with external data sources as many sources such as xml can be 
> converted to JSON if not yet available. We do not need to code for all 
> possible data sources if we comprehensively adopt a robust standard like 
> JSON because we can leverage external tools written for the conversion of 
> data between standards and maintained by others.
>
>
> Are you saying that you’d like TW5 to have better interop with existing 
> JSON files and APIs? I think Joshua is exploring the approach of extending 
> the existing data tiddler mechanism. In some of my own work I have explored 
> a different approach, β€œexploding” JSON documents into multiple tiddlers, 
> where each tiddler represents a node of the document. It’s one of many 
> incomplete plugins that I must get around to releasing.
>
> Joshua's tools are extensive and I hope they may improve such handling in 
> the future.
>
> *Given the maxim that if you place a problem on the table you should place 
> a possible solution there as well;*
>
>- If we could introduce additional name spaces which are not in the 
>tiddler name, such that when one of these is set the <> 
>can refer to the tiddlers there in with <> then a database 
>table could be created in its own namespace, with identical tiddler names 
>to those in other namespaces. A names space can be used as a table name.
>
> I’m not sure I’m following your exact meaning, but it sounds like you want 
> TW5 to behave more like a database.
>
>
>- Of course this would be a challenging thing to implement but its 
>benefits would be extensive and would allow further use of tiddlers as the 
>atom of data. Careful design would make the use of additional namespaces 
>invisible until a user/designer starts to use additional ones.
>
> I’m not sure what you mean by namespaces, but some of what you’re 
> describing sounds like the plugin mechanism.
>
>
>- To be able to filter tiddlers in one namespace and use this as a key 
>to tiddlers in another namespace would be needed.
>
> Maybe you’re talking about something like TiddlyWeb’s β€œbag” model of 
> storage? We have considered implementing that model within TW5 itself, 
> whereby the store would be a list of independent bags.
>
>
>- This can be done with prefixes, remove prefix and lookup operator 
>but the logic is far more complex and harder to follow or design. 
>
> Core changes are expensive, even if only in opportunity cost. If something 
> can be done without needing core changes then it’s hard to justify 
> prioritising those changes, especially if the proposal is in such an early 
> state.
>
> In this particular case, it does sound like prefixes are the way to go. 
> It’s a standard technique used endlessly by the core, and of course it’s 
> the natural to slice up a single namespace.
>
> Best wishes
>
> Jeremy.
>
>
>
> Regards
> Tony
>
> On Thursday, July 25, 2019 at 2:49:00 AM UTC+10, Jeremy Ru

[twdev] [TW 5.1.20] Formulas!

2019-07-25 Thread Joshua Fontany
Hi everybody!

I've been suffering through some hard-drive failures at home, but working 
through other stuff on the side of fixing them seemed a good idea.

As I need the code for my JSON plugins, I have updated Evan Balster's 
super-excellent Modloader Plugin, and all of the associated 
TiddlyWikiFormulas plugins, to be compatible with the current pre-realease 
of 5.1.20.

I hope you all can find some good use for this!

(Oh yeah I fixed some bugs when using the "mushroom syntax" as a value for 
element properties, so all of the example work in Chrome ... let me know if 
you see weirdness.)

The code is on my guthub account, but my (temporary) example wiki is here:

https://joshuafontany.github.io/TiddlyWikiFormula/

Grab all the plugins you want/need from there. All of Evan's examples and 
tests are included.

I have sent a pull request, but we haven't seen Evan around for a while, so 
I'm going to be upkeeping this atm.

-><-

Now that this is done, I will have some exciting updates to my JSON Plugins 
soon. ;)

Mahalo (thanks) for trying it out, and have a great weekend!

Joshua Fontany

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/99f02c88-ba84-4028-b5cf-abc39460b190%40googlegroups.com.


Re: [twdev] Re: Request: A Font Awesome converter

2019-07-22 Thread Joshua Fontany
Excellent work with FA5. I was wrapping it up in a separate plugin so I 
could call it in various others. This looks perfect.

Mahalo,
Joshua Fontany

On Saturday, July 6, 2019 at 4:07:52 AM UTC-7, morosanuae morosanuae wrote:
>
> @twMat my icons respect the TW standards. I've used the default TiddlyWiki 
> images configuration as a template. They even have css classes like 
> original images.
>
> Please check them out on: http://fa5-free-svg.tiddlyspot.com
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/6f2461bc-658c-471f-acab-579c7942ae19%40googlegroups.com.


Re: [twdev] Importing images

2019-04-15 Thread Joshua Fontany
The 2 plugins I know of that use Object.assign() are TiddlyMap and my 
JsonMangler.

My JsonMangler does patch the wiki,js file, and IE11 errors out on this as 
well. I have been trying to track down where (in the load sequence) to 
polyfill this, but debugging IE11 is... difficult (or mine just keeps 
crashing for no reason).


If you do have one of these plugins installed, try a wiki without it as a 
test.

Best,
Joshua Fontany

On Monday, April 15, 2019 at 10:32:34 AM UTC-7, Jeremy Ruston wrote:
>
> Hi donmor3000
>
> It sounds like the webview that you’re using to display TW5 doesn’t 
> support the latest JavaScript features such as Object.assign(). However, 
> the strange thing is that the error message references 
> $:/core/modules/wiki.js, which does not currently use Object.assign(). Are 
> you using the latest version of TW5?
>
> Best wishes
>
> Jeremy.
>
> On 15 Apr 2019, at 15:49, donmor3000 > 
> wrote:
>
> I'm making an Android app implementing basic functions of TiddlyDesktop on 
> my phone, where the app malfunctioning importing photos, but I can upload 
> the same photo to Sogou.com.
>
> 
> 
>
> Part of logcat generated on error occored:
>
> 04-15 22:29:40.122 15224-15224/indi.donmor.tiddloid I/chromium: 
> [INFO:CONSOLE(8830)] "Uncaught TypeError: Object.assign is not a function", 
> source: file:///storage/emulated/0/123/121121.html (8830)
>
> 04-15 22:29:40.129 15224-15224/indi.donmor.tiddloid I/chromium: 
> [INFO:CONSOLE(1146)] "Uncaught TypeError: Object.assign is not a function", 
> source: $:/core/modules/wiki.js (1146)
>
> The onShowFileChooser part(my minSdk is 21, targetSdk is 27, fileOpen is a 
> static method opening the file dialog)
>
>   @Override
>  public boolean onShowFileChooser(WebView webView, 
> ValueCallback filePathCallback, FileChooserParams fileChooserParams) {
> uploadMessage = filePathCallback;
> MainActivity.fileOpen(TWEditorWV.this, 
> fileChooserParams.getAcceptTypes(), new MainActivity.OnFileTouchedListener() {
>@Override
>public void onFileTouched(DialogInterface dialog, File file) {
>   if (uploadMessage == null) return;
>   Uri[] results = null;
>   if (file != null && file.exists()) {
>  System.out.println(file.getAbsolutePath());
>  System.out.println(file.toURI());
>  try {
>  results = new Uri[]{Uri.parse(file.toURI().toString())};
>  } catch (Exception e) {
> e.printStackTrace();
>  }
>  
> System.out.println(Uri.parse("file://"+file.getAbsolutePath()));
>  System.out.println(results);
>   }
>   uploadMessage.onReceiveValue(results);
>   uploadMessage = null;
>}
>
>@Override
>public void onCanceled() {
>   if (uploadMessage == null) return;
>   uploadMessage.onReceiveValue(null);
>   uploadMessage = null;
>}
> });
> return true;
>  }
>   });
>
>
> Does anybody have idea about this error? I'd appreciate it:-)
>
>
> -- 
> 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 tiddly...@googlegroups.com .
> To post to this group, send email to tiddly...@googlegroups.com 
> .
> Visit this group at https://groups.google.com/group/tiddlywikidev.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/tiddlywikidev/6e80755f-6a5f-47ef-aa45-c6302f90f9ea%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/tiddlywikidev/6e80755f-6a5f-47ef-aa45-c6302f90f9ea%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> 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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/ef02eb73-0248-4ebc-b044-c1b3f3ecfaf6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] [TW-jsoneditor] Json Editor for Tiddlywiki Open Beta v0.0.5

2019-04-08 Thread Joshua Fontany
Current progress on v0.0.6:


   - The Lame: The IE11 .assign() polyfill problem is a bit difficult, as 
   IE11 debugging sucks, and I'm not sure where I need to be loading the 
   polyfill to catch the error in time...
   - The Awesome: I was successfully able to setup View-Mode so that any 
   content in the JSON data that has wiki-text syntax is automatically 
   rendered into an appropriate widgetTree and attached as children to the 
   $jsoneditor, while the DOM nodes (rendered HTML) they generate is attached 
   to the appropriate place in the form. This works so well that interactive 
   wiki-text components like Buttons WORK!!!

Kinda pleased with myself on that, as it lets $jsoneditor become a full 
member of the tiddlywiki-ecosystem. This opens up a HUGE design space to 
play around in.

For example, TonyM mentioned that he might need to refactor his "data 
structure" in one of his wikis from tiddler-fields holding data to 
json-tiddler-indexes holding data. This is NOT going to be necessary, as we 
can now:

   - design a JSON object with blank values that represents the structure 
   of each tiddler,
   - then auto-generate a schema from this abstract-data-object,
   - then, tweak the schema with a $jsoneditor in Design-Mode to look as we 
   like (hide labels, etc),
   - then go back and fill in the blank values in our abstract-data-object 
   with actual wikitext that will reference the current tiddler where we will 
   render the editor-UI
   - create a view-template (or edit-template) tiddler (& tagged 
   appropriately) with a $jsoneditor widget pointing to our 
   schema+abstract-data-object UI-definition
   - tag each tiddler we need the UI to render in, where it will 
   automatically pick up the data FROM THE TIDDLER and render it through our 
   new UI
   
At least, that's the theory. Now to get an example implemented. Once I have 
that I will release v0.0.6.

Best,
Joshua Fontany

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/78f2da2a-005d-4bb7-8384-2075e009afb5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] [TW-jsoneditor] Json Editor for Tiddlywiki Open Beta v0.0.5

2019-04-02 Thread Joshua Fontany
Thanks Josiah (@TiddlyTweeter)!

Be sure to explore the Advanced Examples. The key things I improved upon
from btheado's version is that the widget now has different modes (edit,
view, design, & preview), and there is some smart state-handling (currently
just detects which collapse buttons have been closed and then if the
view/edit mode toggles), and various other bugfixes and workflow helpers.

The key thing is to follow the procedure outlined in the Advanced Examples
_if_ you have a json object to start with. If not, just spawn a $jsoneditor
in design mode, point it to a storage tiddler, and design the form (which
then builds/creates the data object). Starting from scratch can lead to
'options paralysis' tho, which is why I gave some concrete examples of
starting with a simple form/schema of a simple object, and then adding onto
it and using it in more complex cases.

@DavidNebaur - , looks like IE11 not supporting the assign() function
is quite a problem. Still researching it.

Best,
Joshua Fontany

On Tue, Apr 2, 2019 at 3:46 PM @TiddlyTweeter 
wrote:

> Ciao Joshua
>
> Brilliant piece of work!
>
> It works well and looks good too.
>
> I have in mind to maybe use it for a food nutrition database. That will
> take me time---but this looks like it will do the job properly.
>
> Best wishes
> Josiah
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "TiddlyWikiDev" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/tiddlywikidev/xa9PunBvrbE/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> tiddlywikidev+unsubscr...@googlegroups.com.
> To post to this group, send email to tiddlywikidev@googlegroups.com.
> Visit this group at https://groups.google.com/group/tiddlywikidev.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/tiddlywikidev/13e8158b-dd4e-42fe-a6a5-44c112a11f98%40googlegroups.com
> <https://groups.google.com/d/msgid/tiddlywikidev/13e8158b-dd4e-42fe-a6a5-44c112a11f98%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> 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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/CAM1fME5wnmpamUoHZcGhFOyOfrRsZrv_GvGMVyWbVr4yd2dycA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] [TW5] [TW-jsoneditor] Json Editor for Tiddlywiki Open Beta v0.0.5

2019-04-01 Thread Joshua Fontany
Thanks! You win first post in the Issues. ;P

https://github.com/joshuafontany/TW5-jsoneditor/issues/1

This should be easy to fix with a "polyfill" so that IE11 can run the code 
in one of the sub-libraries. Unfortunately, I became super busy this 
afternoon, so it may have to wait until tomorrow.

Thanks for the bug report! Let me know if you run into any issues in any 
other browser.

Best,
Joshua Fontany

On Monday, April 1, 2019 at 6:08:57 PM UTC-7, David Nebauer wrote:
>
> FYI, when I try to open the demo wiki in IE11 (Windows 7, v6.1) I get the 
> internal javascript error "Object doesn't support property or method 
> 'assign'". I can open tiddlywiki.com in this browser.
>
> On Tue, 2 Apr 2019 at 09:03, Joshua Fontany  > wrote:
>
>> This is NOT an April Fools Day Joke! ;)
>>
>> I am pleased to announce that after about 2 years of tinkering and 
>> learning the guts of tiddlywiki and how to write widgets that *Json 
>> Editor for Tiddlywiki* is a reality!
>>
>> *TW-jsoneditor*
>>
>> The $jsoneditor widget generates and displays an HTML form constructed 
>> from the given JSON Schema <http://json-schema.org/>. It does this by 
>> wrapping a TiddlyWiki 
>> <https://joshuafontany.github.io/TW5-jsoneditor/#TiddlyWiki> widget 
>> around the json-editor <https://github.com/json-editor/json-editor>package. 
>> None of the optional requirements (css frameworks, icons, etc.) of 
>> json-editor are included in this plugin except for Bootstrap4 and 
>> FontAwesome5 
>> <https://joshuafontany.github.io/TW5-jsoneditor/#FontAwesome5>.
>>
>> The schema must be in JSON Schema format 
>> <http://json-schema.org/draft-04/json-schema-core.html> and can reside 
>> in:
>>
>>- the text of any json tiddler
>>- any index in any json tiddler
>>- any field from any tiddler (using the text field by default)
>>
>>
>> Examples are found in the Using Json Editor 
>> <https://joshuafontany.github.io/TW5-jsoneditor/#Using%20Json%20Editor> 
>> tiddler 
>> in the demo wiki.
>>
>> Repository: https://github.com/joshuafontany/TW5-jsoneditor
>>
>> Demo Wiki: https://joshuafontany.github.io/TW5-jsoneditor/
>>
>> -- 
>> 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 tiddly...@googlegroups.com .
>> To post to this group, send email to tiddly...@googlegroups.com 
>> .
>> Visit this group at https://groups.google.com/group/tiddlywikidev.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/tiddlywikidev/c7bcd930-74e5-40a4-8150-ebe5d6c2645d%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/tiddlywikidev/c7bcd930-74e5-40a4-8150-ebe5d6c2645d%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> 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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/2d995177-5a79-4ebb-81d9-abd7a71569c1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[twdev] [TW5] [TW-jsoneditor] Json Editor for Tiddlywiki Open Beta v0.0.5

2019-04-01 Thread Joshua Fontany
This is NOT an April Fools Day Joke! ;)

I am pleased to announce that after about 2 years of tinkering and learning 
the guts of tiddlywiki and how to write widgets that *Json Editor for 
Tiddlywiki* is a reality!

*TW-jsoneditor*

The $jsoneditor widget generates and displays an HTML form constructed from 
the given JSON Schema . It does this by wrapping a 
TiddlyWiki  widget 
around the json-editor package. 
None of the optional requirements (css frameworks, icons, etc.) of 
json-editor are included in this plugin except for Bootstrap4 and 
FontAwesome5 .

The schema must be in JSON Schema format 
 and can reside in:

   - the text of any json tiddler
   - any index in any json tiddler
   - any field from any tiddler (using the text field by default)
   

Examples are found in the Using Json Editor 
 tiddler 
in the demo wiki.

Repository: https://github.com/joshuafontany/TW5-jsoneditor

Demo Wiki: https://joshuafontany.github.io/TW5-jsoneditor/

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/c7bcd930-74e5-40a4-8150-ebe5d6c2645d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] TW5 port of github.com/json-editor/json-editor

2019-03-16 Thread Joshua Fontany
Reproduction Steps:

1. Load up https://btheado.github.io/jsoneditor.html
2. Go to the "*Degenerate case: no schema specified*" example
3. Change the root to "array" and add 1 item.
4. Set the first array item to type "boolean".
5. Set the first array item to type "number".
6. Set the first array item to type "boolean".

Observed Results:
Step 4: The schema at the bottom reads `[false]`, but the UI item renders 
`null`.
Step 5: The schema at the bottom reads `[""]`, and the UI item renders 
correctly.
Step 6: The schema at the bottom reads `[false]`, but the UI item renders 
`null`.


Best I could tell from the symptoms, there is something going on where the 
editor widget confirms the edit and writes the JSON. This triggers TW's 
refresh mechanism. When it gets to your `JSONEditorWidget.prototype.refresh` 
function it detects that the SCHEMA value of the options has changed, which 
triggers `this.refreshSelf();`. This appears to trigger TW's refresh cycle 
again, causing the selected option to be written - but the UI is using the 
previous version of the schema. Really weird case. I'm going to read 
through the guts of JSONEditor's core.js file and also the "./editors/*" 
functions to see if we can get it to spawn native TW input widgets (which 
will automatically handle writing the data to the target for you with the 
TW input mechanism), and disable JSONEditor's internal refresh mechanism. 
We'll see how that goes...
Best, Joshua F

On Saturday, March 16, 2019 at 1:47:12 PM UTC-7, Brian Theado wrote:
>
> Joshua,
>
> > there is a race condition bug in how the jsoneditor manipulated the DOM 
> vs how TW manipulates the DOM
>
> Could you share the details on that?
>
> That was the first TW plugin I wrote. Being a little new I found it 
> annoying not to be able to use a field in the same tiddler to store the 
> output json (in fact if no text reference is passed in, the default is a 
> field on the current widget) and so I tried to code around it and make it 
> work for that case. I think that was a mistake and I could easily see it 
> causing some kind of problems. Could that be the source of your issue?
>
> Brian
>
> On Fri, Mar 15, 2019 at 3:17 PM Joshua Fontany  > wrote:
>
>> I'm experimenting with rendering UI by setting up JSON Schemas. There was 
>> an old TW port of one of the earlier versions of this project, and I was 
>> able to import the currently maintained module into that plugin.
>>
>> Than I discovered that there is a race condition bug in how the 
>> jsoneditor manipulated the DOM vs how TW manipulates the DOM. I scanned 
>> through the docs and sourcecode a while, and it seems like they have built 
>> this modularly enough that I can change the "rendering engine" file for 
>> each Input type and make them render native TW widgets. I will have to cut 
>> out all of json-editor's native messaging code and just rely on the TW 
>> refresh and get/setTextReference functions.
>>
>> This seems doable, but wanted to see if anyone has run into any 'gotchas' 
>> or roadblocks in similar cases...
>>
>> origin: https://github.com/json-editor/json-editor
>>
>> previous TW plugin: https://github.com/btheado/jsoneditor
>>
>> current TW plugin (broken, does not push json updates back to TW):
>> https://github.com/joshuafontany/TW5-jsoneditor
>>
>> current Example wiki:
>> https://joshuafontany.github.io/TW5-jsoneditor/ 
>>
>> Best,
>>
>> Joshua Fontany
>>
>> -- 
>> 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 tiddlywikide...@googlegroups.com .
>> To post to this group, send email to tiddly...@googlegroups.com 
>> .
>> Visit this group at https://groups.google.com/group/tiddlywikidev.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/tiddlywikidev/65200232-3d7d-448e-a741-c3a652d60cca%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/tiddlywikidev/65200232-3d7d-448e-a741-c3a652d60cca%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> 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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/37b00b7b-5440-43e9-beb6-f3bc9dbd85b3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[twdev] TW5 port of github.com/json-editor/json-editor

2019-03-15 Thread Joshua Fontany
I'm experimenting with rendering UI by setting up JSON Schemas. There was 
an old TW port of one of the earlier versions of this project, and I was 
able to import the currently maintained module into that plugin.

Than I discovered that there is a race condition bug in how the jsoneditor 
manipulated the DOM vs how TW manipulates the DOM. I scanned through the 
docs and sourcecode a while, and it seems like they have built this 
modularly enough that I can change the "rendering engine" file for each 
Input type and make them render native TW widgets. I will have to cut out 
all of json-editor's native messaging code and just rely on the TW refresh 
and get/setTextReference functions.

This seems doable, but wanted to see if anyone has run into any 'gotchas' 
or roadblocks in similar cases...

origin: https://github.com/json-editor/json-editor

previous TW plugin: https://github.com/btheado/jsoneditor

current TW plugin (broken, does not push json updates back to TW):
https://github.com/joshuafontany/TW5-jsoneditor

current Example wiki:
https://joshuafontany.github.io/TW5-jsoneditor/ 

Best,

Joshua Fontany

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/65200232-3d7d-448e-a741-c3a652d60cca%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[twdev] [TW5-JsonManglerPlugin] v2.0.4 Update!

2019-03-09 Thread Joshua Fontany
Pushed a v2.0.4 update that fixed the indexes[] filter and another list-ops 
bug.

Best,

Josh F


On Friday, March 8, 2019 at 1:52:21 PM UTC-8, Joshua Fontany wrote:
>
> FYI, caught a bug in the `[indexes[]]` filter. That will kick a JS error 
> until I get a new version up.
>
> Also, I had a huge problem when I cloned the current TiddlyWiki5 
> repository and tried to use my plugin, pretty sure I just need to re-do the 
> "patch" files for Evan's modloader.
>
> That's going to make upgrading or supporting this across different TW 
> versions a bit tricky.. Not sure what to do about that atm.
>
> Best,
> Joshua F
>
> On Thursday, February 28, 2019 at 9:17:47 PM UTC-8, Joshua Fontany wrote:
>>
>> I was able to resolve the major bug reported by mauloop. Turns out a 
>> library had added a custom sort property to the Array object prototype. 
>> This custom function was then iterated anytime an array was used in a for 
>> (var x in keys) loop. Which broke a lot of stuff. A lot.
>>
>> All patched, and I restructured my repository a bit. Now you can install 
>> the single-tid version from the example wiki, or install a node 
>> folder-style setup with all dependencies by downloading the Release *.zip 
>> file.
>>
>> https://github.com/joshuafontany/TW5-JsonManglerPlugin/
>>
>> Best,
>>
>> Joshua Fontany
>>
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/74b5b6d4-ba8f-4cf9-bded-862384b13112%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5-JsonManglerPlugin] v2.0.3 Update!

2019-03-08 Thread Joshua Fontany
FYI, caught a bug in the `[indexes[]]` filter. That will kick a JS error 
until I get a new version up.

Also, I had a huge problem when I cloned the current TiddlyWiki5 repository 
and tried to use my plugin, pretty sure I just need to re-do the "patch" 
files for Evan's modloader.

That's going to make upgrading or supporting this across different TW 
versions a bit tricky.. Not sure what to do about that atm.

Best,
Joshua F

On Thursday, February 28, 2019 at 9:17:47 PM UTC-8, Joshua Fontany wrote:
>
> I was able to resolve the major bug reported by mauloop. Turns out a 
> library had added a custom sort property to the Array object prototype. 
> This custom function was then iterated anytime an array was used in a for 
> (var x in keys) loop. Which broke a lot of stuff. A lot.
>
> All patched, and I restructured my repository a bit. Now you can install 
> the single-tid version from the example wiki, or install a node 
> folder-style setup with all dependencies by downloading the Release *.zip 
> file.
>
> https://github.com/joshuafontany/TW5-JsonManglerPlugin/
>
> Best,
>
> Joshua Fontany
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/eb0f4fd3-ae2d-42ac-b743-f7d0d1a5b958%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: TiddlyWiki as Bookmark Manager

2019-03-05 Thread Joshua Fontany
Odd, I'm not getting that behaviour when I drag a address bar url into a 
tiddlywiki. I just get the url in the text field. What browser are you 
using?

Ok, so grabbing the Bookmarks json file from Chrome is trivial, as long as 
you know where your install path to user data is. I think FireFox is 
similar.

I've been thinking about how to extract the Favicons from Chrome's internal 
sqlite DB, and have come up with a solution that will allow import into TW 
server version easily.

The user would have to download DB Browser for Sqlite, run an SQL script I 
provide, and manually export 2 new Tables as Json files (not super hard).

This would dump the Blob binaries of the Favicons (my script only saves the 
largest icon) into a Json that would be very easy to import, and also one 
for the URL -> Favicon mappings.

I'm sure we could do something similar for FireFox as well.

Once you have the 3 json files, it is then just a matter of drag-drop 
import, aor setting up a tiddlywiki.files json in your wiki folder to load 
the new files on re-load.

Then we can process them into individual tiddlers. I agree that a new 
`text/url` tiddler-type would be very useful for further display templates 
to show favicon, format for use in lists, etc.

Probably won't have time to really work on this until later in the week, so 
am still open to suggestions. :)

Best,
Joshua Fontany


On Sunday, March 3, 2019 at 3:00:39 PM UTC-8, TonyM wrote:
>
> Joshua,
>
> Sounds like a good idea. I am playing with improvements on the url import 
> process, which may be of interest. 
>
> Dragging and dropping from a browser address bar to TW5 results in an 
> import of  tiddler called Untitled N, using import preview we see a json 
> content as follows
>
> {
> "tiddlers": {
> "Untitled 7": {
> "title": "Untitled 7",
> "text": 
> "https://auspost.com.au/terms-conditions/mypost-account-terms-of-use\nMyPost 
> Account - Terms of Use - Australia Post"
> }
> }
> }
>
> eg This will create the Untitled 7 tiddler containing 
> https://auspost.com.au/terms-conditions/mypost-account-terms-of-use\nMyPost 
> Account - Terms of Use - Australia Post
>
> I am planning to make a view template edition to test for text with a 
> https:// or http:// prefix and present a link icon on the tiddler and in a 
> custom list.
>
> I will also extract the suffix as the caption name, and allow a quick tag 
> or field button to mark it as a url tiddler.
>
> This could also happen with an extension to the import handler, thus 
> identifying all "url only" tiddlers in the import json. If your idea can 
> leverage the same path.
>
>
> My thoughts, On your identified elements
>
>- title - the suffix after the last /
>- Caption the bookmark title (if available)
>- I would recommend leaving the created date for when a tiddler is 
>created, and use an alternate field bookmark-date
>- id - sounds useful
>- Type - perhaps a new tiddler type needs to be defined? One that 
>automatically handles the url content similar to my project.
>
> The Folder objects may be better being delimited and placed in another 
> list field eg: bookmark-tags with an option to transfer these into tags, at 
> least this should be configurable.
>
> I would urge you to look at firefoxes exported bookmarks file, as it is 
> similar to chromes, and working with both will be great.
>
> This is yet again something that could be supported by the ability to 
> transfer tiddlers to a single json tiddler and in reverse. Ie I could 
> generate a json tiddler that could be imported/replace chrome / firefox 
> bookmarks. A Bookmarks import could sit un-translated into URL's if desired.
>
> Regards
> Tony
>
> On Monday, 4 March 2019 08:21:34 UTC+11, Joshua Fontany wrote:
>>
>> So I have been reading old threads, looking at previous TW Bookmark 
>> implementations, and thinking about how I would manage my (frankly huge) 
>> bookmark collection with TiddlyWiki.
>>
>> The problem here seems to be getting them into TW. I'm frankly not going 
>> to do that manually, and that seems to be how all previous implementations 
>> work.
>>
>> I thought there might be an API for this, but discovered how hard it is 
>> to request your own Chrome bookmarks via an API (literally *impossible*).
>>
>> That made me realize that with my JsonMangler plugin, I now have what I 
>> need to parse Chrome's Bookmark json file with wikitext scripts.
>>
>> There are two routs I could go with this, so I thought I'd bounce it off 
>> the community here.
>>
>>

[twdev] TiddlyWiki as Bookmark Manager

2019-03-03 Thread Joshua Fontany
So I have been reading old threads, looking at previous TW Bookmark 
implementations, and thinking about how I would manage my (frankly huge) 
bookmark collection with TiddlyWiki.

The problem here seems to be getting them into TW. I'm frankly not going to 
do that manually, and that seems to be how all previous implementations 
work.

I thought there might be an API for this, but discovered how hard it is to 
request your own Chrome bookmarks via an API (literally *impossible*).

That made me realize that with my JsonMangler plugin, I now have what I 
need to parse Chrome's Bookmark json file with wikitext scripts.

There are two routs I could go with this, so I thought I'd bounce it off 
the community here.

1) Drag & Drop - manually drag & drop Chrome's Bookmark file onto 
Tiddlywiki. A plugin will invoke either `th-importing-tiddler` or 
`th-importing-file` in order to preprocess their json structure into the 
appropriate tiddlers, whatever that may look like.

Pros: one-action import function, handling duplicates 'behind the scenes', 
single file & server

Cons: requires manual action by the user, original Json structure is not 
retained

2) Tell TW where your Bookmarks live (server only) - setup a json tiddler 
to tell TW where your Bookmarks live on each device. TW will then load the 
Bookmarks file(s) as tiddlers, allowing wikitext scripts to parse, break 
down, and setup individual tiddlers for each data object.

Pros: Should(?) be able to pull updates when you update your browser's 
bookmarks (or sync) by a button press in the wiki.

Cons: Server only setup, possilbe(?) conflicts when TW server and browser 
try to write to the same file (can you set an externally loaded file to 
'read-only'?), trying to pick up changes to the source file while the 
server is running (I think this is possible).

The key elements to pull out of Chrome's bookmark Json structure for each 
Bookmark are:
* name > title? caption?
* url > url? title?
* date_added > created
* id > $browser$_id (useful for re-import operations)
* type > bookmark-type (not familiar with other types, mine all say 'url')

Then there are the Folder objects that we could parse into Tags.

What do you all think?

Best,
Joshua Fontany

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/2f6812d9-fa61-4dab-bc90-5afdf4d6e72e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[twdev] [TW5-JsonManglerPlugin] v2.0.3 Update!

2019-02-28 Thread Joshua Fontany
I was able to resolve the major bug reported by mauloop. Turns out a 
library had added a custom sort property to the Array object prototype. 
This custom function was then iterated anytime an array was used in a for 
(var x in keys) loop. Which broke a lot of stuff. A lot.

All patched, and I restructured my repository a bit. Now you can install 
the single-tid version from the example wiki, or install a node 
folder-style setup with all dependencies by downloading the Release *.zip 
file.

https://github.com/joshuafontany/TW5-JsonManglerPlugin/

Best,

Joshua Fontany

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/d7487fc2-d664-49d8-83e1-ff4cc487f5c9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[twdev] [TW5-JsonManglerPlugin] v2.0.2 Update!

2019-02-18 Thread Joshua Fontany
Hi Everyone~

I have caught and squashed quote a few bugs with this update and refactored 
quite a bit.

I also wrote a new $:/Config tab to allow packing, repacking, unpacking, 
and editing plugin tiddlers.

Update has been pushed to github: 
https://github.com/joshuafontany/TW5-JsonManglerPlugin

Demo Wiki: https://joshuafontany.github.io/TW5-JsonManglerPlugin/


This is stable enough for me to move on to refactoring my RenderTable 
plugin to use the new Json Tiddler logic.

Any feedback appreciated!

Best,
Joshua Fontany

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/0f872682-eacf-47b1-97a3-9048f6081f56%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[twdev] Announcing continuous integration for tiddlywiki.com

2019-01-08 Thread Joshua Fontany
That is really cool. B)

I know there are tons of tricks/secrets/explanations in the ggroups & 
streamlining that process really removes a barrier from getting that info onto 
tiddlywiki.com. (Still learning the ins and outside of git and github myself...)

Any chance you would share the details of your setup? I will need a public 
website for a tiddlywiki edition in a little while, but haven't really given 
thought to what that will be structured like.

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/64262701-241c-4631-a2ba-8e57a0d9db85%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: What are 5 most important widgets to learn?

2018-12-22 Thread Joshua Fontany
The most important widget to learn is the $tiddler widget. For example, the 
{{}} wikitext is shorthand for 
<$tiddler><$transclude>...

It changes the <> variable for all children and thus the 
"context" of any transcluded content or templates.

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/6bcdd3b1-ce4d-4edc-849d-a6f6f509fe2b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[twdev] Silent and Noisy errors

2018-12-16 Thread Joshua Fontany
I constantly test an adjust filter runs in the Advanced Search tiddler. Also, 
if you plug the filter into a $list widget, you can set a custom emptyMessage 
value, which will display if the filter returns no results. Good for when you 
know what to expect from your filter but it returns no results, not great when 
you have accidentally made a filter that returns unexpected results.

Also handy is the dumpvariables macro, which will list all current 
variable/macro values.

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/3a6cfdf8-3b0d-4aed-87d0-3a68e909157a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] [TW-5 Plugin] New Plugin - TW5-JsonManglerPlugin!

2018-12-03 Thread Joshua Fontany
Also posting here for the more technical savvy. More eyes will catch
unoptimized code or places to do things differently. I built a bunch of
functional tests into the example wiki,  but no idea about perf imoacts...

Mahalo (thanks!) for any feedback!

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/CAM1fME7p1qr3s_uG6Kf3Xv6fnwfHT7yLX%2BUSEpgLRUrMqH8GSg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


[twdev] [TW-5 Plugin] New Plugin - TW5-JsonManglerPlugin!

2018-12-03 Thread Joshua Fontany
HelloThere!!!

I'm so excited to share this new plugin with the community.!


TW5-JsonManglerPlugin by Joshua Fontany, v 2.0.0


This plugin changes the methods tiddlywiki uses to retrieve and set values 
in json data tiddlers.

It does this in a way that aims for backwards compatibility.

It also introduces new features, widgets, and filter operators:

   - Allows TextReferences to target nested values ("complex json").
   - New buttons in the edit-template for json data tiddlers.
   - An automatic alert/error notification when calling message actions on 
   an invalid json data tiddler.
   - $jsonmangler, a widget that catches messages to edit json data 
   tiddlers.
   - An updated ''indexes[] operator'' that can show all index paths. If 
   given the argument verbose, it will list all paths, including the root 
   path to nested objects and arrays.
   - A new ''hasindex[] operator'' that returns only those input tiddlers 
   that have a value the index path argument.
   - A new ''tsort[] operator'' that uses a //tokenized sorting method// to 
   resolve pesky sorting problems.

Further documentation is available in the example wiki: 
https://joshuafontany.github.io/TW5-JsonManglerPlugin/ 
<https://joshuafontany.github.io/TW5-JsonMangerPlugin/>

This plugin is a work in progress; please report any issues on GitHub: 
https://github.com/joshuafontany/TW5-JsonMangerPlugin/issues

Repository Link: https://github.com/joshuafontany/TW5-JsonMangerPlugin 
<https://github.com/joshuafontany/TW5-JsonMangerPlugin/issues>


-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/092f2c9c-905b-4525-919b-5cede39abc8f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[twdev] Accidentally deleted my plugin source

2018-12-02 Thread Joshua Fontany
Hahaha. I actually recovered it all (unfragmented) by manually searching my 
harddrive with a hex editor. Things in my favor:

* Text content
* Small individual tiddler file sizes (<3)
* Repeating simple text headers.

I searched for "$:/plugins/" and it took a few hours (and SO MANY F3 
key presses) to find all the files and copy the contents to new text files.

Wow... I might have something cool to share soon. Let me back this the hell up 
and then debug a bit.

:D

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/153e7539-b9ea-4e51-975f-6954e7094dc6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[twdev] Accidentally deleted my plugin source

2018-12-01 Thread Joshua Fontany
Oh... never include your root plugin tiddler's title in your list of plugin 
tiddlers in the make plugin console command. That's what nuked it. :(

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/804f33e8-495b-4a5b-8230-daf9130bff2b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[twdev] Accidentally deleted my plugin source

2018-12-01 Thread Joshua Fontany
Ugh. Why did I try to package it before pushing to github...

I am currently running a recovery program deep scan on the drive (recuva) 
but the tiddler files didn't have the .text extension and it'll takeover an 
hour. Crossing my fingers as I go get dinner.

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/ea844f6e-9b96-4a0a-aba7-6dffdc394a32%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[twdev] Accidentally deleted my plugin source

2018-12-01 Thread Joshua Fontany
Hi everyone...

I was packing up a plugin with the browser command (while running via 
tiddkyserver) and it seems to have deleted all my plugins files from disk (but 
did not create the plugin tiddler).

So I didn't have any backup (*shoots self*) Am I out of luck? Is there any 
way to recover this at all?

Really appreciate any help.

Josh F

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/4cb37d75-1f3c-413b-8ee6-0d80c31b0182%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] Accessing JSON tiddler data

2018-02-05 Thread Joshua Fontany
Per the thread I opened on github, we need to keep it compatible with
existing wikis that may use those types of "path strings" as top level
index names. Having the code automatically try both the top-level
string-index _and_ the nested object index and then somehowd3cide which one
to use in each case was getting overcomplex. And that's just reading data
not writing to index/path addresses. Simplest solution is to have a
parallel "path" operator for text references so it falls on the user to
decide which approach would be best for any given data-toddler (with a
fallback to stringify nested objects if ## is used on a nested
data-tiddler). Currently, nesting just breaks ## completely.

On Feb 4, 2018 8:12 PM, "coda coder"  wrote:

Is there some reason ## can't used again? And how about strict "[[...]]"
and '[[...]]' for arrays?

{
  a: {
b: {
  c: {
x: 5,
y: "six",
z: "[[7, "eight"]
  }
}
  }
}

-> "a##b##c##x",  'a##b##c##z"[[0]]"' etc.




-- 
You received this message because you are subscribed to a topic in the
Google Groups "TiddlyWikiDev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/
topic/tiddlywikidev/Cs-lykcn_JE/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit https://groups.google.com/d/
msgid/tiddlywikidev/e5312fa6-f8a5-4bcb-9b24-7797dd059908%40googlegroups.com

.

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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/CAM1fME5UAsgeZE9K7asACCs_gWjmFvqrVWga1SqrED4nt6F_2Q%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] Accessing JSON tiddler data

2018-02-04 Thread Joshua Fontany
Coming back around to this after a bit.

I think the best way to preserve backwards compatibility is to setup a new 
text-reference field-name prefix.

!! = tiddler field-name reference
## = data tiddler index-name reference

What would a good doubled-char prefix be for 'nested json data-tiddler 
path-name'?

Is @@ reserved for anything? What would be another good one? 

@@
||
>>

The idea would be to have a parallel method to invoke parsing through the 
nested-json style structures and returning a data (or a stringified piece 
of text for data that includes further nesting) with the new prefix. Then 
alter the ## flat-json data tiddler function have a fallback to return a 
stringified piece of text, if the top-level index referenced provided data 
with nested sub-objects/arrays/etc.

Best,
Joshua F

On Tuesday, January 2, 2018 at 1:04:43 PM UTC-8, Joshua Fontany wrote:
>
> I have opened an issue on the TW5 github page to discuss this.
>
> https://github.com/Jermolene/TiddlyWiki5/issues/3074
>
> Thanks again for the advice so far Evan.
>
> Best,
> Joshua Fontany
>
> On Thursday, December 28, 2017 at 6:14:51 PM UTC-8, Joshua Fontany wrote:
>>
>> Yup, that is exactly the rabbit hole that led me back to examining the 
>> core json parser. I like the pointer syntax much better, it will also 
>> simplify pushing json key:value pairs to and from tiddlers as field:value 
>> pairs. I will only have to replace the '/' char with a legal field-name 
>> char like period. Now to see what I can implement in the core and refactor 
>> my JsonMangler and RenderTable plugin. ;) Thanks again!
>>
>> Best,
>> -Joshua Fontany
>>
>> On Thursday, December 28, 2017 at 4:32:37 PM UTC-8, Evan Balster wrote:
>>>
>>> For my part, I suspect that the use of brackets in JSON path and company 
>>> would prevent the syntax from being usable in filter expressions.  The 
>>> filter-parser will interpret the first right-bracket as closing the operand.
>>>
>>> On Thursday, 28 December 2017 16:56:13 UTC-6, Joshua Fontany wrote:
>>>>
>>>> Oooh. Thanks for that. I have also been considering JsonPath syntax (
>>>> http://goessner.net/articles/JsonPath/) and this library:
>>>>
>>>> https://www.npmjs.com/package/jsonpath
>>>>
>>>> I will have to compare them.
>>>>
>>>> Best,
>>>> Joshua Fontany
>>>>
>>>> On Thu, Dec 28, 2017 at 1:59 PM, Evan Balster  
>>>> wrote:
>>>>
>>>>> I strongly recommend riding the coat-tails of an existing convention 
>>>>> for something like this.  Specifically, JSON Pointer (RFC 6901) should 
>>>>> fit 
>>>>> the bill.  It uses a slash delimiter.  Here 
>>>>> <https://www.npmjs.com/package/json-pointer> is a widely-used 
>>>>> JavaScript library providing some utility functions for them.
>>>>>
>>>>>
>>>>> On Thursday, 28 December 2017 14:28:00 UTC-6, Joshua Fontany wrote:
>>>>>>
>>>>>> That is also the direction I was leaning (text-references and the 
>>>>>> getindex[] filter).
>>>>>>
>>>>>> Mahalo (thanks) Evan! Definitely gives me a good place to start. Now 
>>>>>> to think about path syntax
>>>>>>
>>>>>> Best,
>>>>>> Joshua Fontany
>>>>>>
>>>>>> On Wednesday, December 27, 2017 at 7:17:55 PM UTC-8, Evan Balster 
>>>>>> wrote:
>>>>>>>
>>>>>>> I have to assume that it's just a limitation in how the JSON 
>>>>>>> structure is translated to and from text references.  JSON doesn't 
>>>>>>> actually 
>>>>>>> have an "official" addressing scheme for sub-objects, only add-on 
>>>>>>> standards 
>>>>>>> like JSON pointer.  TiddlyWiki allows most characters (including dots) 
>>>>>>> in 
>>>>>>> field names.
>>>>>>>
>>>>>>> Relevant functions in the TiddlyWiki core code:  getTextReference 
>>>>>>> --> extractTiddlerDataItem --> getTiddlerDataCached --> getTiddlerData
>>>>>>>
>>>>>>> Looks like internally, the whole JSON structure is parsed, but 
>>>>>>> extractTiddlerDataItem has no rule to look for a delimiter (like ".") 
>>>>>>> and 
>>>>>>&g

Re: [twdev] [TW5] TiddlyWiki 5 Dev Hangout #103 will be on Saturday 6th January at 3pm GMT

2018-01-07 Thread Joshua Fontany
Thanks for this annotation! I'll try to listen through the session today. :)

On Saturday, January 6, 2018 at 3:13:52 PM UTC-8, PMario wrote:
>
> On Saturday, January 6, 2018 at 3:57:28 PM UTC+1, Jeremy Ruston wrote:
>>
>> You can watch the hangout here:
>>
>> http://youtu.be/hCRXdMYMh84
>>
>>
> Hi Jeremy and others,
>
> Sorry for dropping out of the hangout, without any words. But I didn't 
> want to interrupt Evan's flow :)
>
> Here's the annotations: .. Please have a look about the typos befor you 
> post them to the hangout.
>
> 00:00:00 Intro: ltr: Mario, Jeremy, Evan, Eric 00:13:40
> 00:01:20 Evan - detailed intro
> 00:03:10 .. about compiler and language design
> 00:03:50 .. Demo's Formulas plugin
> 00:05:10 .. using transclusions
> 00:05:40 .. using filters 
> 00:07:50 .. demo: Starburst
> 00:10:27 .. FormulaVarsWidget
> 00:10:40 Mario - question about the math "precision" 
> 00:13:40 Eric joined
> 00:15:37 Jeremy .. short summary for Eric
> 00:18:38 Evan - back to the demo .. about the update mechanism
> 00:21:03 .. Example: Real Projective Line ... "Visual Mathematics"
> 00:23:55 .. under the hood ... source
> 00:25:40 .. about the FormulaVarsWidget
> 00:26:55 .. Example: Harmonic Lattice 
> 00:30:40 .. Usecases .. time tracking
> 00:32:00 .. talks about a CSV unpacker plugin (not released yet) 
> 00:35:11 Evan - general discussion about formular plugin
> 00:35:30 Jeremy - Talking about the "attributes" PR
> 00:36:28 Evan - performance 
> 00:37:00 Jeremy - about tripple double quotes
> 00:37:40 .. problem for new users: nested macro calls
> 00:38:24 Evan - "string interpolation"
> 00:39:10 .. about text macros
> 00:40:20 .. about working with strings
> 00:42:22 Jeremy - about core "mods"
> 00:42:50 Evan - string handling can be improved also in "formula"
> 00:44:00 Jeremy - we need a "more elegant solution"
> 00:46:56 Jeremy - including "huge" changes - plugins vs core .. discussion
> 00:49:00 .. about "attribute modules"
> 00:49:54 .. about action widgets
> 00:51:14 .. about timers
> 00:51:35 Jeremy - about an idea: Injecting tiddlers depending on a timeline 
> with a deamon
> 00:52:10 Evan - needs timers for simulation
> 00:54:39 .. about "widget like entities" in attributes
> 00:55:30 .. about if-else-if ... mulitple widget "bodies" 
> 00:57:20 .. about attribute modules PR
> 00:58:40 .. no sound
> 00:59:14 Jeremy - about the PR ... may be 2 different PRs
> 01:01:40 .. there is some controversal code, ... May be it should be 2 PRs
> 01:03:40 .. about communication between formula plugin and the core. 
> 01:04:00 Jeremy - no sound 
> 01:05:30 Jeremy - ? Eric about the discussion ... about forEachTiddler in TWc
> 01:08:40 .. starting over from 01:05:30 ... 
> 01:10:00 Evan - about his programming experience
> 01:10:35 Jeremy - about the PR ... what should be included and what should be 
> plugin
> 01:13:08 .. about the action-widgets
> 01:13:30 Jeremy - What do mean by "relationship management"
> 01:14:00 .. "selective refresh" ... we need much better test-coverage, if we 
> want to go that route. ... performance measurements ...
> 01:15:30 Evan - about "relation ship management" ... UI level improvements
> 01:17:20 .. about a more generic bulk-manipulation handling like "list" and 
> "tag" fields, if tiddler title is changed
> 01:18:50 Jeremy - about "the history"
> 01:20:55 .. about fields ... field handling with "meta data" ... eg: typed 
> fields 
> 01:21:50 Evan - about "related data" and some ideas ... about links
> 01:23:50 .. sound problems
> 01:24:20 .. 
> 01:25:30 Evan - about typed fields .. eg: tags ... 
> 01:26:20 .. JSON API ... extension to REST API ... as a flat store of 
> objects, categorized by type ... 
> 01:28:18 .. about JSON API ..
> 01:32:20 Jeremy - discussion about, how to make it usable for TW users ... 
> plugin territory
> 01:33:28 Evan - possible improvements to "bulk refactoring" ... renaming ... 
> 01:34:20 .. about "dynamically configurable tiddler stores", ... UUID
> 01:35:55 .. lazy loading tiddlers from other TWs .. 
> 01:36:55 Jeremy - summary
> 01:39:00 Eric - has a plugin that converts JSON to tiddlers. 
> 01:40:10 Evan - about "patching" shadow tiddlers
> 01:42:40 Jeremy - Bye! Bye!
>
>
> have fun!
> mario
>
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/1ab90a8f-040e-481a-a64f-4c8b86e31f4c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] Accessing JSON tiddler data

2018-01-02 Thread Joshua Fontany
I have opened an issue on the TW5 github page to discuss this.

https://github.com/Jermolene/TiddlyWiki5/issues/3074

Thanks again for the advice so far Evan.

Best,
Joshua Fontany

On Thursday, December 28, 2017 at 6:14:51 PM UTC-8, Joshua Fontany wrote:
>
> Yup, that is exactly the rabbit hole that led me back to examining the 
> core json parser. I like the pointer syntax much better, it will also 
> simplify pushing json key:value pairs to and from tiddlers as field:value 
> pairs. I will only have to replace the '/' char with a legal field-name 
> char like period. Now to see what I can implement in the core and refactor 
> my JsonMangler and RenderTable plugin. ;) Thanks again!
>
> Best,
> -Joshua Fontany
>
> On Thursday, December 28, 2017 at 4:32:37 PM UTC-8, Evan Balster wrote:
>>
>> For my part, I suspect that the use of brackets in JSON path and company 
>> would prevent the syntax from being usable in filter expressions.  The 
>> filter-parser will interpret the first right-bracket as closing the operand.
>>
>> On Thursday, 28 December 2017 16:56:13 UTC-6, Joshua Fontany wrote:
>>>
>>> Oooh. Thanks for that. I have also been considering JsonPath syntax (
>>> http://goessner.net/articles/JsonPath/) and this library:
>>>
>>> https://www.npmjs.com/package/jsonpath
>>>
>>> I will have to compare them.
>>>
>>> Best,
>>> Joshua Fontany
>>>
>>> On Thu, Dec 28, 2017 at 1:59 PM, Evan Balster  
>>> wrote:
>>>
>>>> I strongly recommend riding the coat-tails of an existing convention 
>>>> for something like this.  Specifically, JSON Pointer (RFC 6901) should fit 
>>>> the bill.  It uses a slash delimiter.  Here 
>>>> <https://www.npmjs.com/package/json-pointer> is a widely-used 
>>>> JavaScript library providing some utility functions for them.
>>>>
>>>>
>>>> On Thursday, 28 December 2017 14:28:00 UTC-6, Joshua Fontany wrote:
>>>>>
>>>>> That is also the direction I was leaning (text-references and the 
>>>>> getindex[] filter).
>>>>>
>>>>> Mahalo (thanks) Evan! Definitely gives me a good place to start. Now 
>>>>> to think about path syntax
>>>>>
>>>>> Best,
>>>>> Joshua Fontany
>>>>>
>>>>> On Wednesday, December 27, 2017 at 7:17:55 PM UTC-8, Evan Balster 
>>>>> wrote:
>>>>>>
>>>>>> I have to assume that it's just a limitation in how the JSON 
>>>>>> structure is translated to and from text references.  JSON doesn't 
>>>>>> actually 
>>>>>> have an "official" addressing scheme for sub-objects, only add-on 
>>>>>> standards 
>>>>>> like JSON pointer.  TiddlyWiki allows most characters (including dots) 
>>>>>> in 
>>>>>> field names.
>>>>>>
>>>>>> Relevant functions in the TiddlyWiki core code:  getTextReference --> 
>>>>>> extractTiddlerDataItem --> getTiddlerDataCached --> getTiddlerData
>>>>>>
>>>>>> Looks like internally, the whole JSON structure is parsed, but 
>>>>>> extractTiddlerDataItem has no rule to look for a delimiter (like ".") 
>>>>>> and 
>>>>>> access sub-objects.  This bit of code in that function would need to be 
>>>>>> expanded into something more complicated:
>>>>>>
>>>>>>  if(data && $tw.utils.hop(data,index)) {
>>>>>>  text = data[index];
>>>>>>  }
>>>>>>
>>>>>>
>>>>>> ...So at a glance this looks like it would be a pretty easy "mod" to 
>>>>>> implement, if you're willing to mess with some core code.
>>>>>>
>>>>>> On Wednesday, 27 December 2017 13:15:32 UTC-6, Joshua Fontany wrote:
>>>>>>>
>>>>>>> Hi all you tiddlywiki dev folks,
>>>>>>>
>>>>>>> I am making progress with my RenderTable widget, but have run into a 
>>>>>>> situation where I need to add or remove items from arrays listed in 
>>>>>>> JSON 
>>>>>>> tiddlers. This is so I can add/remove "table rows" when the table is 
>>>>>>> being 
>>>>>>> fed by "application/json"

Re: [twdev] Re: [TW5] Accessing JSON tiddler data

2017-12-28 Thread Joshua Fontany
Yup, that is exactly the rabbit hole that led me back to examining the core 
json parser. I like the pointer syntax much better, it will also simplify 
pushing json key:value pairs to and from tiddlers as field:value pairs. I 
will only have to replace the '/' char with a legal field-name char like 
period. Now to see what I can implement in the core and refactor my 
JsonMangler and RenderTable plugin. ;) Thanks again!

Best,
-Joshua Fontany

On Thursday, December 28, 2017 at 4:32:37 PM UTC-8, Evan Balster wrote:
>
> For my part, I suspect that the use of brackets in JSON path and company 
> would prevent the syntax from being usable in filter expressions.  The 
> filter-parser will interpret the first right-bracket as closing the operand.
>
> On Thursday, 28 December 2017 16:56:13 UTC-6, Joshua Fontany wrote:
>>
>> Oooh. Thanks for that. I have also been considering JsonPath syntax (
>> http://goessner.net/articles/JsonPath/) and this library:
>>
>> https://www.npmjs.com/package/jsonpath
>>
>> I will have to compare them.
>>
>> Best,
>> Joshua Fontany
>>
>> On Thu, Dec 28, 2017 at 1:59 PM, Evan Balster  
>> wrote:
>>
>>> I strongly recommend riding the coat-tails of an existing convention for 
>>> something like this.  Specifically, JSON Pointer (RFC 6901) should fit the 
>>> bill.  It uses a slash delimiter.  Here 
>>> <https://www.npmjs.com/package/json-pointer> is a widely-used 
>>> JavaScript library providing some utility functions for them.
>>>
>>>
>>> On Thursday, 28 December 2017 14:28:00 UTC-6, Joshua Fontany wrote:
>>>>
>>>> That is also the direction I was leaning (text-references and the 
>>>> getindex[] filter).
>>>>
>>>> Mahalo (thanks) Evan! Definitely gives me a good place to start. Now to 
>>>> think about path syntax
>>>>
>>>> Best,
>>>> Joshua Fontany
>>>>
>>>> On Wednesday, December 27, 2017 at 7:17:55 PM UTC-8, Evan Balster wrote:
>>>>>
>>>>> I have to assume that it's just a limitation in how the JSON structure 
>>>>> is translated to and from text references.  JSON doesn't actually have an 
>>>>> "official" addressing scheme for sub-objects, only add-on standards like 
>>>>> JSON pointer.  TiddlyWiki allows most characters (including dots) in 
>>>>> field 
>>>>> names.
>>>>>
>>>>> Relevant functions in the TiddlyWiki core code:  getTextReference --> 
>>>>> extractTiddlerDataItem --> getTiddlerDataCached --> getTiddlerData
>>>>>
>>>>> Looks like internally, the whole JSON structure is parsed, but 
>>>>> extractTiddlerDataItem has no rule to look for a delimiter (like ".") and 
>>>>> access sub-objects.  This bit of code in that function would need to be 
>>>>> expanded into something more complicated:
>>>>>
>>>>>   if(data && $tw.utils.hop(data,index)) {
>>>>>   text = data[index];
>>>>>   }
>>>>>
>>>>>
>>>>> ...So at a glance this looks like it would be a pretty easy "mod" to 
>>>>> implement, if you're willing to mess with some core code.
>>>>>
>>>>> On Wednesday, 27 December 2017 13:15:32 UTC-6, Joshua Fontany wrote:
>>>>>>
>>>>>> Hi all you tiddlywiki dev folks,
>>>>>>
>>>>>> I am making progress with my RenderTable widget, but have run into a 
>>>>>> situation where I need to add or remove items from arrays listed in JSON 
>>>>>> tiddlers. This is so I can add/remove "table rows" when the table is 
>>>>>> being 
>>>>>> fed by "application/json" tiddlers. I have a solution sketched out for 
>>>>>> using javascript's array.splice() method, but had a question before I 
>>>>>> start.
>>>>>>
>>>>>> *Why can we currently access only the "root level" elements of a JSON 
>>>>>> tiddler?*
>>>>>>
>>>>>> Is this a performance or other technical limitation or has a solution 
>>>>>> for this just not been created yet?
>>>>>>
>>>>>> Currently, I "flatten" my JSON tiddlers with another plugin I made in 
>>>>>> order to simulate storing data as nest

Re: [twdev] Re: [TW5] Accessing JSON tiddler data

2017-12-28 Thread Joshua Fontany
Oooh. Thanks for that. I have also been considering JsonPath syntax (
http://goessner.net/articles/JsonPath/) and this library:

https://www.npmjs.com/package/jsonpath

I will have to compare them.

Best,
Joshua Fontany

On Thu, Dec 28, 2017 at 1:59 PM, Evan Balster 
wrote:

> I strongly recommend riding the coat-tails of an existing convention for
> something like this.  Specifically, JSON Pointer (RFC 6901) should fit the
> bill.  It uses a slash delimiter.  Here
> <https://www.npmjs.com/package/json-pointer> is a widely-used JavaScript
> library providing some utility functions for them.
>
>
> On Thursday, 28 December 2017 14:28:00 UTC-6, Joshua Fontany wrote:
>>
>> That is also the direction I was leaning (text-references and the
>> getindex[] filter).
>>
>> Mahalo (thanks) Evan! Definitely gives me a good place to start. Now to
>> think about path syntax
>>
>> Best,
>> Joshua Fontany
>>
>> On Wednesday, December 27, 2017 at 7:17:55 PM UTC-8, Evan Balster wrote:
>>>
>>> I have to assume that it's just a limitation in how the JSON structure
>>> is translated to and from text references.  JSON doesn't actually have an
>>> "official" addressing scheme for sub-objects, only add-on standards like
>>> JSON pointer.  TiddlyWiki allows most characters (including dots) in field
>>> names.
>>>
>>> Relevant functions in the TiddlyWiki core code:  getTextReference -->
>>> extractTiddlerDataItem --> getTiddlerDataCached --> getTiddlerData
>>>
>>> Looks like internally, the whole JSON structure is parsed, but
>>> extractTiddlerDataItem has no rule to look for a delimiter (like ".") and
>>> access sub-objects.  This bit of code in that function would need to be
>>> expanded into something more complicated:
>>>
>>> if(data && $tw.utils.hop(data,index)) {
>>> text = data[index];
>>> }
>>>
>>>
>>> ...So at a glance this looks like it would be a pretty easy "mod" to
>>> implement, if you're willing to mess with some core code.
>>>
>>> On Wednesday, 27 December 2017 13:15:32 UTC-6, Joshua Fontany wrote:
>>>>
>>>> Hi all you tiddlywiki dev folks,
>>>>
>>>> I am making progress with my RenderTable widget, but have run into a
>>>> situation where I need to add or remove items from arrays listed in JSON
>>>> tiddlers. This is so I can add/remove "table rows" when the table is being
>>>> fed by "application/json" tiddlers. I have a solution sketched out for
>>>> using javascript's array.splice() method, but had a question before I 
>>>> start.
>>>>
>>>> *Why can we currently access only the "root level" elements of a JSON
>>>> tiddler?*
>>>>
>>>> Is this a performance or other technical limitation or has a solution
>>>> for this just not been created yet?
>>>>
>>>> Currently, I "flatten" my JSON tiddlers with another plugin I made in
>>>> order to simulate storing data as nested objects & arrays. I can then
>>>> access the data I want with a "path" key/index. If this "flattening" is
>>>> unnecessary, I'd love to be able to work on allowing regular "nested" JSONs
>>>> to be used within tiddlywiki. Otherwise, I'll have to work around the
>>>> limitation.
>>>>
>>>> Thank you all for any insight you can provide while I go and read
>>>> through the core tiddlers that reference JSON stuff. :D
>>>>
>>>> Best,
>>>> Joshua Fontany
>>>>
>>> --
> You received this message because you are subscribed to a topic in the
> Google Groups "TiddlyWikiDev" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/
> topic/tiddlywikidev/Cs-lykcn_JE/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> tiddlywikidev+unsubscr...@googlegroups.com.
> To post to this group, send email to tiddlywikidev@googlegroups.com.
> Visit this group at https://groups.google.com/group/tiddlywikidev.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/tiddlywikidev/3b3591f8-fe52-4d64-be21-6d347c2b7710%
> 40googlegroups.com
> <https://groups.google.com/d/msgid/tiddlywikidev/3b3591f8-fe52-4d64-be21-6d347c2b7710%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> 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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/CAM1fME4%2BgR_Z3GDRqKe3zSEif0cB2ccwWtJsZjhbA7qDEJfRxw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Accessing JSON tiddler data

2017-12-28 Thread Joshua Fontany
That is also the direction I was leaning (text-references and the 
getindex[] filter).

Mahalo (thanks) Evan! Definitely gives me a good place to start. Now to 
think about path syntax

Best,
Joshua Fontany

On Wednesday, December 27, 2017 at 7:17:55 PM UTC-8, Evan Balster wrote:
>
> I have to assume that it's just a limitation in how the JSON structure is 
> translated to and from text references.  JSON doesn't actually have an 
> "official" addressing scheme for sub-objects, only add-on standards like 
> JSON pointer.  TiddlyWiki allows most characters (including dots) in field 
> names.
>
> Relevant functions in the TiddlyWiki core code:  getTextReference --> 
> extractTiddlerDataItem --> getTiddlerDataCached --> getTiddlerData
>
> Looks like internally, the whole JSON structure is parsed, but 
> extractTiddlerDataItem has no rule to look for a delimiter (like ".") and 
> access sub-objects.  This bit of code in that function would need to be 
> expanded into something more complicated:
>
>   if(data && $tw.utils.hop(data,index)) {
>   text = data[index];
>   }
>
>
> ...So at a glance this looks like it would be a pretty easy "mod" to 
> implement, if you're willing to mess with some core code.
>
> On Wednesday, 27 December 2017 13:15:32 UTC-6, Joshua Fontany wrote:
>>
>> Hi all you tiddlywiki dev folks,
>>
>> I am making progress with my RenderTable widget, but have run into a 
>> situation where I need to add or remove items from arrays listed in JSON 
>> tiddlers. This is so I can add/remove "table rows" when the table is being 
>> fed by "application/json" tiddlers. I have a solution sketched out for 
>> using javascript's array.splice() method, but had a question before I start.
>>
>> *Why can we currently access only the "root level" elements of a JSON 
>> tiddler?*
>>
>> Is this a performance or other technical limitation or has a solution for 
>> this just not been created yet?
>>
>> Currently, I "flatten" my JSON tiddlers with another plugin I made in 
>> order to simulate storing data as nested objects & arrays. I can then 
>> access the data I want with a "path" key/index. If this "flattening" is 
>> unnecessary, I'd love to be able to work on allowing regular "nested" JSONs 
>> to be used within tiddlywiki. Otherwise, I'll have to work around the 
>> limitation.
>>
>> Thank you all for any insight you can provide while I go and read through 
>> the core tiddlers that reference JSON stuff. :D
>>
>> Best,
>> Joshua Fontany
>>
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/c36840f3-15c2-44c5-a6de-c3b947b879b3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[twdev] [TW5] Accessing JSON tiddler data

2017-12-27 Thread Joshua Fontany
Hi all you tiddlywiki dev folks,

I am making progress with my RenderTable widget, but have run into a 
situation where I need to add or remove items from arrays listed in JSON 
tiddlers. This is so I can add/remove "table rows" when the table is being 
fed by "application/json" tiddlers. I have a solution sketched out for 
using javascript's array.splice() method, but had a question before I start.

*Why can we currently access only the "root level" elements of a JSON 
tiddler?*

Is this a performance or other technical limitation or has a solution for 
this just not been created yet?

Currently, I "flatten" my JSON tiddlers with another plugin I made in order 
to simulate storing data as nested objects & arrays. I can then access the 
data I want with a "path" key/index. If this "flattening" is unnecessary, 
I'd love to be able to work on allowing regular "nested" JSONs to be used 
within tiddlywiki. Otherwise, I'll have to work around the limitation.

Thank you all for any insight you can provide while I go and read through 
the core tiddlers that reference JSON stuff. :D

Best,
Joshua Fontany

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/2d4da9e6-53dd-4125-b01f-fc440c4a0d53%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: Making a CSV deserializer module... Error reports & wizard steps in the importer?

2017-12-20 Thread Joshua Fontany
I just started looking at importing CSVs as well, to use with my 
RenderTable plugin. I will check out your code. Following with interest. :)

Best,
Joshua Fontany

On Wednesday, December 20, 2017 at 11:16:45 AM UTC-8, Evan Balster wrote:
>
> Hey, all β€”
>
> I'm working on this CSV "unpacker" plugin:  
> http://evanbalster.com/tiddlywiki/csv_unpack.html
>
> The introduction of deserializer modules, which I only discovered half-way 
> through the process, made things a lot easier.  But I'm a bit troubled at 
> the lack of a good mechanism for reporting errors in the import, or 
> allowing the user to customize the re-formatting of the data.
>
> There are a few scenarios I'm thinking about:
>
>- The CSV can't be parsed due to some error.
>   - The wiki opens a tiddler describing the error, in addition to the 
>   $:/Import tiddler.
>   - OR:  The wiki displays error information in the $:/import tiddler.
>   
>   - The CSV is parsed successfully and the user needs to map CSV 
>columns to field names in the wiki, previewing their effects.
>   - A configuration tiddler appears alongside $:/Import and allows 
>   the user to modify the imported data before finalizing the import.
>   - OR:  A "wizard" appears in the $:/Import tiddler and the user 
>   configures the import before proceeding to preview the tiddlers.
>
> So, my questions:
>
>- Is it bad practice to create and/or display tiddlers from a 
>deserializer?
>- Is it possible to incorporate this sort of functionality (wizard 
>steps and error reporting) into the import mechanism in current or future 
>versions of TiddlyWiki?
>
>
> Currently my plugin requires all setup to be performed in advance, using 
> the plugin's settings.  I notice that one of the built-in deserializers 
> displays import errors by creating an imported tiddler to act as an error 
> message; I might adopt this "hack" in lieu of something better.
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/bc98871d-f53a-43ce-b54e-a6d46473007a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: Github plugin?

2017-12-14 Thread Joshua Fontany
Really great idea, probably the best for multi-user wikis I've seen.

Would it be easier to stick the Github syncing functionality in 
TiddlyServer for Node.js instead of Tiddlywiki directly? That way you have 
node.js compiling change requests and handling the syncing?

Best,
Joshua Fontany

On Thursday, December 14, 2017 at 4:06:34 AM UTC-8, Diego Mesa wrote:
>
> Hey Mat,
>
> I also posted a similar idea in another thread of using git as backend for 
> TW, and benefiting from all of its many years of tools built around 
> multiple users editing text files at the same time, and get tiddler 
> revisions for free
>
> On Wednesday, December 13, 2017 at 1:43:10 PM UTC-6, Mat wrote:
>>
>> BTW, considering that Github is made for handling upload conflicts; if it 
>> was used as back-end for TW... would that enable multi-user TWs?
>>
>> I'll add that apparently the max allowed size on Github is 1GB.
>>
>> <:-)
>>
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/ac3d076f-1e1a-4c30-ad19-7aede3cc883b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TWX] tiddler = filter

2017-10-05 Thread Joshua Fontany
The filter would go in the text field, as you get a warning if you use 
square or curly braces or the pipe-character in a title field.

"Warning: avoid using any of the characters | [ ] { } in tiddler titles."

On Thursday, October 5, 2017 at 11:34:02 AM UTC-7, Mat wrote:
>
> I shouldn't engage in yet another topic without having cleared up other 
> discussions I'm involved in...
>
> ...but this little bit of serendipity is just too darn interesting to 
> resist sharing:
>
>
>
> Could a tiddler ID really be a filter? ...and the tiddler body display the 
> text from all those filtered tiddlers!
>
> This means a tiddler is either an encapsulated list-filter-transclusion of 
> other tiddlers or it is a "leaf" tiddler.
>
>
> The idea addresses both encapsulation and presentation. It expands the 
> concept of tiddlers but is still true to tiddler philosophy. The resulting 
> unit is exactly the smallest meaningful unit of information - for the 
> current situation! 
>
> This *filter string* is unique, i.e can serve as an ID.
>
> The simplest filter string would, just like now, constitute a tiddler 
> title. 
>
> Complex tiddlers can be included in yet other complex tiddlers by means of 
> the tiddler title which merely serves as a label for the filter (more on 
> "labels" further down).
>
> Currently, presenting *narrative text *in TW is a rather manual process 
> involving either explicit authoring of transclusion commands or listwidgets 
> with such inside. Or to make some special viewtemplate do the listing. - 
> Or, view the *story river* to constitute the narrative, in which case you 
> deal with a rather ephemeral ephemeral narrative that the reader (not you) 
> controls (i.e closing of tiddlers). A the story river is of course visually 
> chunked up in tiddlers.
>
> *The OP here would still allow for all of this. It would be a superset to 
> it.*
>
> If you want the minimal chunk of info, as we currently view a tiddler, 
> you've got it. But when 'the minimal' for your situation requires a complex 
> information, then it would be superior if TW "natively" can present this 
> '*situational 
> *minimal'.
>
>
> Links
>
> In current TW, the general syntax for a link is of course
>
> [[label|tiddler title]] with special cases [[tiddler title]] or 
> TiddlerTitle
>
>
> For the OP, imaginable general syntax forms might instead be:
>
> [[label|filter]] ...example [[students|tag[student]]]
>
> [label[filter]] ...example [students[tag[student]]]
>
> [label|filter] ...example [students|tag[student]]
>
> ...and I think the special cases without labels would be easy to fit into 
> these.
>
> So clicking such a link, opens *one tiddler showing the content from all 
> the filter output tiddlers*. If the filter yields no output then you get 
> the "missing tiddler" template. But if there is *any *output tiddler, 
> then this content is seen.
>
> This display can be temporary, just like common generated lists. It makes 
> no difference for the viewer if the tiddler is stored or temporarily or 
> stored. This means links to not-yet-generated tiddlers should probably 
> appear like normal tiddlers unless, perhaps, the filter output is empty. 
>
>
> Tiddlers
>
> What is the title of a tiddler, once it is opened? - The label.
>
> And the filter string could be stored in the tiddler itself or maybe (for 
> faster systemic access?) in some global directory.
>
> When the tiddler is to be used inside some other filter, the label is used 
> and parsed(?) into the filter string it represents.
>
> This, still, means that labels - i.e tiddler titles - must be unique, and 
> they can be overwritten , just like today.
>
> The simplest filter is an empty filer, i.e only a label. Just like today. 
> BTW, this would mean the tiddler is a "leaf tiddler" as it doesn't display 
> any other tiddlers content.
>
> What is the content of a non-leaf tiddler, in edit mode? Well, the 
> equivalent transclusion of the filtered tiddlers presented in edit mode. 
> (I've actually dabbled with this in our current system using edittext 
> widgets and it is really cool, but the idea here is to have it be native 
> functionality.)
>
>
> This would 
>
>- make TW more *suitable* for narrative applications like creating 
>documents or "multi page things". Currently, TW is a kind of "digital 
>post-it note manager". The OP would widen TW to also be a kind of document 
>manager. 
>- lower the threshold to use TW: An absolute noob can create a 
>"document" by using the filter "part1 part2 part3" and three days later 
>"[tag[doc]sort[]]", whereas <$list filter=... {{!!title}}..." is probably 
>not noob stuff at all.
>- ...and, related, TW would be more usable as a static site generator
>- ...also related; extremely simple bundling and drag'n dropping of 
>multiple tiddlers, i.e you just drag the tiddler... bundling won't even be 
>a concept as it's automatic. And it doesn't even have to be an existing 
>tiddler

[twdev] Re: Fields as First class citizens?

2017-09-14 Thread Joshua Fontany
Many of the ideas here in this thread are why I coded my Json Mangler 
plugin:
https://groups.google.com/forum/#!topic/tiddlywiki/OMaRZ1mOZ2w

It allows you to write out a nested Json in the editor window that 
describes a tiddler's fields, then "flatten" it to a 1-object deep (i.e. 
tiddlywiki-valid) set of Name:Value pairs in Json format. There are then 
buttons to "push" or "pull" these to or from a parent tiddler (same title 
without ".json" at the end).

For example:

{ "rpg" : {
  "character" : {
"name" : "Conan",
"class" : "Barbarian",
"shtick" : "Craftiest horse-thief alive."
}
  }
}

Becomes - 

{
"rpg.character.name": "Conan",
"rpg.character.class": "Barbarian",
"rpg.character.shtick": "Craftiest horse-thief alive."
}

And then you push those as fields (& values optional) from the "Conan the 
Barbarian.json" tiddler's text field to be individual fields on the "Conan 
the Barbarian" tiddler.

Then manipulate or display the Conan tiddler as you wish: {{Conan the 
Barbarian||$:/view/oD&D/charactersheet}}

Best,
Joshua Fontany


On Tuesday, September 12, 2017 at 3:18:21 PM UTC-7, @TiddlyTweeter wrote:
>
> Whoah. 
>
> I haven't read this as the topic is way above my head.
>
> I just want to remark that the incremental width of recent posts in this 
> thread are in near Tolstoyan dimensions & aesthetically novel in a GG 
> group. Its visually very exciting! xx
>
> Buonanotte
> Josiah 
>
> Mat wrote:
>>
>> I'm unsure if what your last post describe is as things currently are or 
>>> as you'd want them to be.
>>>
>>
> ENORMOUS stuff followed ... 
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/80dc2997-512b-402e-bb27-931b4b220860%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: Is this possible: btheado/jsoneditor plugin Grid feature implementation?

2015-11-05 Thread Joshua Fontany
Thanks BJ. I've decided to use the Array object's "Table" and "Tabs" 
layout-formats to work-around this Grid issue. I'm still interested in a 
possible solution.

For more on my use-case, see the thread in the TiddlyWiki group, 
here: https://groups.google.com/forum/#!topic/tiddlywiki/uZUsq7dgJ3E

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/efef16da-770f-46f5-b30f-05455fd5d0c7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[twdev] Is this possible: btheado/jsoneditor plugin Grid feature implementation?

2015-11-04 Thread Joshua Fontany
Hi everyone.

I have been checking out this awesome plugin for editing JSON objects from 
within TiddlyWiki: https://github.com/btheado/jsoneditor

This is a TiddlyWiki implementation of another package, found 
here: https://github.com/jdorn/json-editor

One of the features that I'd like to use in the jdorn/json-editor package 
is a "grid layout" feature, which can be seen here (set the "Object Layout" 
dropdown on the left side to "grid"): http://jeremydorn.com/json-editor/

This feature can also be optionally enabled on an object-by-object scope by 
editing the json-schema for the object and including "format": "grid" in 
the schema-object properties.

This option apparently relies on the additional CSS packages that are setup 
with the http://jeremydorn.com/json-editor/ example, such as Boostrap3, or 
Foundation 5.

The author of the @btheado said he did not include any of those CSS 
packages in his TiddlyWiki plugin, and bad things happened when he tried to 
import just the CSS from Bootstrap3: 
https://github.com/btheado/jsoneditor/issues/1#issuecomment-153214059

I think I found a reference as to why this happened:

On Wednesday, September 18, 2013 at 9:13:10 AM UTC-7, Jeremy Ruston wrote:

I did indeed use Bootstrap for an earlier version of TiddlyWiki5. I 
>> abandoned it for several reasons:
>>
>
>> * Bootstrap markup uses IDs to tie elements together, which doesn't work 
>> in dynamic environments like TW5 where it's hard to ensure that IDs remain 
>> unique
>>
> * As Mario says, the JS code in Bootstrap is useless for TW5 because it 
>> doesn't fit into the TW rendering structure
>>
> * Bootstrap doesn't (or didn't when I was working with it) permit elements 
>> like tabs to be resized
>>
> * Bootstrap is incredibly fussy about elements needing to be direct 
>> descendants of one another and so doesn't tolerate TW5's additional wrapper 
>> elements
>>
> * Bootstrap uses Less.css to generate CSS whereas in TW5 it makes more 
>> sense to reuse the existing wikitext parsing pipeline
>>
>
>> TW5 still uses normalise.css, which is also a part of Bootstrap. It does 
>> a great job of smoothing out the differences between browsers
>>
>
>> Best wishes
>>
>
>> Jeremy
>>
>
So it seems that Bootstrap won't be my solution. Would it be possible to 
get that Grid option working in TiddlyWiki some-how?
Custom *.js code that does the same thing as the BootStrap3 or other CSS 
packages? 

The grid option seems to work the same for a couple of different CSS 
add-ons in the http://jeremydorn.com/json-editor/ example.

This JSON editor is exactly what I need for my RPG Character Database 
TiddlyWiki, but the UI seems cluttered for all the little stats and 
modifiers in each "block" of the character stats when they are all rendered 
in-line. Thanks for any insights you all can provide. :D

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/1096418e-542d-49f2-9538-4359885c397c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.