Hi Jonathan Have you had a look at Electron <http://electron.atom.io/>? The framework looks to be more suitable than node webkit for this project.
regards On Sunday, 28 August 2016 20:04:47 UTC+2, Jonathan Doughty wrote: > > > Any further thoughts on this? > > I was recently motivated to begin the switch from using several single TW5 > files to node-served WikiFolders of tid files via tiddlywiki --server. > Now that I have started that process I am beginning to encounter the issues > of running separate tiddlywiki --server instances on separate ports and > the desire to share portions of my collection of tid files between those > while keeping the content segregated into folders. Using REST path > prefixes and WikiFolders seems like an ideal way to accomplish that and > Matt's efforts seemed to be headed in that direction. But the promising > beginning does not seem to have advanced. > > (FWIW, I can get TiddlyServer to present its GUI but not actually serve > any WikiFolder contents.) > > > On Monday, May 16, 2016 at 4:57:39 PM UTC-4, Matthew Lauber wrote: >> >> All, >> I am pleased to announce the initial public offering of software I've >> taken to calling TiddlyServer <https://github.com/mklauber/TiddlyServer>. >> TiddlyServer is a NW.js desktop application that can be used to setup a >> local server serving multiple Wikifolders. >> >> *To start off with, here's a quick look at the current UI. * >> >> >> <https://lh3.googleusercontent.com/-JAci075PzQM/Vzou22n4goI/AAAAAAAAATU/FlMnG_d3bqQr6ZueT4-FZnPVrS7C8HuxACLcB/s1600/Screenshot%2Bfrom%2B2016-05-16%2B16%253A33%253A51.png> >> >> The top Row is how you add additional wiki folders. Using the "Choose >> File" button you can select the root folder of your WikiFolder instance. >> The text box is the prefix you want the site to be available at. >> The Add button has a click event that adds the path and prefix to the >> config, starts the server, and then refreshes the UI. >> >> Below that are multiple rows of Individual wikis. Right now they're very >> sparse, grabbing just the title from the wiki itself, then listing the >> prefix for that wiki. Clicking anywhere on the row for a wiki opens it in >> your default browser. >> The Delete word is a button that stops the server and removes the wiki >> from the config file, then updates the UI. >> >> *Now a quick look at how this is designed.* >> >> This application is basically a big wrapper around being able to start >> multiple instances of TW5. the code here >> <https://github.com/mklauber/TiddlyServer/blob/master/source/js/server.js> >> contains most of the logic. >> >> 1. Upon starting up, it loads a config file if it exists, >> instantiates a TW5 instance for each wikifolder >> in the list. >> 1. The instance of TW5 is running a custom >> TW5 command "unixserver >> >> <https://github.com/mklauber/TiddlyWiki5/blob/multiserver/core/modules/commands/unixserver.js>" >> >> that basically uses a unix socket file instead >> of a port number. >> 2. Each instance of TW5 starts listening >> on it's socketPath. >> 2. It also starts up a proxyServer listening >> on port 8080. This proxyServer looks at the path >> part of the url, and uses >> that to proxy the request to the correct Socket. >> 1. If the wiki path does not match any >> prefix it'll respond saying that path doesn't >> match any wikis, please >> choose from the list below... and lists the >> wikis >> 3. Finally, the UI starts up. The UI allows >> the end user to add or remove the wikis and >> prefixes available. >> >> *A few notes at present.* >> >> - This likely only works on Unix and OSX. I'm currently relying on >> Unix Socket files to communicate between the proxy server. AFAIK, unix >> socket files are not supported on Windows. It would be possible to >> change >> this to use multiple ports. >> - This does not support WikiFiles, yet. Only WikiFolders. >> - The UI was hacked together via React in an afternoon to demonstrate >> that this was feasible. It does not provide basically any error handling. >> >> >> *Installing:* >> >> 1. Download the stable release of nw.js from http://nwjs.io/ >> 2. extract nw.js >> 3. Clone the repository at >> https://github.com/mklauber/TiddlyServer.git >> 4. cd to the `source` directory of the cloned repo >> 5. run `npm install` >> >> *Running: * >> >> 1. run `/path/to/nw.js-vx.x.x-.../nw .` >> >> >> I was inspired to tackle this based on some comments Jeremy made on the >> direction that he'd like to take TiddlyDesktop. Hopefully the community >> finds it interesting, if not yet actually useful. I would appreciate >> feedback, suggestions, and especially Pull Requests. >> >> Thanks, >> Matt Lauber >> > -- 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 [email protected]. To post to this group, send email to [email protected]. 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/98fb4542-1548-4bee-9864-f4f31b76f605%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
