diff --git a/Documentation/replace_macros.py b/Documentation/replace_macros.py
index b07006265e..d382909e16 100755
--- a/Documentation/replace_macros.py
+++ b/Documentation/replace_macros.py
@@ -20,6 +20,8 @@ import sys
PAT_GERRIT = re.compile(r'^GERRIT')
PAT_INCLUDE = re.compile(r'^(include::.*)(\[\])$')
PAT_GET = re.compile(r'^get::([^ \t\n]*)')
+PAT_TITLE = re.compile(r'^\.(.*)')
+PAT_STARS = re.compile(r'^\*\*\*\*')
GERRIT_UPLINK = """
@@ -31,18 +33,25 @@ GERRIT_UPLINK = """
margin-bottom: 0.5em;
\">
++++
+
"""
+GET_TITLE = '
%s
'
+
GET_MACRO = """
++++
+%s
+
++++
+
"""
opts = OptionParser()
@@ -56,6 +65,7 @@ try:
src_file = open(options.src, 'r')
last_line = ''
ignore_next_line = False
+ last_title = ''
for line in src_file.xreadlines():
if PAT_GERRIT.match(last_line):
# Case of "GERRIT\n------" at the footer
@@ -66,10 +76,18 @@ try:
match = PAT_INCLUDE.match(line)
out_file.write(last_line)
last_line = match.group(1) + options.suffix + match.group(2) + '\n'
+ elif PAT_STARS.match(line):
+ if PAT_TITLE.match(last_line):
+ # Case of the title in '.\n****\nget::\n****'
+ match = PAT_TITLE.match(last_line)
+ last_title = GET_TITLE % match.group(1)
+ else:
+ out_file.write(last_line)
+ last_title = ''
elif PAT_GET.match(line):
# Case of '****\nget::\n****' in rest api
url = PAT_GET.match(line).group(1)
- out_file.write(GET_MACRO.format(url))
+ out_file.write(GET_MACRO.format(url) % last_title)
ignore_next_line = True
elif ignore_next_line:
# Handle the trailing '****' of the 'get::' case