summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2014-06-23 14:27:56 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2014-06-23 14:27:56 (GMT)
commitfc6fdc9b0b176bdbd69977117580c89c0fbe3d9f (patch)
tree10db208bfb788728958f80001a4fdc9e3211ad78
parent56c9428c88ad4057eb359342cf48f5f998e70d9e (diff)
parentd107949d213e53521a04f9c29362ca618bbbf8ae (diff)
downloadCMake-fc6fdc9b0b176bdbd69977117580c89c0fbe3d9f.zip
CMake-fc6fdc9b0b176bdbd69977117580c89c0fbe3d9f.tar.gz
CMake-fc6fdc9b0b176bdbd69977117580c89c0fbe3d9f.tar.bz2
Merge topic 'qthelp-context-fixes'
d107949d Help: Add context to titles in QtHelp. b5002631 Help: Create proper identifiers for keywords in QtHelp.
-rw-r--r--Utilities/Sphinx/CMakeLists.txt5
-rwxr-xr-xUtilities/Sphinx/create_identifiers.py32
-rw-r--r--Utilities/Sphinx/templates/layout.html6
3 files changed, 43 insertions, 0 deletions
diff --git a/Utilities/Sphinx/CMakeLists.txt b/Utilities/Sphinx/CMakeLists.txt
index 951f7ab..fd8cda9 100644
--- a/Utilities/Sphinx/CMakeLists.txt
+++ b/Utilities/Sphinx/CMakeLists.txt
@@ -88,6 +88,11 @@ if(SPHINX_QTHELP)
COMMAND ${CMAKE_COMMAND} "-DQTHELP_DIR=${CMAKE_CURRENT_BINARY_DIR}/qthelp/"
"-DCMake_VERSION=${CMake_VERSION_MAJOR}${CMake_VERSION_MINOR}${CMake_VERSION_PATCH}"
-P "${CMAKE_CURRENT_SOURCE_DIR}/fixup_qthelp_names.cmake"
+
+ # Create proper identifiers. Workaround for
+ # https://bitbucket.org/birkenfeld/sphinx/issue/1491/qthelp-should-generate-identifiers-for
+ COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/create_identifiers.py" "${CMAKE_CURRENT_BINARY_DIR}/qthelp/"
+
COMMAND qcollectiongenerator ${CMAKE_CURRENT_BINARY_DIR}/qthelp/CMake.qhcp
)
endif()
diff --git a/Utilities/Sphinx/create_identifiers.py b/Utilities/Sphinx/create_identifiers.py
new file mode 100755
index 0000000..4db7a3f
--- /dev/null
+++ b/Utilities/Sphinx/create_identifiers.py
@@ -0,0 +1,32 @@
+#!/usr/bin/env python
+
+import sys, os
+
+if len(sys.argv) != 2:
+ sys.exit(-1)
+name = sys.argv[1] + "/CMake.qhp"
+
+f = open(name)
+
+if not f:
+ sys.exit(-1)
+
+lines = f.read().splitlines()
+
+if not lines:
+ sys.exit(-1)
+
+newlines = []
+
+for line in lines:
+ if "<keyword name=\"command\"" in line:
+ if not "id=\"" in line:
+ prefix = "<keyword name=\"command\" "
+ part1, part2 = line.split(prefix)
+ head, tail = part2.split("#command:")
+ cmdname, rest = tail.split("\"")
+ line = part1 + prefix + "id=\"command/" + cmdname + "\" " + part2
+ newlines.append(line + "\n")
+
+f = open(name, "w")
+f.writelines(newlines)
diff --git a/Utilities/Sphinx/templates/layout.html b/Utilities/Sphinx/templates/layout.html
index 635ace3..1c5728c 100644
--- a/Utilities/Sphinx/templates/layout.html
+++ b/Utilities/Sphinx/templates/layout.html
@@ -11,3 +11,9 @@
<a href="{{ pathto(master_doc) }}">{{ shorttitle|e }}</a>{{ reldelim1 }}
</li>
{% endblock %}
+
+{# Put some context in the html title element. Workaround for #}
+{# https://bitbucket.org/birkenfeld/sphinx/issue/1492/qthelp-generate-html-title-element-should #}
+{% block htmltitle %}
+ <title>{{ title|striptags|e }} {{ "&mdash;"|safe }} {{ docstitle|e }}</title>
+{% endblock %}