#gopher

On the note of using RSS with gopher.

% body

Example roster of gopher phlogging software (wt's gopher soft)[gopher://sdf.org/1/users/wt/soft/gopher].

Example users:

allpub.sh   - yargo, rbigelo (I suppose)
godot       - lulcer
mkgopher    - much used, e.g. echosa, melton, snowdusk, stecla
slerm       - slugmax

      .-----------------------------------------------.
     /  .-.                                       .-.  \
    |  /   \      You dunno what's godot?        /   \  |
    | |\_.  |     Download while it's HOT!      |    /| |
    |\|  | /|                                   |\  | |/|
    | `---' |    Dynamic! Phlogging ENGINE!     | `---' |
    |       |  Free of charge only 'till 2038!  |       |
    |       |                                   |       |
    |       | Contact ulcer on SDF for details! |       |
    |       |                                   |       |
    |       |-----------------------------------|       |
    \       |                                   |       /
     \     /                                     \     /
      `---'                                       `---'

Other software from that list for which I didn't recognize users yet:

blopher     - Blosxom to phlog converter
germ        - dynamic gopherlog
glog        - gopherlog
mapping     - a helper script for phlogger
mglog       - mail comments to glog script
nb2Gopher   - nanoblogger-based phlog
phlogEngine - dynamic gopherlog in FreeBasic
phlogger/phlupd - generates gopherlog gophermap
phlogger    - simple phlogging script
phloginator - very simple phlog script
phlogit     - Perl clone of mkgopherentry
plog.rc     - ...
slerm       - dynamic gopherlog
tirph       - TIR-menu generator
ugo         - gopher log script

Other  kinds of  flatfile  with front  page:  kickmule, jirka,  hobbsc,
nydel, jstg, tfurrows, solderpunk, etc.

Lest  take  such  RSS  reader  as newsbeuter.  It  defines  folder  for
executables  which  will  emulate  actual RSS  feed.  Aside  of  netcat
oriented phlogs  (single file, like  one by  simple), for now  we have:
couple of sophisticated dynamic phlogs and infinity of flatfile phlogs.

That results in:

- centralized roster of who use what (gopher roster)[users/ulcer/rss]
- helper scripts to place named feeds (gopher2rss)[users/ulcer/pool/src]

#
# Workflow
#
#

Archive contains  template scripts (which  may or  may not work  out of
box):  godot, slerm,  flatfile.  Helper  script "gopher-rss"  downloads
current registry of  users. User issues "gopher-rss"  with target user,
"gopher-rss"  installs  required  template script  to  newsbeuter  exec
folder and adds exec lines with tag  "gopher" to bottom of nb urls like
this:

    exec:~/.config/newsbeuter/execurl/gopher-wliao "gopher"

Result scripts download by default 10 items from phlog.

gopher-rss commands:

- update - download roster
- follow DOODE - install DOODE scraper from local roster
- unfollow DOODE - same but opposite

Take note that default RSS ttl is 30 mins.

#
# Formats
#
#

Roster file format (record per line):

    phlog_shortname <SEP> phlog_type <SEP> \
        base_phlog_url <SEP> [ params ]

phlog_shortname  is [a-zA-Z0-9],  next  character  is considered  field
separator,  which applies  to  optional params  too.  Separator can  be
repeated to visually tabulate fields.

Params match  "^[a-z_]+=" expression  following any content.  No single
quotes allowed. All templated variable definitions will be substituted for
params provided in roster.

Common param to all scrapers is  "count": number of entries to download
(default is 10), because each entry is curl/wget call.

Leave comment if you want someone added.

