about summary refs log tree commit diff
path: root/third_party/immer/doc/sphinx-html-hack.bash
blob: 1dccb9265dd051a2c8c91486d4d72b4e50931009 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
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