diff options
author | Arun Isaac | 2019-06-22 16:43:24 +0530 |
---|---|---|
committer | Arun Isaac | 2019-06-22 16:53:59 +0530 |
commit | f4a4b26dd53723fbcf452c4af24df4834b06471a (patch) | |
tree | b324491e33864ebb9d6365c66aca874a30fbb459 | |
parent | 73eb3cb4957e93eacea9dce3e1b9078fec7dfeda (diff) | |
download | guile-email-f4a4b26dd53723fbcf452c4af24df4834b06471a.tar.gz guile-email-f4a4b26dd53723fbcf452c4af24df4834b06471a.tar.lz guile-email-f4a4b26dd53723fbcf452c4af24df4834b06471a.zip |
doc: Create texinfo documentation.
* doc/guile-email.texi: New file.
* Makefile.am (info_TEXINFOS): Register it.
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | doc/guile-email.texi | 88 |
2 files changed, 90 insertions, 0 deletions
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 <email> 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 <mime-entity> records if +the body is a multipart message. Else, return a single <mime-entity> +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 |