comparison dottes.html.learnertune @ 588:afc031477784

Replace sed substitution with Python templating for HTML and LaTeX output.
author Jim Hague <jim.hague@acm.org>
date Wed, 02 Nov 2016 00:21:18 +0000
parents cb7a4eff9d5b
children 2fe68733ec17
comparison
equal deleted inserted replaced
587:1b79867b4f35 588:afc031477784
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html lang="en"> 2 <html lang="en">
3 <head> 3 <head>
4 <meta charset="utf-8" /> 4 <meta charset="utf-8" />
5 <title>Cry Havoc tunes - learning @TITLE@</title> 5 <title>Cry Havoc tunes - learning ${title}</title>
6 <link rel="stylesheet" href="../css/reset.css" /> 6 <link rel="stylesheet" href="../css/reset.css" />
7 <link rel="stylesheet" href="../css/text.css" /> 7 <link rel="stylesheet" href="../css/text.css" />
8 <link rel="stylesheet" href="../css/960.css" /> 8 <link rel="stylesheet" href="../css/960.css" />
9 <link rel="stylesheet" href="../css/dottes.css" /> 9 <link rel="stylesheet" href="../css/dottes.css" />
10 10
31 <div class="grid_12 dottes-body"> 31 <div class="grid_12 dottes-body">
32 <div class="dottes-tune-display"> 32 <div class="dottes-tune-display">
33 <div class="dottes-tune-header"> 33 <div class="dottes-tune-header">
34 <div class="dottes-tune-header-row"> 34 <div class="dottes-tune-header-row">
35 <div class="dottes-tune-header-left"> 35 <div class="dottes-tune-header-left">
36 <a class="dottes-tune-icon-link" href="@TUNE@.html"> 36 <a class="dottes-tune-icon-link" href="${name}.html">
37 <img class="dottes-tune-table-image" src="../img/music.png" 37 <img class="dottes-tune-table-image" src="../img/music.png"
38 alt="Dottes"> 38 alt="Dottes">
39 </a> 39 </a>
40 <a class="dottes-tune-icon-link" href="index.html"> 40 <a class="dottes-tune-icon-link" href="index.html">
41 <img class="dottes-tune-table-image" src="../img/book.png" 41 <img class="dottes-tune-table-image" src="../img/book.png"
42 alt="Tune index"> 42 alt="Tune index">
43 </a> 43 </a>
44 </div> 44 </div>
45 <div class="dottes-tune-header-middle"> 45 <div class="dottes-tune-header-middle">
46 <h1>@TITLE@</h1> 46 <h1>${title}</h1>
47 <h2>@SUBTITLE@</h2> 47 <h2>${subtitle}</h2>
48 </div> 48 </div>
49 <div class="dottes-tune-header-right"> 49 <div class="dottes-tune-header-right">
50 <em>@COMPOSER@</em> 50 <em>${composer}</em>
51 </div> 51 </div>
52 </div> 52 </div>
53 </div> 53 </div>
54 <p>@TITLE@ is in the key of @KEY@. 54 <p>${title} is in the key of ${key}.
55 <div class="dottes-tune-footer"> 55 <div class="dottes-tune-footer">
56 <div class="dottes-tune-footer-row"> 56 <div class="dottes-tune-footer-row">
57 <div class="dottes-tune-footer-left"> 57 <div class="dottes-tune-footer-left">
58 <p>Normal speed 58 <p>Normal speed
59 </div> 59 </div>
60 <div class="dottes-tune-footer-centre"> 60 <div class="dottes-tune-footer-centre">
61 <audio controls loop> 61 <audio controls loop>
62 <source src="../@MASTERBOOKE@/normal-@TUNE@.mp3" type="audio/mpeg" /> 62 <source src="../${masterbooke}/normal-${name}.mp3" type="audio/mpeg" />
63 <source src="../@MASTERBOOKE@/normal-@TUNE@.ogg" type="audio/ogg" /> 63 <source src="../${masterbooke}/normal-${name}.ogg" type="audio/ogg" />
64 <object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95"> 64 <object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95">
65 <param name="FileName" value="normal-@TUNE@.mp3" /> 65 <param name="FileName" value="normal-${name}.mp3" />
66 <param name="autoStart" value="false" /> 66 <param name="autoStart" value="false" />
67 <param name="autoplay" value="false" /> 67 <param name="autoplay" value="false" />
68 <param name="playCount" value="100000" /> 68 <param name="playCount" value="100000" />
69 <object type="audio/mpeg" data="normal-@TUNE@.mp3"> 69 <object type="audio/mpeg" data="normal-${name}.mp3">
70 <param name="controller" value="true" /> 70 <param name="controller" value="true" />
71 <param name="autoplay" value="false" /> 71 <param name="autoplay" value="false" />
72 <param name="playCount" value="100000" /> 72 <param name="playCount" value="100000" />
73 </object> 73 </object>
74 </object> 74 </object>
75 </audio> 75 </audio>
76 </div> 76 </div>
77 <div class="dottes-tune-footer-right"> 77 <div class="dottes-tune-footer-right">
78 <ul class="tune-data-list"> 78 <ul class="tune-data-list">
79 <li><a class="dottes-link-tune dottes-mp3" download 79 <li><a class="dottes-link-tune dottes-mp3" download
80 href="../@MASTERBOOKE@/@TUNE@.mp3">MP3</a></li> 80 href="../${masterbooke}/${name}.mp3">MP3</a></li>
81 <li><a class="dottes-link-tune dottes-ogg" download 81 <li><a class="dottes-link-tune dottes-ogg" download
82 href="../@MASTERBOOKE@/@TUNE@.ogg">OGG</a></li> 82 href="../${masterbooke}/${name}.ogg">OGG</a></li>
83 </ul> 83 </ul>
84 </div> 84 </div>
85 </div> 85 </div>
86 <div class="dottes-tune-footer-row"> 86 <div class="dottes-tune-footer-row">
87 <div class="dottes-tune-footer-left"> 87 <div class="dottes-tune-footer-left">
88 <p>Slightly slower 88 <p>Slightly slower
89 </div> 89 </div>
90 <div class="dottes-tune-footer-centre"> 90 <div class="dottes-tune-footer-centre">
91 <audio controls loop> 91 <audio controls loop>
92 <source src="../@MASTERBOOKE@/littleslow-@TUNE@.mp3" type="audio/mpeg" /> 92 <source src="../${masterbooke}/littleslow-${name}.mp3" type="audio/mpeg" />
93 <source src="../@MASTERBOOKE@/littleslow-@TUNE@.ogg" type="audio/ogg" /> 93 <source src="../${masterbooke}/littleslow-${name}.ogg" type="audio/ogg" />
94 <object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95"> 94 <object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95">
95 <param name="FileName" value="littleslow-@TUNE@.mp3" /> 95 <param name="FileName" value="littleslow-${name}.mp3" />
96 <param name="autoStart" value="false" /> 96 <param name="autoStart" value="false" />
97 <param name="autoplay" value="false" /> 97 <param name="autoplay" value="false" />
98 <param name="playCount" value="100000" /> 98 <param name="playCount" value="100000" />
99 <object type="audio/mpeg" data="littleslow-@TUNE@.mp3"> 99 <object type="audio/mpeg" data="littleslow-${name}.mp3">
100 <param name="controller" value="true" /> 100 <param name="controller" value="true" />
101 <param name="autoplay" value="false" /> 101 <param name="autoplay" value="false" />
102 <param name="playCount" value="100000" /> 102 <param name="playCount" value="100000" />
103 </object> 103 </object>
104 </object> 104 </object>
105 </audio> 105 </audio>
106 </div> 106 </div>
107 <div class="dottes-tune-footer-right"> 107 <div class="dottes-tune-footer-right">
108 <ul class="tune-data-list"> 108 <ul class="tune-data-list">
109 <li><a class="dottes-link-tune dottes-mp3" download 109 <li><a class="dottes-link-tune dottes-mp3" download
110 href="../@MASTERBOOKE@/littleslow-@TUNE@.mp3">MP3</a></li> 110 href="../${masterbooke}/littleslow-${name}.mp3">MP3</a></li>
111 <li><a class="dottes-link-tune dottes-ogg" download 111 <li><a class="dottes-link-tune dottes-ogg" download
112 href="../@MASTERBOOKE@/littleslow-@TUNE@.ogg">OGG</a></li> 112 href="../${masterbooke}/littleslow-${name}.ogg">OGG</a></li>
113 </ul> 113 </ul>
114 </div> 114 </div>
115 </div> 115 </div>
116 <div class="dottes-tune-footer-row"> 116 <div class="dottes-tune-footer-row">
117 <div class="dottes-tune-footer-left"> 117 <div class="dottes-tune-footer-left">
118 <p>Slow 118 <p>Slow
119 </div> 119 </div>
120 <div class="dottes-tune-footer-centre"> 120 <div class="dottes-tune-footer-centre">
121 <audio controls loop> 121 <audio controls loop>
122 <source src="../@MASTERBOOKE@/slow-@TUNE@.mp3" type="audio/mpeg" /> 122 <source src="../${masterbooke}/slow-${name}.mp3" type="audio/mpeg" />
123 <source src="../@MASTERBOOKE@/slow-@TUNE@.ogg" type="audio/ogg" /> 123 <source src="../${masterbooke}/slow-${name}.ogg" type="audio/ogg" />
124 <object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95"> 124 <object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95">
125 <param name="FileName" value="slow-@TUNE@.mp3" /> 125 <param name="FileName" value="slow-${name}.mp3" />
126 <param name="autoStart" value="false" /> 126 <param name="autoStart" value="false" />
127 <param name="autoplay" value="false" /> 127 <param name="autoplay" value="false" />
128 <param name="playCount" value="100000" /> 128 <param name="playCount" value="100000" />
129 <object type="audio/mpeg" data="slow-@TUNE@.mp3"> 129 <object type="audio/mpeg" data="slow-${name}.mp3">
130 <param name="controller" value="true" /> 130 <param name="controller" value="true" />
131 <param name="autoplay" value="false" /> 131 <param name="autoplay" value="false" />
132 <param name="playCount" value="100000" /> 132 <param name="playCount" value="100000" />
133 </object> 133 </object>
134 </object> 134 </object>
135 </audio> 135 </audio>
136 </div> 136 </div>
137 <div class="dottes-tune-footer-right"> 137 <div class="dottes-tune-footer-right">
138 <ul class="tune-data-list"> 138 <ul class="tune-data-list">
139 <li><a class="dottes-link-tune dottes-mp3" download 139 <li><a class="dottes-link-tune dottes-mp3" download
140 href="../@MASTERBOOKE@/slow-@TUNE@.mp3">MP3</a></li> 140 href="../${masterbooke}/slow-${name}.mp3">MP3</a></li>
141 <li><a class="dottes-link-tune dottes-ogg" download 141 <li><a class="dottes-link-tune dottes-ogg" download
142 href="../@MASTERBOOKE@/slow-@TUNE@.ogg">OGG</a></li> 142 href="../${masterbooke}/slow-${name}.ogg">OGG</a></li>
143 </ul> 143 </ul>
144 </div> 144 </div>
145 </div> 145 </div>
146 <div class="dottes-tune-footer-row"> 146 <div class="dottes-tune-footer-row">
147 <div class="dottes-tune-footer-left"> 147 <div class="dottes-tune-footer-left">
148 <p>Very slow 148 <p>Very slow
149 </div> 149 </div>
150 <div class="dottes-tune-footer-centre"> 150 <div class="dottes-tune-footer-centre">
151 <audio controls loop> 151 <audio controls loop>
152 <source src="../@MASTERBOOKE@/veryslow-@TUNE@.mp3" type="audio/mpeg" /> 152 <source src="../${masterbooke}/veryslow-${name}.mp3" type="audio/mpeg" />
153 <source src="../@MASTERBOOKE@/veryslow-@TUNE@.ogg" type="audio/ogg" /> 153 <source src="../${masterbooke}/veryslow-${name}.ogg" type="audio/ogg" />
154 <object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95"> 154 <object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95">
155 <param name="FileName" value="veryslow-@TUNE@.mp3" /> 155 <param name="FileName" value="veryslow-${name}.mp3" />
156 <param name="autoStart" value="false" /> 156 <param name="autoStart" value="false" />
157 <param name="autoplay" value="false" /> 157 <param name="autoplay" value="false" />
158 <param name="playCount" value="100000" /> 158 <param name="playCount" value="100000" />
159 <object type="audio/mpeg" data="veryslow-@TUNE@.mp3"> 159 <object type="audio/mpeg" data="veryslow-${name}.mp3">
160 <param name="controller" value="true" /> 160 <param name="controller" value="true" />
161 <param name="autoplay" value="false" /> 161 <param name="autoplay" value="false" />
162 <param name="playCount" value="100000" /> 162 <param name="playCount" value="100000" />
163 </object> 163 </object>
164 </object> 164 </object>
165 </audio> 165 </audio>
166 </div> 166 </div>
167 <div class="dottes-tune-footer-right"> 167 <div class="dottes-tune-footer-right">
168 <ul class="tune-data-list"> 168 <ul class="tune-data-list">
169 <li><a class="dottes-link-tune dottes-mp3" download 169 <li><a class="dottes-link-tune dottes-mp3" download
170 href="../@MASTERBOOKE@/veryslow-@TUNE@.mp3">MP3</a></li> 170 href="../${masterbooke}/veryslow-${name}.mp3">MP3</a></li>
171 <li><a class="dottes-link-tune dottes-ogg" download 171 <li><a class="dottes-link-tune dottes-ogg" download
172 href="../@MASTERBOOKE@/veryslow-@TUNE@.ogg">OGG</a></li> 172 href="../${masterbooke}/veryslow-${name}.ogg">OGG</a></li>
173 </ul> 173 </ul>
174 </div> 174 </div>
175 </div> 175 </div>
176 </div> 176 </div>
177 </div> 177 </div>