The changes are described in CHANGES. Contributions-by: Matthieu Moy <Matthieu.Moy@imag.fr> Contributions-by: Stefan Tatschner <rumpelsepp@sevenbyte.org> Contributions-by: Simon P <simon.git@le-huit.fr> Contributions-by: Leander Hasty <leander@1stplayable.com> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			57 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
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 = """\
 | 
						|
  <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.
 |