From f4a4b26dd53723fbcf452c4af24df4834b06471a Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sat, 22 Jun 2019 16:43:24 +0530 Subject: doc: Create texinfo documentation. * doc/guile-email.texi: New file. * Makefile.am (info_TEXINFOS): Register it. --- Makefile.am | 2 ++ doc/guile-email.texi | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 doc/guile-email.texi diff --git a/Makefile.am b/Makefile.am index b445d37..a0b3592 100644 --- a/Makefile.am +++ b/Makefile.am @@ -60,6 +60,8 @@ SCM_LOG_DRIVER = \ $(GUILE) --no-auto-compile -s \ $(top_builddir)/build-aux/test-driver.scm +info_TEXINFOS = doc/guile-email.texi + EXTRA_DIST += \ $(TESTS) \ build-aux/test-driver.scm \ diff --git a/doc/guile-email.texi b/doc/guile-email.texi new file mode 100644 index 0000000..9fed64e --- /dev/null +++ b/doc/guile-email.texi @@ -0,0 +1,88 @@ +\input texinfo +@setfilename guile-email.info +@settitle guile-email + +@copying +Copyright @copyright{} 2019 Arun Isaac@* + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with no +Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A +copy of the license is included in the section entitled ``GNU Free +Documentation License''. +@end copying + +@ifnottex +@node Top +@top guile-email +@end ifnottex + +@menu +* Introduction:: What is guile-email? +* Parsing e-mail:: Parsing e-mail +* Contributing:: Contributing + +Indices + +* Procedure Index:: +* Type Index:: + +@end menu + +@node Introduction +@chapter Introduction + +guile-email is a collection of email utilities implemented in pure +guile. It supports parsing MIME (Multipurpose Internet Mail Extensions) +compliant email messages as specified in RFC5322, RFC2045, RFC2046, +RF2047 and RFC2049. + +@section Features + +@itemize +@item Parse @uref{https://tools.ietf.org/html/rfc5322,,RFC5322} compliant email messages (currently does not support @uref{https://tools.ietf.org/html/rfc5322#section-4,,obsolete syntax}) +@item Parse MIME compliant email messages as specified in @uref{https://tools.ietf.org/html/rfc2045,,RFC2045}, @uref{https://tools.ietf.org/html/rfc2046,,RFC2046}, @uref{https://tools.ietf.org/html/rfc2047,,RFC2047} and @uref{https://tools.ietf.org/html/rfc2049,,RFC2049} +@item Parse non-standard @uref{https://www.gnu.org/software/emacs/manual/html_node/emacs/Mail-Headers.html, Emacs message mode parens style addresses} +@item Encode and decode Quoted-Printable encoding, Base64 encoding and Q-encoding +@item Read emails from the @uref{https://en.wikipedia.org/wiki/Mbox, mbox format} +@end itemize + +@node Parsing e-mail +@chapter Parsing e-mail + +@deffn {Scheme Procedure} parse-email email +Parse string @var{email} and return result as an record. +@end deffn + +@deffn {Scheme Procedure} parse-email-headers headers +Parse string @var{headers} as email headers and return an association +list of header keys and values. +@end deffn + +@deffn {Scheme Procedure} parse-email-body headers body +Parse @var{body} as email body where @var{headers} is an association +list of header keys and values as returned by +@code{parse-email-headers}. Return a list of records if +the body is a multipart message. Else, return a single +record. +@end deffn + +@node Contributing +@chapter Contributing + +Feedback, suggestions, feature requests, bug reports and patches are all +welcome. Please contact me by mail at +@email{arunisaac@@systemreboot.net}. + +@node Procedure Index +@chapter Procedure Index + +@printindex fn + +@node Type Index +@chapter Type Index + +@printindex tp + +@bye -- cgit v1.2.3