[TW5] Getting plugins directly from GitHub, Bob, and some questions

121 views
Skip to first unread message

Jed Carty

unread,
Apr 3, 2019, 4:34:23 AM4/3/19
to TiddlyWiki
I think I sort of buried the lede in the last release post for Bob, but one of the new features is that it can now get plugins directly from GitHub repos. You can just give it the URL and it will fetch the plugin and save it to your library of plugins so it is available to all of your wikis.

I have tried to make a version for single file wikis, and it works, aside from my nemesis, CORS headers. From a browser you can't download the zip files from GitHub because they don't have CORS set up to let you do that. You may be able to down load specific files, but from what I have been able to find you can only do that if you know the names of the individual files. So the only realistic way I have been able to come up with for a single file wiki to get and build plugins directly from GitHub requires some sort of relay server. Bob could act as this server, but if you have Bob running it would be easier to just get the plugins with Bob and then either make your wiki in Bob and save it as a single file wiki, or use TWederBob to fetch the plugin from Bob.

So, for anyone who was able to follow my rambling, is it worth setting up Bob as a relay like this? A publicly accessible Bob server like on ooktech.xyz could also act as a relay which may make the relay idea much more useful. But so far I don't think anyone is really using the plugin library there so I have no idea if anyone would care.



The next part is about Bob itself. Currently Bob is quite large, about 750kb, which is around half the size of an empty wiki. On slow connections or older hardware this could add a significant amount of time to loading a wiki.
I can modify how Bob sends wikis to the browser so that it only sends the required parts to the browser, which come out to around 250kb. The biggest problem I see with this is that you would not be able to install Bob by dragging and dropping the plugin into a node wiki.
My hope is that BobEXE means that isn't really necessary anymore, but I wanted to see how people feel about it.
Another potential concern is that you no longer get to see all of the code for what Bob is doing in your wiki. I don't think that this is a concern for most people, and the code for Bob is up on GitHub, but one part of tiddlywiki that I like is that you can see all of the code that is running right there in your browser.

Jeremy Ruston

unread,
Apr 3, 2019, 5:01:59 AM4/3/19
to tiddl...@googlegroups.com
Hi Jed

I’ve been meaning to experiment along similar lines. I had my eye on unpkg.com, an independent project that provides a gateway to files stored in npm. It’s intended so that scripts can reference things like:

https://unpkg.com/tiddl...@5.1.19/boot/boot.js

The really interesting thing is that the files are served with access-control-allow-origin: * 

So, we could fairly easily take the repository https://github.com/jermolene/jermolene.github.io that contains the raw files for tiddlywiki.com and publish it to npm. Then one would be able to do things like:


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/6fe8da01-dbeb-4158-9637-7b301e1c5398%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

@TiddlyTweeter

unread,
Apr 3, 2019, 5:52:49 AM4/3/19
to TiddlyWiki
Dear Jeremy and Jed and Bob :-)

Anything that eases plugin install is good! Bob's various mechanisms for fetch, plugin install (local) etc are really superb. 

Its also worth mentioning Quinoid, Mark S's baby on Android, has an excellent fetch, customisable, mechanism to install remote TW onto your phone.

My wondering, somewhat left-field, is not so much about the mechanisms as what proportion of plugins are on github?

Dave's Toolmap thing has, I think, improved the situation with findability enormously. But I still struggle to locate what I need.

Not quite sure exactly what I am saying .... I guess its there is an informational dimension that is not entirely orthogonal to the tech side. 

If these initiatives can improve findability (and by implication, "indexing") I think it would be excellent and definitely enhance usage. But what about stuff that isn't on Github?

Just thoughts
Best wishes
Josiah


I'm wondering


On Wednesday, 3 April 2019 11:01:59 UTC+2, Jeremy Ruston wrote:
Hi Jed

I’ve been meaning to experiment along similar lines. I had my eye on unpkg.com, an independent project that provides a gateway to files stored in npm. It’s intended so that scripts can reference things like:


The really interesting thing is that the files are served with access-control-allow-origin: * 

So, we could fairly easily take the repository https://github.com/jermolene/jermolene.github.io that contains the raw files for tiddlywiki.com and publish it to npm. Then one would be able to do things like:

On 3 Apr 2019, at 09:34, Jed Carty <inmy...@gmail.com> wrote:

I think I sort of buried the lede in the last release post for Bob, but one of the new features is that it can now get plugins directly from GitHub repos. You can just give it the URL and it will fetch the plugin and save it to your library of plugins so it is available to all of your wikis.

