scribo

Email-based phlog generator
git clone git://git.z3bra.org/scribo.git
Log | Files | Refs | README | LICENSE

scribo.1 (2283B)


      1 .Dd 2020-09-09
      2 .Dt SCRIBO 1
      3 .Os POSIX.1-2017
      4 
      5 .Sh NAME
      6 .Nm scribo
      7 .Nd email-based gopherlog generator
      8 
      9 .Sh SYNOPSIS
     10 .Nm
     11 .Op Fl h
     12 .Op Fl a Ar address
     13 .Op Fl b Ar basedir
     14 .Op Fl d Ar datefmt
     15 .Op Fl x Ar command
     16 .Op Ar file
     17 
     18 .Sh DESCRIPTION
     19 .Nm
     20 turns emails into a gopherlog, (also named "rlog", or "phlog").
     21 .Pp
     22 Each mail will be parsed, and written out in plain text. The subject
     23 and date of the email are extracted from the headers (according to
     24 rfc5322), and used to add a title, and date to each entry.
     25 .Pp
     26 Emails are read from
     27 .Ar stdin
     28 by default, or
     29 .Pa file
     30 if specified.
     31 .Bl -tag -width Ds
     32 .It Fl h
     33 Print a quick usage text.
     34 .It Fl a Ar address
     35 Only process emails originated from
     36 .Ar address .
     37 This will be checked against the address found in the rfc5322 "From"
     38 header field.
     39 .It Fl b Ar basedir
     40 Specify directory where log entries and gopher map should be written.
     41 .Nm
     42 will try to change to this directory, and stop processing if it cannot
     43 change to this directory, or write files into it.
     44 .It Fl d Ar datefmt
     45 Change the date format appended to each entry. Format specified should
     46 be a valid format to pass to
     47 .Xr strftime 3 .
     48 .It Fl x Ar command
     49 Pass email body through
     50 .Ar command
     51 before writing it on disk. Note that this will only affect the email body,
     52 not the title or date.
     53 .El
     54 
     55 .Sh EXAMPLES
     56 Call
     57 .Nm
     58 from an
     59 .Xr aliases 5
     60 file:
     61 .Bd -literal
     62   name+rlog@domain.tld |/usr/local/bin/scribo -b /var/gopher/rlog -a name@domain.tld -x "fmt -w 69"
     63 .Ed
     64 .Pp
     65 Every mail received at
     66 .Ad name+rlog@domain.tld
     67 will update the gopher log in
     68 .Pa /var/gopher/rlog .
     69 Every entry will be filtered through
     70 .Xr fmt 1
     71 to limit text width at 69 chars (for sweet gopher rendering).
     72 .Pp
     73 To write logs as a specific user, configure the
     74 .Xr forward 5
     75 file of that user. In
     76 .Xr aliases 5 :
     77 .Bd -literal
     78   rlog@domain.tld user
     79 .Ed
     80 .Pp
     81 Then call
     82 .Nm
     83 from the user's .forward file, located at
     84 .Pa ~user/.forward
     85 :
     86 .Bd -literal
     87   "|/usr/local/bin/scribo -b ~/public_gopher"
     88 .Ed
     89 
     90 .Sh ENVIRONMENT
     91 .Bl -tag -width "SHELL"
     92 .It Ev SHELL
     93 This variable defines the shell used to interpret the filter command.
     94 The shell must accept the POSIX compliant
     95 .Fl c
     96 flag to pass the command string.
     97 .El
     98 
     99 .Sh SEE ALSO
    100 .Xr aliases 5 ,
    101 .Xr forward 5 ,
    102 .Xr smtpd 8
    103 
    104 .Sh AUTHORS
    105 .An Willy Goiffon Aq Mt dev@z3bra.org