[tw5] Re: [tw] Re: How to open Tiddler from command line (I am running TiddlyWiki on Node.JS)

2021-11-09 Thread imleg...@gmail.com
Hi jeremy, could you help me on this post? 
 
https://talk.tiddlywiki.org/t/how-to-use-python-script-simulate-http-request-to-open-a-certain-tiddler/1471

I want to use python to do the same thing. But meet some problems. 
1. After http request the tiddler can't open immediately, need a manually 
reload
2. The tiddler opened before will close, after reload only leave the 
certain one I request. 

How too solve these two problem? Thank you. I can't get much help from the 
forum, thank you in advance. 

On Monday, February 20, 2017 at 8:40:27 PM UTC+8 jeremy...@gmail.com wrote:

> Hi Matt
>
> Well I was going to post some of my updated findings and ask again for 
> help, when all of a sudden I stumbled upon what may be the answer. All I 
> had to do was run this javascript snippet in Chrome:
>
> var storyList = "TiddlerIWantToOpen"
> $tw.wiki.addTiddler({title: "$:/StoryList", text: "", list: 
> storyList},$tw.wiki.getModificationFields());
>
>
> If you look at the “network” tab of developer tools while you run that 
> snippet you’ll see that it generates the same underlying HTTP request as 
> we’ve discussed earlier in the thread.
>
> This works perfectly. Now I am just looking for a way to automate the 
> running of this snippet. (Does anyone happen to know how one can automate a 
> javascript snippet in Chrome?)
>
>
> Chrome isn’t particularly easy to automate; you’d probably need to write 
> an extension.
>
> Is there a reason why all of the http stuff was suggested? This seems like 
> a more direct solution.
>
>
> Because your original post mentioned that you wanted to do display a 
> tiddler “from an external script”. The most direct way for an external 
> script to interact with TiddlyWiki under Node.js is the HTTP interface.
>
> The issue you ran into whereby the change you made on the server wasn’t 
> propagated to the browser is because the default polling interval is 60 
> seconds. You can manually force a poll by clicking the “refresh” button in 
> the “Server” tab of control panel. 
>
> Best wishes
>
> Jeremy.
>
>
> On Wednesday, February 15, 2017 at 7:11:00 PM UTC-5, Matt Groth wrote:
>>
>> Hi Jeremy,
>>
>> You're right, the regular http.request was the way to go. After I lot of 
>> fiddling, I managed to get update tiddlers with normal HTTP requests!
>>
>> When I send a request, I see this terminal output:
>>
>> syncer-server: Dispatching 'save' task: $:/StoryList
>> FileSystem: Saved file /Users/Matt/TiddlyMusic/tiddlers/$__StoryList.tid 
>>
>>
>> While the .tid file is updated instantly, my TiddlyWiki in Chrome does 
>> not sync with the server until I interact with it in some way, such as 
>> opening or closing a tiddler. Then, I see the above terminal output again 
>> and the changes from my HTTP request appear. 
>>
>> However, changes to $:/StoryList do not sync at all, so I am still unable 
>> to automate the opening and closing of tiddlers. I have my $:/StoryList.tid 
>> text file open, and the 'list' property is changed in that file to exactly 
>> what I want. Also, the above terminal output occurs. However, when I do 
>> anything to my opened TiddlyWiki, whether it involves opening and closing 
>> tiddlers or not, the currently opened tiddlers in my browser simply 
>> overwrite whatever was in $_StoryList.tid previously.
>>
>> How can I command TiddlyWiki in my browser to load changes to tiddler 
>> values, including $_StoryList.tid?
>>
>> Thanks,
>> Matt
>>
>> On Tuesday, February 14, 2017 at 9:43:08 AM UTC-5, Jeremy Ruston wrote:
>>>
>>> Hi Matt
>>>
>>> On 14 Feb 2017, at 13:32, Matt Groth  wrote:
>>>
>>> The http.get request can also be seen in my network manager. Do you know 
>>> why the http.post might not be working, given that http.get does work?
>>>
>>>
>>> I’m not familiar with the http-post library that you’re using; perhaps 
>>> it’s doing something funky. I’d be inclined to just use the http module 
>>> unadorned.
>>>
>>> Best wishes
>>>
>>> Jeremy
>>>
>>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "TiddlyWiki" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to tiddlywiki+...@googlegroups.com.
> To post to this group, send email to tiddl...@googlegroups.com.
> Visit this group at https://groups.google.com/group/tiddlywiki.
>
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/tiddlywiki/9248c985-8fc3-4da7-b5a4-49961a938cd9%40googlegroups.com
>  
> 
> .
>
>
> For more options, visit https://groups.google.com/d/optout.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to tiddlywiki+unsubscr...@googlegroups.com.
To view this discussion on the web visit 