I have tried to make a version for single file wikis, and it works, aside from my nemesis, CORS headers. From a browser you can't download the zip files from GitHub because they don't have CORS set up to let you do that. You may be able to down load specific files, but from what I have been able to find you can only do that if you know the names of the individual files. So the only realistic way I have been able to come up with for a single file wiki to get and build plugins directly from GitHub requires some sort of relay server. Bob could act as this server, but if you have Bob running it would be easier to just get the plugins with Bob and then either make your wiki in Bob and save it as a single file wiki, or use TWederBob to fetch the plugin from Bob.

So, for anyone who was able to follow my rambling, is it worth setting up Bob as a relay like this? A publicly accessible Bob server like on ooktech.xyz could also act as a relay which may make the relay idea much more useful. But so far I don't think anyone is really using the plugin library there so I have no idea if anyone would care.



The next part is about Bob itself. Currently Bob is quite large, about 750kb, which is around half the size of an empty wiki. On slow connections or older hardware this could add a significant amount of time to loading a wiki.
I can modify how Bob sends wikis to the browser so that it only sends the required parts to the browser, which come out to around 250kb. The biggest problem I see with this is that you would not be able to install Bob by dragging and dropping the plugin into a node wiki.
My hope is that BobEXE means that isn't really necessary anymore, but I wanted to see how people feel about it.
Another potential concern is that you no longer get to see all of the code for what Bob is doing in your wiki. I don't think that this is a concern for most people, and the code for Bob is up on GitHub, but one part of tiddlywiki that I like is that you can see all of the code that is running right there in your browser.

--
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 tiddl...@googlegroups.com.

Jed Carty

unread,
Apr 3, 2019, 8:46:20 AM4/3/19
to TiddlyWiki
I have set up the secure server version of Bob so that it can be a plugin repository that people can submit plugins to be served there, but it has gotten next to no interest. But it would work for non-github plugins. Also while I just said fetch plugins from GitHub the mechanism can get them from gitlab or anywhere that can serve a zip file with the plugin. GitLab just has the name recognition that would hopefully keep people from just ignoring it.

@TiddlyTweeter

unread,
Apr 3, 2019, 10:31:04 AM4/3/19
to TiddlyWiki
Ciao Jed

Jed Carty wrote:
I have set up the secure server version of Bob so that it can be a plugin repository that people can submit plugins to be served there, but it has gotten next to no interest.

I seen that. I'm not good here as I'm not quite yet able to do a plugin so am hardly to be considered competent.

At the same time, I do think this is more about lack of numbers than lack of interest.

Its a kind of Catch-22--recognising its good before knowing enough to know it is. 

I will help promote any Bob Online Repository as far as I can.

Best wishes
Josiah

Jed Carty

unread,
Apr 3, 2019, 10:54:32 AM4/3/19
to TiddlyWiki
That is the thing, it exists and I have mentioned it a lot since I put it up. It is almost the entire purpose of the TWederBob plugin.

Ste Wilson

unread,
Apr 3, 2019, 1:38:02 PM4/3/19
to TiddlyWiki
TWEDERATION! Long live the tiddlyweb!
Twiddlers talking to twiddlers!

Jed Carty

unread,
Apr 3, 2019, 2:02:54 PM4/3/19
to TiddlyWiki
And for the future of TWederation, I am working on inter-server communication with Bob, which could give us fully federated wikis. The node versions could act as relays for the single file wikis to get around many of the problems we had before, both in terms of speed and access. Inter-server messages also mean that you can have Bob running on your phone and on your computer and sync the wikis between the two, or sync local wikis with online wikis.

@TiddlyTweeter

unread,
Apr 4, 2019, 8:19:25 AM4/4/19
to tiddl...@googlegroups.com
Ciao Jed

I think its a wider problem in a way. Bob is used but the wider reach I think needs some solutions that are nothing to do with Bob per se. Bob suffers as we are not yet up to its speed.

What I mean is that its difficult to mass promote. TW posting to, for instance, Twitter or Telegram is not easily manageable because resource listings are inconsistent.

I would happily broadcast resources if I could figure out a sustainable way to do it. I need a consistent data structure to be able to automate it. I think it has to be automated. One by one doesn't get traffic?

FYI, I been playing with Dave's Toolmap to see if it can be converted to a format an auto-poster could use. Part of the issue is many of the pointers are to wiki, rather than the specific resource referred to.

Hope this is clear!

I think its solvable. That it may well be possible to generate a wiki Manifest of precise links to exact resources---but right now it needs a lot of manual effort.

Best wishes
Josiah
Reply all
Reply to author
Forward
Message has been deleted
0 new messages