From 3ba69edab5f0c787424dac9649e43a7743da13ca Mon Sep 17 00:00:00 2001 From: Srivathsan Murali Date: Sun, 3 Nov 2019 13:51:14 +0100 Subject: Add Templates with Parsing + Changes NewComposer to return error. + Add lib to handle templates using "text/template". + Add -T option to following commands - compose. - reply - forward + Quoted replies using templates. + Forwards as body using templates + Default templates are installed similar to filters. + Templates Config in aerc.conf. - Required templates are parsed while loading config. + Add aerc-templates.7 manual for using template data. --- doc/aerc-config.5.scd | 25 ++++++++++++++ doc/aerc-templates.7.scd | 89 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 114 insertions(+) create mode 100644 doc/aerc-templates.7.scd (limited to 'doc') diff --git a/doc/aerc-config.5.scd b/doc/aerc-config.5.scd index f4f02f2..0cde160 100644 --- a/doc/aerc-config.5.scd +++ b/doc/aerc-config.5.scd @@ -240,6 +240,31 @@ They are configured in the *[triggers]* section of aerc.conf. Format specifiers from *index-format* are expanded with respect to the new message. +## Templates + +Templates are used to populate the body of an email. The compose, reply +and forward commands can be called with the -T flag with the name of the +template name. + +aerc ships with some default templates installed in the share directory (usually +_/usr/share/aerc/templates_). + +*template-dirs* + The directory where the templates are stored. The config takes a + colon-separated list of dirs. + + Default: "/usr/share/aerc/templates" + +*quoted-reply* + The template to be used for quoted replies. + + Default: "quoted_reply" + +*forwards* + The template to be used for forward as body. + + Default: "forward_as_body" + # ACCOUNTS.CONF This file is used for configuring each mail account used for aerc. Each section diff --git a/doc/aerc-templates.7.scd b/doc/aerc-templates.7.scd new file mode 100644 index 0000000..8504a60 --- /dev/null +++ b/doc/aerc-templates.7.scd @@ -0,0 +1,89 @@ +aerc-templates(7) + +# NAME + +aerc-templates - template file specification for *aerc*(1) + +# SYNOPSIS + +aerc uses the go "text/template" package for the template parsing +which supports basic go lang operations. + +# MESSAGE DATA + +The following data can be used in templates. Though they are not all +available always. + +*Addresses* + An array of mail.Address. That can be used to add sender or recipient + names to the template. + + - From: List of senders. + - To: List of To recipients. Not always Available. + - Cc: List of Cc recipients. Not always Available. + - Bcc: List of Cc recipients. Not always Available. + - OriginalFrom: List of senders of the original message. + Available for quoted reply and forward. + + Example: + + Get the name of the first sender. + ``` + {{(index .From 0).Name}} + ``` + + Get the email address of the first sender + ``` + {{(index .From 0).Address}} + ``` + +*Date and Time* + The date and time information is always available and can be easily + formated. + + - Date: Date and Time information when the compose window is opened. + - OriginalDate: Date and Time when the original message of received. + Available for quoted reply and forward. + + The _dateFormat_ function can be used to format the date and time. + + Example: + + Format the date to go's time package format options. + ``` + {{dateFormat .Date "Mon Jan 2 15:04:05 -0700 MST 2006"}} + ``` + +*Subject* + The subject of the email is available for quoted reply and forward. + + Example: + {{.Subject}} + +*Original Message* + When using quoted reply or forward, the original message is available. + It can be used using two functions that are available to templates. + + Example: + + _wrapText_ function can be used to wrap the original text to a number + of characters per line. + ``` + {{wrapText .OriginalText 72}} + ``` + + _quote_ function prepends each line with "> " and wraps the text to + 72 characters pre line. + ``` + {{quote .OriginalText}} + ``` + +# SEE ALSO + +*aerc*(1) *aerc-config*(5) + +# AUTHORS + +Maintained by Drew DeVault , who is assisted by other open +source contributors. For more information about aerc development, see +https://git.sr.ht/~sircmpwn/aerc. -- cgit v1.2.3