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.
This commit is contained in:
parent
ad68a9e4e4
commit
3ba69edab5
14 changed files with 510 additions and 143 deletions
|
@ -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
|
||||
|
|
89
doc/aerc-templates.7.scd
Normal file
89
doc/aerc-templates.7.scd
Normal file
|
@ -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 <sir@cmpwn.com>, who is assisted by other open
|
||||
source contributors. For more information about aerc development, see
|
||||
https://git.sr.ht/~sircmpwn/aerc.
|
Loading…
Add table
Add a link
Reference in a new issue