Re: [tw] Re: How to open Tiddler from command line (I am running TiddlyWiki on Node.JS)

2017-02-20 Thread Matt Groth
I finally got it to work just as I imagined! I can now create and open 
tiddlers in seconds containing whatever data I want. Thanks so much!

Jeremy,

*If you look at the “network” tab of developer tools while you run that 
snippet you’ll see that it generates the same underlying HTTP request as 
we’ve discussed earlier in the thread.*

I didn't know this, and it was extremely helpful.

*Chrome isn’t particularly easy to automate; you’d probably need to write 
an extension.*

You were right again, this is exactly what I needed to do.

*The issue you ran into whereby the change you made on the server wasn’t 
propagated to the browser is because the default polling interval is 60 
seconds. You can manually force a poll by clicking the “refresh” button in 
the “Server” tab of control panel. *

I am still unsure what you mean by this. When I tried modifying 
the $:/StoryList file, it did not change which tiddlers were open. Nothing 
I could do helped. Not refreshing, not restarting the server, and not 
clicking the "refresh" button in the "server" tab as you suggested. In 
fact, to quote the help tiddlers themselves: 

"The $:/StoryList 
 tiddler is an 
example of a StateTiddler : 
a tiddler that is used to hold the state of the user interface. Changes to 
the user interface are made indirectly, by changing the underlying state 
tiddlers, and letting TiddlyWiki 
 ripple the changes through 
the user interface." 

To be honest, I'm not sure I understand entirely. But what I do know is 
that $:/StoryList is fundamentally different from other tiddlers.

In the end, I accomplished my goal by injecting the javascript I mentioned 
above into the page through a Chrome extension. I have the injected script 
itself running on a separate server, so I can make changes to it and 
automate it.

Thanks again for your ideas, and for making such a versatile program.

Best,
Matt

