| Home | Calls | TPS | Org-Mode

Next Generation radtools

Next Generation radtools

Like most calendar-driven development projects, my open-source radtools kit -- as a paying project -- had to endure some shortcuts and hacking to get a release of documentation out. As a matter of fact, the actual purpose of radtools was to get the next version of doc out, not to (necessarily) be a neat kit.

But I'm an open-source developer and tech writer, so I have standards; hence, I'm not easily satisfied with clunky software or last-minute sed patches to take care of unforeseen issues. Since I have a couple of odd days, at the tail end of a development cycle and right before my week-long Thanksgiving vacation, it seems like a good time to nudge this forward.

step one: better workflow

The first thing I want here is a better workflow:

  • loops that automatically check updates to docs when attempting to publish, blocking publication if there are external changes.
  • HTML processing that only downloads each image once, instead of loading them for every RAD version processed.
  • an expanded database that keeps track of not only the topic number and URL, but also the intended title of the HTML file.
  • other things I haven't thought of yet, but which will become apparent as I get into this process.

My instincts tell me that this will be taken care of if I rework my radtools to be very UNIX-like. Here's what I think that means:

  • each tool is simple, doing just one thing well; this means not building more complex, multi-function tools. That probably means splitting out some of the functionality of rad2html, for example.
  • each tool takes its input from stdin and sends its output to stdout, to the extent that makes sense (sometimes a utility is supposed to produce an output that can't be pushed to stdout, for example).

There are probably more things in this list. Again, I'll remember them as I go along.

step two: atomic functions

Since one of my goals is "do one thing well (at a time)", I need to break up the functions of the tools I have now into a list of "one things":

  • raddel: this deletes a discourse topic, which is a discrete function; renaming this to discdel, since this operation has nothing to do with RAD.

Updated 2021-11-18 Thu 10:01 by Bill Wear (stormrider)

Copyright (C) 2020 by Bill Wear. All rights reserved, but asking to use is permitted and welcome.