about summary refs log tree commit diff
path: root/doc/sphinx-html-hack.bash
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2020-07-15T07·20+0100
committerVincent Ambo <mail@tazj.in>2020-07-15T07·20+0100
commit7f19d641647ac4ef313ed88d6b5c140983ce5436 (patch)
tree31b66c81465293da5c093c5dde3e419758c0d6cc /doc/sphinx-html-hack.bash
Squashed 'third_party/immer/' content from commit ad3e3556d
git-subtree-dir: third_party/immer
git-subtree-split: ad3e3556d38bb75966dd24c61a774970a7c7957e
Diffstat (limited to 'doc/sphinx-html-hack.bash')
-rwxr-xr-xdoc/sphinx-html-hack.bash101
1 files changed, 101 insertions, 0 deletions
diff --git a/doc/sphinx-html-hack.bash b/doc/sphinx-html-hack.bash
new file mode 100755
index 000000000000..1dccb9265dd0
--- /dev/null
+++ b/doc/sphinx-html-hack.bash
@@ -0,0 +1,101 @@
+#!/bin/bash
+
+location=`dirname $0`
+
+echo "Running $0 at $location"
+
+# Fixes issues described here among others
+# https://github.com/michaeljones/breathe/issues/284
+
+fix-missing-class-name()
+{
+    src='<span id="\([^"]*\)"></span>\(.*\)<em class="property">class </em>'
+    dst='<span id=""></span>\2<em class="property">class</em><tt class="descname">\1</tt>'
+    sed -i "s@$src@$dst@g" $location/_build/html/*.html
+}
+
+fix-missing-struct-name()
+{
+    src='<span id="\([^"]*\)"></span>\(.*\)<em class="property">struct </em>'
+    dst='<span id=""></span>\2<em class="property">struct</em><tt class="descname">\1</tt>'
+    sed -i "s@$src@$dst@g" $location/_build/html/*.html
+}
+
+fix-double-using-keyword()
+{
+    src='<em class="property">using</em><em class="property">using </em>'
+    dst='<em class="property">using </em>'
+    sed -i "s@$src@$dst@g" $location/_build/html/*.html
+}
+
+fix-do-not-repeat-type-in-member-using-declaration()
+{
+    src='<em class="property">using </em><code class="descname">\(\([^:]*::\)*\)\([^ ]*\) = \([^<]*\)</code>'
+    dst='<em class="property">using </em><code class="descname">\3 = \4</code>'
+    sed -i "s@$src@$dst@g" $location/_build/html/*.html
+}
+fix-do-not-repeat-type-in-member-using-declaration
+
+fix-remove-double-class-name()
+{
+    # src='<code class="descclassname">\([^&]*\)&lt;\([^&]*\)&gt;::</code>'
+    # dst='<code class="descclassname">\1::</code>'
+    src='<code class="descclassname">\([^<]*\)</code>'
+    dst=''
+    sed -i "s@$src@$dst@g" $location/_build/html/*.html
+}
+
+fix-remove-straneous-typedefs()
+{
+    src='typedef '
+    dst=''
+    sed -i "s@$src@$dst@g" $location/_build/html/*.html
+}
+
+fix-remove-straneous-typedefs-2()
+{
+    src='= typedef '
+    dst='= '
+    sed -i "s@$src@$dst@g" $location/_build/html/*.html
+}
+fix-remove-straneous-typedefs-2
+
+fix-remove-straneous-using-declarations()
+{
+    src='<em class="property">using </em>template&lt;&gt;<br />'
+    dst=''
+    sed -i "s@$src@$dst@g" $location/_build/html/*.html
+}
+
+fix-remove-straneous-template-in-using-declarations-1()
+{
+    src='\(<dl class="type">\n<dt[^>]*>\)\ntemplate&lt;&gt;<br />'
+    dst='\1'
+    pre=':a;N;$!ba;'
+    sed -i "$pre;s@$src@$dst@g" $location/_build/html/*.html
+}
+fix-remove-straneous-template-in-using-declarations-1
+
+fix-remove-straneous-template-in-using-declarations-2()
+{
+    src='></span>template&lt;&gt;<br /><span '
+    dst='></span><span '
+    sed -i "s@$src@$dst@g" $location/_build/html/*.html
+}
+fix-remove-straneous-template-in-using-declarations-2
+
+fix-remove-countainer-css-class-in-member-definitions-causing-overflow()
+{
+    src='breathe-sectiondef\([[:alnum:] _-]*\)container'
+    dst='breathe-sectiondef'
+    sed -i "s@$src@$dst@g" $location/_build/html/*.html
+}
+fix-remove-countainer-css-class-in-member-definitions-causing-overflow
+
+fix-remove-inherits-from()
+{
+    src='<p>Inherits from [^/]*</p>'
+    dst=''
+    sed -i "s@$src@$dst@g" $location/_build/html/*.html
+}
+fix-remove-inherits-from