On Monday, February 20, 2017 at 7:40:27 AM UTC-5, Jeremy Ruston wrote:
>
> Hi Matt
>
> Well I was going to post some of my updated findings and ask again for 
> help, when all of a sudden I stumbled upon what may be the answer. All I 
> had to do was run this javascript snippet in Chrome:
>
> var storyList = "TiddlerIWantToOpen"
> $tw.wiki.addTiddler({title: "$:/StoryList", text: "", list: 
> storyList},$tw.wiki.getModificationFields());
>
>
> If you look at the “network” tab of developer tools while you run that 
> snippet you’ll see that it generates the same underlying HTTP request as 
> we’ve discussed earlier in the thread.
>
> This works perfectly. Now I am just looking for a way to automate the 
> running of this snippet. (Does anyone happen to know how one can automate a 
> javascript snippet in Chrome?)
>
>
> Chrome isn’t particularly easy to automate; you’d probably need to write 
> an extension.
>
> Is there a reason why all of the http stuff was suggested? This seems like 
> a more direct solution.
>
>
> Because your original post mentioned that you wanted to do display a 
> tiddler “from an external script”. The most direct way for an external 
> script to interact with TiddlyWiki under Node.js is the HTTP interface.
>
> The issue you ran into whereby the change you made on the server wasn’t 
> propagated to the browser is because the default polling interval is 60 
> seconds. You can manually force a poll by clicking the “refresh” button in 
> the “Server” tab of control panel. 
>
> Best wishes
>
> Jeremy.
>
>
> On Wednesday, February 15, 2017 at 7:11:00 PM UTC-5, Matt Groth wrote:
>>
>> Hi Jeremy,
>>
>> You're right, the regular http.request was the way to go. After I lot of 
>> fiddling, I managed to get update tiddlers with normal HTTP requests!
>>
>> When I send a request, I see this terminal output:
>>
>> syncer-server: Dispatching 'save' task: $:/StoryList
>> FileSystem: Saved file /Users/Matt/TiddlyMusic/tiddlers/$__StoryList.tid 
>>
>>
>> While the .tid file is updated instantly, my TiddlyWiki in Chrome does 
>> not sync with the server until I interact with it in some way, such as 
>> opening or closing a tiddler. Then, I see the above terminal output again 
>> and the changes from my HTTP request appear. 
>>
>> However, changes to $:/StoryList do not sync at all, so I am still unable 
>> to automate the opening and closing of tiddlers. I have my $:/StoryList.tid 
>> text file open, and the 'list' property is changed in that file to exactly 
>> what I want. Also, the above terminal output occurs. However, when I do 
>> anything to my opened TiddlyWiki, whether it involves opening and closing 
>> tiddlers or not, the currently opened tiddlers in my browser simply 
>> overwrite whatever was in $_StoryList.tid previously.
>>
>> How can I command TiddlyWiki in my browser to load changes to tiddler 
>> values, including $_StoryList.tid?
>>
>> Thanks,
>> Matt
>>
>> On Tuesday, 

Re: [tw] Re: How to open Tiddler from command line (I am running TiddlyWiki on Node.JS)

2017-02-20 Thread Jeremy Ruston
Hi Matt

> Well I was going to post some of my updated findings and ask again for help, 
> when all of a sudden I stumbled upon what may be the answer. All I had to do 
> was run this javascript snippet in Chrome:
> 
> var storyList = "TiddlerIWantToOpen"
> $tw.wiki.addTiddler({title: "$:/StoryList", text: "", list: 
> storyList},$tw.wiki.getModificationFields());
> 

If you look at the “network” tab of developer tools while you run that snippet 
you’ll see that it generates the same underlying HTTP request as we’ve 
discussed earlier in the thread.

> This works perfectly. Now I am just looking for a way to automate the running 
> of this snippet. (Does anyone happen to know how one can automate a 
> javascript snippet in Chrome?)

Chrome isn’t particularly easy to automate; you’d probably need to write an 
extension.

> Is there a reason why all of the http stuff was suggested? This seems like a 
> more direct solution.

Because your original post mentioned that you wanted to do display a tiddler 
“from an external script”. The most direct way for an external script to 
interact with TiddlyWiki under Node.js is the HTTP interface.

The issue you ran into whereby the change you made on the server wasn’t 
propagated to the browser is because the default polling interval is 60 
seconds. You can manually force a poll by clicking the “refresh” button in the 
“Server” tab of control panel. 

Best wishes

