The content of emails is generated based on template strings defined
in git_multimail.py. You can customize these template strings
without changing the script itself, by defining a Python wrapper
around it. The python wrapper should import git_multimail and then
override the git_multimail.* strings like this:
import sys # needed for sys.argv # Import and customize git_multimail: import git_multimail git_multimail.REVISION_INTRO_TEMPLATE = """...""" git_multimail.COMBINED_INTRO_TEMPLATE = git_multimail.REVISION_INTRO_TEMPLATE # start git_multimail itself: git_multimail.main(sys.argv[1:])
The template strings can use any value already used in the existing templates (read the source code).
If multimailhook.commitEmailFormat is set to HTML, then
git-multimail will generate HTML emails for commit notifications. The
log and diff will be formatted automatically by git-multimail. By
default, any HTML special character in the templates will be escaped.
To use HTML formatting in the introduction of the email, set
multimailhook.htmlInIntro to true. Then, the template can
contain any HTML tags, that will be sent as-is in the email. For
example, to add some formatting and a link to the online commit, use
a format like:
git_multimail.REVISION_INTRO_TEMPLATE = """\ <span style="color:#808080">This is an automated email from the git hooks/post-receive script.</span><br /><br /> <strong>%(pusher)s</strong> pushed a commit to %(refname_type)s %(short_refname)s in repository %(repo_shortname)s.<br /> <a href="https://github.com/git-multimail/git-multimail/commit/%(newrev)s">View on GitHub</a>. """
Note that the values expanded from %(variable)s in the format
strings will still be escaped.
For a less flexible but easier to set up way to add a link to commit
emails, see multimailhook.commitBrowseURL.
Similarly, one can set multimailhook.htmlInFooter and override any
of the *_FOOTER* template strings.