Workflows for producing online content in node.js?

Hi everyone

I am considering again producing online content with TiddlyWiki in node.js, something like an expanding knowledge base made for others. My idea is to work with files stored in OneDrive, then upload each week the files that have been modified that week.

Years ago I tried this a few times, but the barriers were these:

  1. While a local standalone file is a bookmark away, node.js is kind of hidden from view. One has to think of opening it.

  2. While a local standalone file is a click or two away, node.js involves opening the prompt thingy, remembering what to type into it, burrowing down to the appropriate file, then going to the browser and clicking a bookmark to go to a random string of numbers. Only then could I get working on content. This increases friction and makes it hard to add things “on the fly”.

  3. I used FileZilla to transfer ALL of the tid files because it wasn’t obvious to me that there was a way to collect just the files that were modified that week.

  4. Working with a local file and converting it to tid files was yet another step, so I avoided it.

For those who produce online content with node.js, I am wondering what kind of tips, tricks, workflows you all have used to reduce friction, save time and steps, make it more visible and accessible to remember, etc.

You describe a file as simple and node as complicated, to me it’s the reverse. Any file that I plan to use/edit on more than a single machine becomes a synchonisation nightmare - a problem which is sidestepped by node having the content in one spot and accessed over the network.

My setup is that I have the node service running all the time on an always-on system within my house network, and is reverse proxied out to the internet via an nginx setup which provides both https and auth (it’s http “basic” auth, but also nginx checks for the existence of a cookie, so in practice I only ever need to auth any given device once)

Thus I have a URL which is secure and available on any device anywhere (I regularly check it on my phone when out and about)

caveat to this - my day to day computing life is as much, if not more, in the terminal (“prompt thingy”) than a GUI app, and writing short terminal helper scripts so I don’t need to remember what to type, is pretty much second nature to me. For the general case of running node, I think node in docker that runs on on a local NAS with a few clicks is potentially the right sort of solution (and probably can do 90% or more of what I described above (and which was all setup by hand by me) in just a few clicks). The state of the docker image and it’s maintainer was discussed revived in this discussion here: Docker image maintainer - missing? - #18 by realaaa

I do a lot of similar work. However, I am quite familiar with the command line (“prompt thingy”) so working with Node is second nature. However I think two of my workflows could be easily adapted for your use.

  1. I have wikis that I edit in Node, stored in a wiki-specific folder on my computer. I have configured a service to run on my machine at all times keeping that wiki alive and at a fixed address. When I need to share it with someone else, I use the “Save Wiki” button and its “Save snapshot for offline use” option to create a single-file wiki for sharing. On occasion, I back these up using another mechanism. For me, that’s git, but you could choose to simply use those periodic saved single-file wikis as your backup.

    Techincal notes:

    • There is a one-time setup issue. You would likely need to learn how to install a service on your machine. This is trivial on Linux, probably easy on the Mac. On Windows, I use an external tool to help me configure them. But this is a one-time configuration (or once per wiki.)
    • The wiki runs at a fixed address that I have bookmarked. It does have an unfortunate string of number involved, but it’s the bookmarks that I use anyway, and it’s not that bad. My URLs look like http://localhost:7458/. Each separate wiki has it’s own port number (here 7458).
    • Creating a service requires administrative access to your machine. If you don’t have this, then there is an alternative of simply having this run in a script you can startup when needed and leave running until your machine shuts down.
  2. I have wikis that run on GitHub Pages, but which I edit locally with Node. These are publicly available wikis that users can hit at any time. The main advantage to me of this setup is the ease of creating new versions and rolling back to older ones. I often have multiple versions of these online at once.

    Techincal Notes:

    • This requires the ability to use git. While this is a significant hurdle for full-scale understanding, if you are the only one making changes to this content, it should actually be pretty straightforward to do, using one of the many git front-ends. And GitHub itself shouldn’t be hard.

I am willing to help you set up one of these, if the need is not urgent. I’m leaving very soon for a two-week vacation, and will be entirely offline during this time.

1 Like

Why still use command line while tiddlywiki nodejs have exe / app version?

TidGi-Desktop

TiddlyWiki App

3 Likes