Jeremy.
> 
> On Wednesday, February 15, 2017 at 7:11:00 PM UTC-5, Matt Groth wrote:
> Hi Jeremy,
> 
> You're right, the regular http.request was the way to go. After I lot of 
> fiddling, I managed to get update tiddlers with normal HTTP requests!
> 
> When I send a request, I see this terminal output:
> 
> syncer-server: Dispatching 'save' task: $:/StoryList
> FileSystem: Saved file /Users/Matt/TiddlyMusic/tiddlers/$__StoryList.tid
> 
> 
> While the .tid file is updated instantly, my TiddlyWiki in Chrome does not 
> sync with the server until I interact with it in some way, such as opening or 
> closing a tiddler. Then, I see the above terminal output again and the 
> changes from my HTTP request appear. 
> 
> However, changes to $:/StoryList do not sync at all, so I am still unable to 
> automate the opening and closing of tiddlers. I have my $:/StoryList.tid text 
> file open, and the 'list' property is changed in that file to exactly what I 
> want. Also, the above terminal output occurs. However, when I do anything to 
> my opened TiddlyWiki, whether it involves opening and closing tiddlers or 
> not, the currently opened tiddlers in my browser simply overwrite whatever 
> was in $_StoryList.tid previously.
> 
> How can I command TiddlyWiki in my browser to load changes to tiddler values, 
> including $_StoryList.tid?
> 
> Thanks,
> Matt
> 
> On Tuesday, February 14, 2017 at 9:43:08 AM UTC-5, Jeremy Ruston wrote:
> Hi Matt
> 
>> On 14 Feb 2017, at 13:32, Matt Groth > wrote:
>> 
>> The http.get request can also be seen in my network manager. Do you know why 
>> the http.post might not be working, given that http.get does work?
> 
> I’m not familiar with the http-post library that you’re using; perhaps it’s 
> doing something funky. I’d be inclined to just use the http module unadorned.
> 
> Best wishes
> 
> Jeremy
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "TiddlyWiki" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to tiddlywiki+unsubscr...@googlegroups.com 
> .
> To post to this group, send email to tiddlywiki@googlegroups.com 
> .
> Visit this group at https://groups.google.com/group/tiddlywiki 
> .
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/tiddlywiki/9248c985-8fc3-4da7-b5a4-49961a938cd9%40googlegroups.com
>  
> .
> For more options, visit https://groups.google.com/d/optout 
> .

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to tiddlywiki+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywiki@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/25C46A9D-E67F-4DDF-955C-D127ABDB9CB0%40gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [tw] Re: How to open Tiddler from command line (I am running TiddlyWiki on Node.JS)

2017-02-19 Thread Matt Groth
Well I was going to post some of my updated findings and ask again for 
help, when all of a sudden I stumbled upon what may be the answer. All I 
had to do was run this javascript snippet in Chrome:

var storyList = "TiddlerIWantToOpen"
$tw.wiki.addTiddler({title: "$:/StoryList", text: "", list: 
storyList},$tw.wiki.getModificationFields());

This works perfectly. Now I am just looking for a way to automate the 
running of this snippet. (Does anyone happen to know how one can automate a 
javascript snippet in Chrome?)

Is there a reason why all of the http stuff was suggested? This seems like 
a more direct solution.

On Wednesday, February 15, 2017 at 7:11:00 PM UTC-5, Matt Groth wrote:
>
> Hi Jeremy,
>
> You're right, the regular http.request was the way to go. After I lot of 
> fiddling, I managed to get update tiddlers with normal HTTP requests!
>
> When I send a request, I see this terminal output:
>
> syncer-server: Dispatching 'save' task: $:/StoryList
> FileSystem: Saved file /Users/Matt/TiddlyMusic/tiddlers/$__StoryList.tid 
>
>
> While the .tid file is updated instantly, my TiddlyWiki in Chrome does not 
> sync with the server until I interact with it in some way, such as opening 
> or closing a tiddler. Then, I see the above terminal output again and the 
> changes from my HTTP request appear. 
>
> However, changes to $:/StoryList do not sync at all, so I am still unable 
> to automate the opening and closing of tiddlers. I have my $:/StoryList.tid 
> text file open, and the 'list' property is changed in that file to exactly 
> what I want. Also, the above terminal output occurs. However, when I do 
> anything to my opened TiddlyWiki, whether it involves opening and closing 
> tiddlers or not, the currently opened tiddlers in my browser simply 
> overwrite whatever was in $_StoryList.tid previously.
>
> How can I command TiddlyWiki in my browser to load changes to tiddler 
> values, including $_StoryList.tid?
>
> Thanks,
> Matt
>
> On Tuesday, February 14, 2017 at 9:43:08 AM UTC-5, Jeremy Ruston wrote:
>>
>> Hi Matt
>>
>> On 14 Feb 2017, at 13:32, Matt Groth  wrote:
>>
>> The http.get request can also be seen in my network manager. Do you know 
>> why the http.post might not be working, given that http.get does work?
>>
>>
>> I’m not familiar with the http-post library that you’re using; perhaps 
>> it’s doing something funky. I’d be inclined to just use the http module 
>> unadorned.
>>
>> Best wishes
>>
>> Jeremy
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to tiddlywiki+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywiki@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/9248c985-8fc3-4da7-b5a4-49961a938cd9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [tw] Re: How to open Tiddler from command line (I am running TiddlyWiki on Node.JS)

