All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
   1 <?xml version='1.0' encoding='utf-8'?>
 
   2 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 
   3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
 
   7 Process this file with an XSLT processor: `xsltproc \
 
   8 -''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\
 
   9 manpages/docbook.xsl manpage.dbk'.  A manual page
 
  10 <package>.<section> will be generated.  You may view the
 
  11 manual page with: nroff -man <package>.<section> | less'.  A
 
  12 typical entry in a Makefile or Makefile.am is:
 
  14 DB2MAN=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\
 
  18 manpage.1: manpage.dbk
 
  21 The xsltproc binary is found in the xsltproc package.  The
 
  22 XSL files are in docbook-xsl.  Please remember that if you
 
  23 create the nroff version in one of the debian/rules file
 
  24 targets (such as build), you will need to include xsltproc
 
  25 and docbook-xsl in your Build-Depends control field.
 
  29   <!-- Fill in your name for FIRSTNAME and SURNAME. -->
 
  30   <!ENTITY dhfirstname "<firstname>Martin F.</firstname>">
 
  31   <!ENTITY dhsurname   "<surname>Krafft</surname>">
 
  32   <!-- Please adjust the date whenever revising the manpage. -->
 
  33   <!ENTITY dhdate      "<date>September 30, 2007</date>">
 
  34   <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
 
  35        allowed: see man(7), man(1). -->
 
  36   <!ENTITY dhsection   "<manvolnum>1</manvolnum>">
 
  37   <!ENTITY dhemail     "<email>madduck@madduck.net</email>">
 
  38   <!ENTITY dhusername  "martin f. krafft">
 
  39   <!ENTITY dhucpackage "<refentrytitle>MAILPLATE</refentrytitle>">
 
  40   <!ENTITY dhpackage   "mailplate">
 
  42   <!ENTITY debian      "<productname>Debian</productname>">
 
  43   <!ENTITY gnu         "<acronym>GNU</acronym>">
 
  44   <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
 
  54       <holder>&dhusername;</holder>
 
  64     <refname>&dhpackage;</refname>
 
  66     <refpurpose>reformat mail drafts according to templates</refpurpose>
 
  70       <command>&dhpackage;</command>
 
  74             <arg choice="plain"><option>--new</option></arg>
 
  75             <arg choice="plain"><option>-n</option></arg>
 
  80             <arg choice="plain"><option>--editor</option></arg>
 
  81             <arg choice="plain"><option>-e</option></arg>
 
  86         <arg choice="plain"><option>--keep-unknown</option></arg>
 
  87         <arg choice="plain"><option>-k</option></arg>
 
  90         <arg choice="plain"><option>--verbose</option></arg>
 
  91         <arg choice="plain"><option>-v</option></arg>
 
  94         <arg choice="plain"><option>--debug</option></arg>
 
  95         <arg choice="plain"><option>-d</option></arg>
 
  97       <arg choice="plain"><replaceable>template-name</replaceable></arg>
 
  98       <arg choice="plain"><replaceable>message-file</replaceable></arg>
 
 101       <command>&dhpackage;</command>
 
 105             <arg choice="plain"><option>--auto</option></arg>
 
 106             <arg choice="plain"><option>-a</option></arg>
 
 111             <arg choice="plain"><option>--menu</option></arg>
 
 112             <arg choice="plain"><option>-m</option></arg>
 
 119             <arg choice="plain"><option>--new</option></arg>
 
 120             <arg choice="plain"><option>-n</option></arg>
 
 125             <arg choice="plain"><option>--editor</option></arg>
 
 126             <arg choice="plain"><option>-e</option></arg>
 
 131         <arg choice="plain"><option>--keep-unknown</option></arg>
 
 132         <arg choice="plain"><option>-k</option></arg>
 
 135         <arg choice="plain"><option>--verbose</option></arg>
 
 136         <arg choice="plain"><option>-v</option></arg>
 
 139         <arg choice="plain"><option>--debug</option></arg>
 
 140         <arg choice="plain"><option>-d</option></arg>
 
 142       <arg choice="plain"><replaceable>message-file</replaceable></arg>
 
 145       <command>&dhpackage;</command>
 
 149             <arg choice="plain"><option>--auto</option></arg>
 
 150             <arg choice="plain"><option>-a</option></arg>
 
 155             <arg choice="plain"><option>--menu</option></arg>
 
 156             <arg choice="plain"><option>-m</option></arg>
 
 161         <arg choice="plain"><option>--keep-unknown</option></arg>
 
 162         <arg choice="plain"><option>-k</option></arg>
 
 165         <arg choice="plain"><option>--verbose</option></arg>
 
 166         <arg choice="plain"><option>-v</option></arg>
 
 169         <arg choice="plain"><option>--debug</option></arg>
 
 170         <arg choice="plain"><option>-d</option></arg>
 
 172       <arg choice="plain">< <replaceable>message data</replaceable></arg>
 
 175       <command>&dhpackage;</command>
 
 177         <arg choice="plain"><option>--help</option></arg>
 
 178         <arg choice="plain"><option>-h</option></arg>
 
 182       <command>&dhpackage;</command>
 
 184         <arg choice="plain"><option>--version</option></arg>
 
 185         <arg choice="plain"><option>-V</option></arg>
 
 190     <title>DESCRIPTION</title>
 
 192     <para><command>&dhpackage;</command> is a programme that reformats mail
 
 193       drafts according to a given template. The template may be specified on
 
 194       the command line, but mailplate can also use control information from
 
 195       the template files to automatically select an appropriate template
 
 196       (<option>--auto</option>). A selection menu feature is planned
 
 197       (<option>--menu</option>). </para>
 
 199     <para> Applying a template means obtainined select data from an existing
 
 200       mail message (unless <option>--new</option> is specified) and to fill it
 
 201       into appropriate slots in the template. Messages are processed in three
 
 202       parts: headers, body, and signature. </para>
 
 204     <para> When <option>--new</option> is given, an empty instantiation of the
 
 205       template is written to stdout. At the moment, <option>--new</option>
 
 206       cannot be combined with <option>--editor</option>.</para>
 
 208     <para> The template can define two types of headers: mandatory and
 
 209       preservatory. Mandatory headers take precedence over headers in the
 
 210       existing message and thus overwrite them. Preservatory headers instruct
 
 211       mailplate to port their data from the existing mail message. Headers in
 
 212       the existing message but not defined in the template are dropped, unless
 
 213       <option>--keep-unknown</option> is given. </para>
 
 215     <para> Body and signature are separated by '-- '. If this sentinel is not
 
 216       found, no signature is extracted. Templates can be interpolated and data
 
 217       filled into slots. Helper slots are filled with the output of helper
 
 218       commands (which must be defined in the configuration), environment
 
 219       variable slots are just that, and mail variable slots can be filled with
 
 220       data obtained by running regexps or commands over the message. </para>
 
 222     <para> This script can be run in multiple ways: </para>
 
 225       <listitem><para> As a filter, it applies a template to data from stdin
 
 226           and writes the result to stdout. </para></listitem>
 
 228       <listitem><para> When <option>--editor</option> is passed, the script
 
 229           spawns <command>sensible-editor</command> on the result. It may thus
 
 230           be used as the editor for your mail user agent. </para></listitem>
 
 232       <listitem><para> Given a file, it modifies the file, unless it cannot
 
 233           write to the file, in which case it writes to stdout.
 
 241     <title>OPTIONS</title>
 
 243     <para> These programs follow the usual &gnu; command line syntax, with
 
 244       long options starting with two dashes (`--'): </para>
 
 248         <term><option>--auto</option>,
 
 252           <para>Turn on template auto-discovery.</para>
 
 256         <term><option>--menu</option>,
 
 260           <para>Choose from a list of templates (not yet implemented)</para>
 
 264         <term><option>--new</option>,
 
 268           <para>Create a new message.</para>
 
 272         <term><option>--editor</option>,
 
 276           <para>Spawn editor once template is applied.</para>
 
 280         <term><option>--keep-unknown</option>,
 
 284           <para>Preserve mail headers not specified in template.</para>
 
 288         <term><option>--verbose</option>,
 
 292           <para>Write informational messages to stderr.</para>
 
 296         <term><option>--debug</option>,
 
 300           <para>Start a debugger after initialisation.</para>
 
 305           <option>--help</option>,
 
 309           <para>Show summary of options.</para>
 
 314           <option>--version</option>,
 
 318           <para>Show version of program.</para>
 
 325     <title>SEE ALSO</title>
 
 326     <para>http://madduck.net/code/mailplate/</para>
 
 327     <para>/usr/share/doc/mailplate/README</para>
 
 331     <title>AUTHOR</title>
 
 333     <para>This manual page was written by &dhusername; &dhemail; with help
 
 334       from Carl Fürstenberg.</para>