Spaces:
Sleeping
Sleeping
| <html lang="en"> | |
| <head> | |
| <meta charset="utf-8" /> | |
| <meta name="viewport" content="width=device-width, initial-scale=1" /> | |
| <title>Chess Tutor</title> | |
| <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@lichess-org/chessground@9.3.1/assets/chessground.base.css" /> | |
| <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@lichess-org/chessground@9.3.1/assets/chessground.brown.css" /> | |
| <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@lichess-org/chessground@9.3.1/assets/chessground.cburnett.css" /> | |
| <script type="module" crossorigin src="/assets/main-CkIfBlvf.js"></script> | |
| <link rel="modulepreload" crossorigin href="/assets/styles-TMs65ssT.js"> | |
| <link rel="stylesheet" crossorigin href="/assets/styles-CMGKFw1K.css"> | |
| </head> | |
| <body> | |
| <header class="site-header"> | |
| <div class="brand"> | |
| <h1>Chess Tutor</h1> | |
| <p>Personal coaching and rated puzzle ladders</p> | |
| <p id="app-version" class="app-version muted" aria-label="Application version"></p> | |
| </div> | |
| </header> | |
| <main class="layout"> | |
| <section class="panel form-panel"> | |
| <h2>Analyze a player</h2> | |
| <form id="analyze-form"> | |
| <label> | |
| Username | |
| <input id="username" name="username" required placeholder="e.g. calciumdream" /> | |
| </label> | |
| <label> | |
| Site | |
| <select id="site" name="site"> | |
| <option value="lichess">Lichess</option> | |
| <option value="chess.com">Chess.com</option> | |
| </select> | |
| </label> | |
| <label> | |
| Games | |
| <input id="games" name="games" type="number" min="10" max="200" value="100" /> | |
| </label> | |
| <div class="analyze-submit-slot"> | |
| <button type="submit" id="analyze-btn">Run coaching</button> | |
| <div | |
| id="coaching-progress" | |
| class="coaching-progress hidden" | |
| role="progressbar" | |
| aria-valuemin="0" | |
| aria-valuemax="100" | |
| aria-valuenow="0" | |
| aria-live="polite" | |
| > | |
| <p id="coaching-progress-label" class="coaching-progress-label"></p> | |
| <div class="coaching-progress-track"> | |
| <div id="coaching-progress-fill" class="coaching-progress-fill"></div> | |
| </div> | |
| </div> | |
| </div> | |
| </form> | |
| <p class="hint">First run may take a few minutes while games are downloaded and analyzed.</p> | |
| <div id="status" class="status hidden" role="alert"></div> | |
| </section> | |
| <section id="results" class="results hidden"> | |
| <div class="player-banner" id="player-banner" data-web-section="player_banner"></div> | |
| <div class="card hidden" id="style-scale-card" data-web-section="style_scale"> | |
| <h3>Playing style</h3> | |
| <div id="style-scale-root"></div> | |
| </div> | |
| <div class="card hidden chart-card" id="tsne-card" data-web-section="tsne_plot"> | |
| <h3>Playstyle map (t-SNE)</h3> | |
| <div id="tsne-plot-root"></div> | |
| </div> | |
| <div class="card hidden chart-card" id="elo-tsne-card" data-web-section="elo_tsne_plot"> | |
| <h3>Rating vs t-SNE</h3> | |
| <div id="elo-tsne-plot-root"></div> | |
| </div> | |
| <div class="card hidden" id="style-traits-card" data-web-section="style_traits"> | |
| <h3>Playstyle changes</h3> | |
| <div id="style-traits-root"></div> | |
| </div> | |
| <div id="narrative-sections" data-web-section="narrative"></div> | |
| <div class="card hidden" id="openings-card" data-web-section="openings"> | |
| <h3>Top opening positions</h3> | |
| <div id="opening-cards" class="opening-grid"></div> | |
| </div> | |
| <div class="card hidden" id="puzzle-card" data-web-section="puzzles"> | |
| <div class="puzzle-header"> | |
| <h3>Puzzle practice</h3> | |
| <div id="puzzle-meta" class="puzzle-meta"></div> | |
| </div> | |
| <div id="puzzle-player" class="puzzle-player hidden"> | |
| <div class="puzzle-board-wrap"> | |
| <div id="board" class="board cg-wrap"></div> | |
| </div> | |
| <div class="puzzle-sidebar"> | |
| <p id="puzzle-status" class="puzzle-status">Find the best move.</p> | |
| <p id="puzzle-detail" class="puzzle-detail"></p> | |
| <div class="puzzle-actions"> | |
| <button type="button" id="puzzle-prev" class="secondary">Previous</button> | |
| <button type="button" id="puzzle-next" class="secondary">Next</button> | |
| <a id="puzzle-lichess" class="button-link" href="#" target="_blank" rel="noopener">Open on Lichess</a> | |
| </div> | |
| <ol id="puzzle-ladder" class="puzzle-ladder"></ol> | |
| </div> | |
| </div> | |
| <p id="puzzle-empty" class="muted hidden">No puzzle ladder available (install local puzzle shards).</p> | |
| </div> | |
| </section> | |
| </main> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/chess.js/0.10.3/chess.min.js"></script> | |
| </body> | |
| </html> | |