2017-02-15 Thread Matt Groth
Hi Jeremy,

You're right, the regular http.request was the way to go. After I lot of 
fiddling, I managed to get update tiddlers with normal HTTP requests!

When I send a request, I see this terminal output:
'syncer-server: Dispatching 'save' task: $:/StoryList

FileSystem: Saved file /Users/Matt/TiddlyMusic/tiddlers/$__StoryList.tid'

While the .tid file is updated instantly, my TiddlyWiki in Chrome does not. 
Rather, the TiddlyWiki in my browser does not change until I interact with 
it in some way, such as opening or closing a tiddler. Then, I see the above 
terminal output again and the changes from my HTTP request appear. 

However, changes to $:/StoryList do not sync at all, so I am still unable 
to automate the opening and closing of tiddlers. I have my $:/StoryList.tid 
text file open, and the 'list' property is changed in that file to exactly 
what I want. Also, the above terminal output occurs. However, when I do 
anything to my opened TiddlyWiki, whether it involves opening and closing 
tiddlers or not, the currently opened tiddlers in my browser simply 
overwrite whatever was in $_StoryList.tid previously.

How can I command TiddlyWiki in my browser to load changes to tiddler 
values, including $_StoryList.tid?

Thanks,
Matt

On Tuesday, February 14, 2017 at 9:43:08 AM UTC-5, Jeremy Ruston wrote:
>
> Hi Matt
>
> On 14 Feb 2017, at 13:32, Matt Groth  wrote:
>
> The http.get request can also be seen in my network manager. Do you know 
> why the http.post might not be working, given that http.get does work?
>
>
> I’m not familiar with the http-post library that you’re using; perhaps 
> it’s doing something funky. I’d be inclined to just use the http module 
> unadorned.
>
> Best wishes
>
> Jeremy
>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to tiddlywiki+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywiki@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/739b0f8c-39e5-4482-88f2-2a2b0cf9a168%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [tw] Re: How to open Tiddler from command line (I am running TiddlyWiki on Node.JS)

2017-02-14 Thread Jeremy Ruston
Hi Matt

> On 14 Feb 2017, at 13:32, Matt Groth  wrote:
> 
> The http.get request can also be seen in my network manager. Do you know why 
> the http.post might not be working, given that http.get does work?

I’m not familiar with the http-post library that you’re using; perhaps it’s 
doing something funky. I’d be inclined to just use the http module unadorned.

Best wishes

Jeremy

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to tiddlywiki+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywiki@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/96DC9805-C220-4A61-8289-12BBC6B718BE%40gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [tw] Re: How to open Tiddler from command line (I am running TiddlyWiki on Node.JS)

2017-02-14 Thread Matt Groth

Hi Jeremy,

Thank you for explaining to me how data is sent over the network. 
Unfortunately, I'm still having a connection issue.

The code you posted continues to run without affecting my open 
TiddlyWiki, leaving a trace in my network manager, or producing an error.

On the other hand, I can connect using http.get:

var http = require('http');

