# HG changeset patch
# User Mathias De Maré <mathias.demare@gmail.com>
# Date 2016-08-08 14:47:42
# Node ID a12d13eac5131c9aa33fbb5106daf8049624d261
# Parent  b8f9cdca88077e97d4869320b9d18481fbe252ef

help: add example of '[templates]' usage

V2:
- move from shortest() with minlength 8 to minlength 4
- mention [templates] in config.txt
- better describe the difference between [templatealias] and [templates]

V3:
- choose a better example template

diff --git a/mercurial/help/config.txt b/mercurial/help/config.txt
--- a/mercurial/help/config.txt
+++ b/mercurial/help/config.txt
@@ -1615,6 +1615,12 @@ relative path alone. The rules are appli
 
 Alias definitions for templates. See :hg:`help templates` for details.
 
+``templates``
+-------------
+
+Use the ``[templates]`` section to define template strings.
+See :hg:`help templates` for details.
+
 ``trusted``
 -----------
 
diff --git a/mercurial/help/templates.txt b/mercurial/help/templates.txt
--- a/mercurial/help/templates.txt
+++ b/mercurial/help/templates.txt
@@ -71,6 +71,20 @@ For example,
 defines two symbol aliases, ``r`` and ``rn``, and a function alias
 ``leftpad()``.
 
+It's also possible to specify complete template strings, using the
+``templates`` section. The syntax used is the general template string syntax.
+
+For example,
+
+::
+
+  [templates]
+  nodedate = "{node|short}: {date(date, "%Y-%m-%d")}\n"
+
+defines a template, ``nodedate``, which can be called like::
+
+  $ hg log -r . -Tnodedate
+
 Some sample command line templates:
 
 - Format lists, e.g. files::