1<!DOCTYPE html> 2<html> 3 <head> 4 <meta charset="utf-8"/> 5 <title> RX | Coral Morse Trainer </title> 6 <link rel="stylesheet" href="morse-trainer.css"> 7 <link rel="icon" href="favicon.png"> 8
8<script src="morse-trainer.js" defer></script>
8 9
9<script src="history.js" defer></script>
9 10
10<script src="edit-distance.js" defer></script>
10 11
11<script src="rx.js" defer></script>
11 12 </head> 13 <body> 14 <header> 15 <div class="head"> 16 <div> 17 Written by @xeniagda 18 <br/> 19 Source available on <a href="https://github.com/xeniagda/shoe-router/tree/master/morse-trainer">GitHub</a> 20 </div> 21 </div> 22 <div class="head"> 23 <h2><a href="index.html">Coral Morse Trainer</a></h2> 24 <h3>RX Training</h3> 25 </div> 26 27 <a class="head" id="settings-switch" href="#"> 28 <img src="./gear.svg" alt="gear icon"/> 29 </a> 30 </header> 31 <div id="settings"> 32 <em> In case no audio is played, try refreshing the page! If the first tone is cut off, try pressing the "Test tone" button below to start the audio early </em> 33 <div class="setting"> 34 <h2> Usage </h2> 35 Use text field in the key to write. <br/> 36 Use space to submit word. <br/> 37 Use tab to get a new sentance. <br/> 38 Use escape to pause. <br/> 39 Key: 40 <ul> 41 <li> <span class="char correct">A</span>: Correct! </li> 42 <li> <span class="char extraneous">A</span>: You entered an extra character! </li> 43 <li> <span class="char missing">A</span>: You missed a character! </li> 44 <li> <span class="char incorrect">A<span class="corrected">B</span></span>: You entered the wrong character, the correct one is displayed below it. </li> 45 </ul> 46 </div> 47 <div class="setting" id="modes"> 48 <h2> Mode </h2> 49 <div id="button-select-sentence" class="button-select"><em>Entire sentences</em>: Plays the entire message at once with no breaks.</div> 50 <div id="button-select-word" class="button-select selected"><em>Word-by-word</em>: Plays one word at a time, waiting until you've typed it to continue</div> 51 </div> 52 <div class="setting"> 53 <h2> Tone </h2> 54 Volume: <input id=volume type=range value=1 min=0 max=300></input> <button id="test-tone">Test tone</button> 55 <br /> 56 Frequency: <input id=freq type=number value=512 min=100 max=2000 step=10></input> [Hz] 57 <br /> 58 Enable light: <input id=enable-light type=checkbox></input> 59 </div> 60 <div class="setting"> 61 <h2> Speed </h2> 62 <input type="checkbox" id="split-speed-cb"></input><label for="split-speed-cb">Different character and word speed?</label> 63 <br /> 64 <div id="same-speed"> 65 <div> WPM: <input id=speed-wpm type=number value=12 min=1 max=50 step=0.5> </input> </div> 66 </div> 67 <div id="split-speed"> 68 <div> Character WPM: <input id=speed-wpm-char type=number value=12 min=1 max=50 step=0.5> </input> </div> 69 <div> Word WPM: <input id=speed-wpm-word type=number value=12 min=1 max=50 step=0.5> </input> </div> 70 </div> 71 </div> 72 </div> 73 <main id="main"> 74 <div id="history"> 75 <h3>Attempt <span id="history-count-total">37</span> (<span id="history-count-success">21</span>)</h3> 76 <a id="history-reset" href="#">Reset</a> 77 <div id="history-list"> 78 <div class="history-attempt"> 79 <span class="history-idx">3: </span> 80 <span class="history-accuracy">90.03%</span> 81 <span class="history-missed">-3</span>/<span class="history-incorrect">?5</span>/<span class="history-additional">+1</span> 82 <span class="history-name" data-long="KOCH-blahblah">Koch</span> 83 </div> 84 <div class="history-attempt fail"> 85 <span class="history-idx">2: </span>
86 <span class="history-accuracy">40.13%</span> 87 <span class="history-missed">-7</span>/<span class="history-incorrect">?0</span>/<span class="history-additional">+0</span> 88 <span class="history-name" data-long="KOCH-blahblah">Quotes</span> 89 </div> 90 </div> 91 </div> 92 <div id="main-split"> 93 <div id="textpart"> 94 <p id="reset-confirm" class="warning"> 95 Are you sure you want to skip this text? Press again to confirm 96 </p> 97 <div id="buttons"> 98 <div id="button-play-outer" class="button-outer" title="Play (space)"> <div id="button-play-inner" class="button-inner"> </div> </div> 99 <div id="button-stop-outer" class="button-outer" title="Pause (ESC)"> <div id="button-stop-inner" class="button-inner"> </div> </div> 100 <div id="button-next-outer" class="button-outer active" title="Next (Tab)"> <div id="button-next-inner" class="button-inner"> </div> </div> 101 </div> 102 <div id="text"> 103 </div> 104 <span id="author" class="type-bright"></span> 105 <br/> 106 <span id="accuracy" class="type-bright"></span> 107 </div> 108 <div id="under-text"> 109 <div id="result-screen"> 110 <div class="result-container" id="accuracy-result-container"> 111 <span class="result" id="accuracy-result"> idk% </span> 112 <span class="result-title"> accuracy </span> 113 </div> 114 <div class="result-container" id="wpm-result-container"> 115 <span class="result" id="wpm-result"> 20/10 wpm </span> 116 <span class="result-title"> wpm (char/word) </span> 117 </div> 118 <div class="result-container" id="chars-result-container"> 119 <span class="result" id="chars-result"> 123 </span> 120 <span class="result-title"> chars </span> 121 </div> 122 <div class="result-container" id="mode-result-container"> 123 <span class="result" id="mode-result"> koch idk </span> 124 <span class="result-title"> mode </span> 125 </div> 126 </div> 127 <div id="key"> 128 <input id="text-inp" type="text"> </input> 129 </div> 130 </div> 131 </div> 132 <div id="sentence-config"></div> 133 </main> 134 </body> 135 136</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.