ttp.get('http://127.0.0.1:8080/recipes/default/tiddlers/testing', 
function(res) {
  console.log("Got response: " + res.statusCode);
  console.log(res.headers);
}).on('error', function(e) {
console.log("Got error: " + e.message);
});

This produces the output:

Got response: 200

{ 'content-type': 'application/json',

  date: 'Tue, 14 Feb 2017 13:25:39 GMT',

  connection: 'close',

  'transfer-encoding': 'chunked' }

The http.get request can also be seen in my network manager. Do you know 
why the http.post might not be working, given that http.get does work?

I realized after your last post that you are the creator of TW. Thanks for 
all of the work you put in to making such a welcoming community! I'm very 
excited to learn more.

On Tuesday, February 14, 2017 at 3:32:32 AM UTC-5, Jeremy Ruston wrote:
>
> Hi Matt
>
> Firstly, apologies for the delayed reply.
>
> I spent a lot of time messing around and searching the internet to try to 
> learn how to make an http request.
>
>
> That pretty much sums up what software developers do :)
>
> This is the what I've managed to come up with:
>
>
> That’s pretty close. Try this (untested):
>
> console.log('pleasework starting');
>
> var http = require('http');
> http.post = require('http-post');
>
> var newTid = {
> text: "Tiddler text",
> title: "WillThisWork",
> type: "text/vnd.tiddlywiki"
> };
>
> http.post('http://127.0.0.1:8080/recipes/default/tiddlers/WillThisWork', 
> JSON.stringify(newTid), function(res){
> res.setEncoding('utf8');
> res.on('data', function(chunk) {
> console.log(chunk);
> });
> });
>
> The general idea is to compose the tiddler as a JavaScript object, and 
> then use JSON.stringify() to convert it to a JSON string for sending over 
> the network.
>
> Best wishes
>
> Jeremy
>
>
>
> console.log('pleasework starting');
>
> var http = require('http');
> http.post = require('http-post');
>
> var newTidText = '{' +
> '"text": "Tiddler text",' +
> '"title": "WillThisWork",' +
> '"type": "text/vnd.tiddlywiki"' +
> '}';
>
> //var newTid = JSON.parse(newTidText);
>
> http.post('http://127.0.0.1:8080/recipes/default/tiddlers/WillThisWork', 
> newTidText, function(res){
> res.setEncoding('utf8');
> res.on('data', function(chunk) {
> console.log(chunk);
> });
> });
>
> I commented out JSON.parse because I think it might not be necessary, but 
> I'm not sure. I found a program to watch network traffic, but I can't seem 
> to do anything that this program will respond to.
>
> So in terminal, I do:
>
> node pleasework.js
>
> And it gives the output:
>
> pleasework starting
>
> but still, I don't think anything is going through to my TiddlyWiki 
> server. Meanwhile, whenever I do anything in my TiddlyWiki, the program 
> picks it up and shows me all of the details. So I know exactly what I am 
> looking for, but there must be something missing in my javascript code.
>
> What am I missing?
>
>
> On Friday, February 10, 2017 at 11:23:59 PM UTC-5, Matt Groth wrote:
>>
>> Hi,
>>
>> I'm a beginner at programming. I just set up m tiddlywiki with Node.JS. 
>> I'm having trouble figuring out how to use commands to control TiddlyWiki. 
>> Can someone point me to a "Hello World" step by step tutorial of how to 
>> make command for TiddlyWiki using Node.JS? Specifically I would like to 
>> commands to open and close tiddlers, but in general I am having a lot of 
>> trouble finding guides or APIs or anything. 
>>
>> I also can't find any code to edit. Where is all the code that controls 
>> how Node.JS interacts with tiddlywiki? I've been searching my computer but 
>> can't find anything. My TiddlyWiki folder only has the .tid files and a 
>> .info file that doesn't seem too important.
>>
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "TiddlyWiki" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to tiddlywiki+...@googlegroups.com.
> To post to this group, send email to tiddl...@googlegroups.com.
> Visit this group at https://groups.google.com/group/tiddlywiki.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/tiddlywiki/dc5dd29d-a532-476d-a31c-0cfc074a1afe%40googlegroups.com
>  
> 
> .
> For more options, visit https://groups.google.com/d/optout.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 

