zine, services.rc – serve a text zine


zine will serve an interactive text zine based on the contents of $zinedata, by default $home/lib/zine. While it is possible to run zine directly, it is typically placed inside a script in /rc/bin/services. services.rc is an example of such ascript, suitable to be used as tcp23, telcodata, or similar. It simply invokes zine. To avoid overwriting an existing, used tcp23, services.rc is not installed by default
The data for the zine is a directory containing, at a minimum, an index and one directory per article. index is an rc script which must contain four variables:
hello       The file name to use as an introductory message.
articles      A list (in the rc sense) of the directories for articles.
authors      A list of the authors for the articles.
titles       A list of the titles for the articles.
Note that the articles, authors, and titles variables must have the same number of variables and must refer to the articles in the same order. hello must be set but need not refer to an existing file; it will be ignored if it does not exist or is not readable.
Each article can contain either an rc script called run or a series of text files named like 1.txt, 2.txt, and so on. If run exists and is executable, it will be executed and will be expected to create the output for the article. It may prompt, paginate, and so on itself. If run does not exist or is not executable, the series of text pages will be displayed in order with a prompt between them.
An example zine is distributed with the source.


Dial–a–Zine —
A New Session —

It should be possible to bail out of an article early.