w, r, pull, mktl, stories – read and write twtxt feeds
tw/w [ <message> ]
tw/r [ –apm ]
tw/mktl [ –p ]
tw/stories [ –pm ]
tw/r reads your timeline of feeds as prepared by tw/mktl and prints
any newer than the last time you ran the command, oldest first,
in a friendly format. The options are:
tw/w writes <message> to your twtxt feed, by default $home/lib/web/tw.txt.
If <message> is omitted, it will read one line from standard input
to use as the message. The message is simply appended to the file,
so any metadata or other comments are preserved.
–a Ignore "last viewed"; display all updates and do not set the last
–p Pull updates for any feeds you're subscribed to before displaying
statuses. Implies –m.
–m Make a new timeline from already pulled feeds; see tw/mktl.
tw/stories is like tw/r except only the most recent update from
each feed is displayed. The –p and –m options are the same as for
tw/r. tw/stories ignores and never sets the "last seen" time.
tw/pull will fetch any feeds you're subscribed to and store them
locally. Feeds and errors are stored in files named after the
hash of the URL being fetched in a cache directory located within
$home/lib/twtxt. The feed itself has ".txt" appended. If the feed
cannot be fetched, any errors will be stored in a file with ".err"
appended, and the feed will not be overwritten. Errors from successive
runs are appended to the ".err" file; the file is removed after
a successful run.
tw/pull will attempt to set the useragent string in webfs(4) to
comply with the twtxt discoverability specification. Doing so
relies on your feed containing lines beginning with "# nick =" and
"# url =", as is common in twtxt feeds. tw/pull attempts to be flexible
with spacing. If it cannot determine the nick and url, it will
use a generic useragent.
tw/mktl will generate a timeline from feeds previously pulled.
With –p it will invoke tw/pull to pull them before generating the
feeds. A common usage is to put tw/mktl –p in your cron entry.
/bin/rc/tw/lib – configuration
None of these do anything like adequate error checking.
You can easily trick tw/w into writing multi–line updates, which
is against the spec and will break lots of tools.
tw/pull's implementation of the discoverability protocol should
be optional. Also, there should be a tool in this set to perform
the inverse side.