Customizing the content and formatting of emails ================================================ Overloading template strings ---------------------------- 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). Using HTML in template strings ------------------------------ 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 = """\ This is an automated email from the git hooks/post-receive script.

%(pusher)s pushed a commit to %(refname_type)s %(short_refname)s in repository %(repo_shortname)s.
View on GitHub. """ 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.