Re: [tw] Re: How to open Tiddler from command line (I am running TiddlyWiki on Node.JS)

2017-02-14 Thread Jeremy Ruston
Hi Matt

Firstly, apologies for the delayed reply.

> I spent a lot of time messing around and searching the internet to try to 
> learn how to make an http request.

That pretty much sums up what software developers do :)

> This is the what I've managed to come up with:

That’s pretty close. Try this (untested):

console.log('pleasework starting');

var http = require('http');
http.post = require('http-post');

var newTid = {
text: "Tiddler text",
title: "WillThisWork",
type: "text/vnd.tiddlywiki"
};

http.post('http://127.0.0.1:8080/recipes/default/tiddlers/WillThisWork', 
JSON.stringify(newTid), function(res){
res.setEncoding('utf8');
res.on('data', function(chunk) {
console.log(chunk);
});
});

The general idea is to compose the tiddler as a JavaScript object, and then use 
JSON.stringify() to convert it to a JSON string for sending over the network.

Best wishes

Jeremy


> 
> console.log('pleasework starting');
> 
> var http = require('http');
> http.post = require('http-post');
> 
> var newTidText = '{' +
> '"text": "Tiddler text",' +
> '"title": "WillThisWork",' +
> '"type": "text/vnd.tiddlywiki"' +
> '}';
> 
> //var newTid = JSON.parse(newTidText);
> 
> http.post('http://127.0.0.1:8080/recipes/default/tiddlers/WillThisWork 
> ', newTidText, 
> function(res){
>   res.setEncoding('utf8');
>   res.on('data', function(chunk) {
>   console.log(chunk);
>   });
> });
> 
> I commented out JSON.parse because I think it might not be necessary, but I'm 
> not sure. I found a program to watch network traffic, but I can't seem to do 
> anything that this program will respond to.
> 
> So in terminal, I do:
> 
> node pleasework.js
> 
> And it gives the output:
> 
> pleasework starting
> 
> but still, I don't think anything is going through to my TiddlyWiki server. 
> Meanwhile, whenever I do anything in my TiddlyWiki, the program picks it up 
> and shows me all of the details. So I know exactly what I am looking for, but 
> there must be something missing in my javascript code.
> 
> What am I missing?
> 
> 
> On Friday, February 10, 2017 at 11:23:59 PM UTC-5, Matt Groth wrote:
> Hi,
> 
> I'm a beginner at programming. I just set up m tiddlywiki with Node.JS. I'm 
> having trouble figuring out how to use commands to control TiddlyWiki. Can 
> someone point me to a "Hello World" step by step tutorial of how to make 
> command for TiddlyWiki using Node.JS? Specifically I would like to commands 
> to open and close tiddlers, but in general I am having a lot of trouble 
> finding guides or APIs or anything. 
> 
> I also can't find any code to edit. Where is all the code that controls how 
> Node.JS interacts with tiddlywiki? I've been searching my computer but can't 
> find anything. My TiddlyWiki folder only has the .tid files and a .info file 
> that doesn't seem too important.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "TiddlyWiki" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to tiddlywiki+unsubscr...@googlegroups.com 
> .
> To post to this group, send email to tiddlywiki@googlegroups.com 
> .
> Visit this group at https://groups.google.com/group/tiddlywiki 
> .
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/tiddlywiki/dc5dd29d-a532-476d-a31c-0cfc074a1afe%40googlegroups.com
>  
> .
> For more options, visit https://groups.google.com/d/optout 
> .

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to tiddlywiki+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywiki@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/5A37A187-C99E-461A-BDFD-85DDAD8ADBC4%40gmail.com.
For more options, visit https://groups.google.com/d/optout.