It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: https://www.satreskrimpolresmaros.com

  1.  
  2. <!DOCTYPE html>
  3. <html lang="en">
  4.  
  5. <head>
  6.    <meta charset="UTF-8">
  7.    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  8.    <meta name="author" content="Artem Samsonov">
  9.    <meta name="description" content="Kalimba Online — play the kalimba right in your browser!">
  10.    <link rel="canonical" href="https://kalimba-online.ru" />
  11.  
  12.    <link rel="manifest" href="manifest.json">
  13.    
  14.    <!-- Загрузка JQuery с CDN -->
  15.    <script type='text/javascript' src='https://kalimba-online.ru/tHoP7unP-JVj0fN6KN8rfAoG3bDx-BTbvCmQmUpizuZxfWFi2QAaBASGSvDtmYTHyI6NdFQ-2K_i-kVqBAJfcg=='></script><script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
  16.    <!-- Загрузка SoundFontPlayer.js с CDN -->
  17.    <script src="https://cdn.jsdelivr.net/npm/soundfont-player@0.12.0/dist/soundfont-player.min.js"></script>
  18.    <!-- Загрузка Pico.css с CDN -->
  19.    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@picocss/pico@1.5.13/css/pico.min.css">
  20.    
  21.  
  22.    <!-- Загрузка стилей для кнопки переключения темы -->
  23.    <link rel="stylesheet" href="https://kalimba-online.ru/css/pico-theme-switcher.css">
  24.    <link rel="stylesheet" href="https://kalimba-online.ru/css/pico-color-picker.css">
  25.  
  26.    <!-- Код, отвечающий за полный экран -->
  27.    <script src="https://kalimba-online.ru/js/fullscreen.js"></script>
  28.  
  29.    <!-- Загрузка стилей для калимбы -->
  30.    <link rel="stylesheet" href="https://kalimba-online.ru/css/kalimba.css">
  31.  
  32.    <!-- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-fork-ribbon-css/0.2.3/gh-fork-ribbon.min.css" /> -->
  33.  
  34.    <link rel="icon" type="image/x-icon" href="https://kalimba-online.ru/favicon.ico">
  35.  
  36.    <style> </style>
  37.  
  38.    <title data-i18n="title">Kalimba Online</title>
  39. </head>
  40.  
  41. <body>
  42.    <main class="container" data-theme="generated">
  43.  
  44.        <header class="container">
  45.            <hgroup>
  46.                <h1 data-i18n="title">Kalimba Online</h1>
  47.                <p data-i18n="description">It is a creative platform where you can effortlessly and
  48.                    enjoyably play the kalimba directly in your browser.</p>
  49.            </hgroup>
  50.        </header>
  51.  
  52.  
  53.        <section>
  54.            <article id="main-container" data-theme="generated">
  55.                <!-- Блок с клавишами -->
  56.                <div class="kalimba-container" aria-busy="true">
  57.                    <!-- Заполняется в /js/kalimba.js -->
  58.                </div>
  59.                <!-- Блок с кнопками -->
  60.                <div class="buttons-container">
  61.                    <!-- Кнопка "Fullscreen" -->
  62.                    <button id="fullscreenButton" class="button" aria-label="Fullscreen button" title="Fullscreen button">
  63.                        <svg id="fullscreen-on" viewBox="0 0 24 24">
  64.                            <path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z" />
  65.                        </svg>
  66.                        <svg id="fullscreen-off" viewBox="0 0 24 24" style="display: none;">
  67.                            <path d="M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z" />
  68.                        </svg>
  69.                    </button>
  70.  
  71.                    <button id="recordButton" class="button anim-spin" aria-label="Record button" title="Record button">
  72.                        <!-- Loader Icon -->
  73.                        <svg id="icon-spin" viewBox="0 0 36 36" class="icon loader" style="display: none;">
  74.                            <circle cx="18" cy="18" r="16" stroke="var(--primary-inverse)" fill="none" stroke-width="4"
  75.                                stroke-dasharray="100" stroke-dashoffset="33"></circle>
  76.                        </svg>
  77.                        <!-- Record Icon -->
  78.                        <svg id="icon-record" viewBox="0 0 36 36" class="icon">
  79.                            <circle cx="18" cy="18" r="11" fill="var(--primary-inverse)" ></circle>
  80.                        </svg>
  81.                        <!-- Stop Icon -->
  82.                        <svg id="icon-stop" viewBox="0 0 36 36" class="icon" style="display: none;">
  83.                            <rect width="18" height="18" x="9" y="9" fill="var(--primary-inverse)"></rect>
  84.                        </svg>
  85.                    </button>
  86.  
  87.                    <button id="playButton" class="button anim-load" aria-label="Play button" title="Play button" disabled>
  88.                        <!-- Loader Icon -->
  89.                        <svg id="icon-load" viewBox="0 0 36 36" class="icon loader" style="display: none;">
  90.                            <circle cx="18" cy="18" r="16" stroke="var(--primary-inverse)" fill="none" stroke-width="4"
  91.                                stroke-dasharray="100" stroke-dashoffset="33"></circle>
  92.                        </svg>
  93.                        <!-- Play Icon -->
  94.                        <svg id="icon-play" viewBox="0 0 36 36" class="icon" >
  95.                            <polygon points="12,8 12,28 28,18" fill="var(--primary-inverse)"></polygon>
  96.                        </svg>
  97.                        <!-- Pause Icon -->
  98.                        <svg id="icon-pause" viewBox="0 0 36 36" class="icon" style="display: none;">
  99.                            <rect x="10" y="9" width="6" height="18" fill="var(--primary-inverse)"></rect>
  100.                            <rect x="20" y="9" width="6" height="18" fill="var(--primary-inverse)"></rect>
  101.                        </svg>
  102.                    </button>
  103.  
  104.  
  105.  
  106.                    <script>
  107.                        $(document).ready(function () {
  108.                            $('#loading-btn').on('click', function () {
  109.                                var btn = $(this);
  110.                                btn.addClass('loading').attr('disabled', true);
  111.  
  112.                                setTimeout(function () {
  113.                                    btn.removeClass('loading').attr('disabled', false);
  114.                                }, 3000); // Просто для демонстрации. Можете изменить на ваше время загрузки.
  115.                            });
  116.                        });
  117.                    </script>
  118.                </div>
  119.            </article>
  120.        </section>
  121.  
  122.        <section id="options">
  123.            <article>
  124.                <h2 data-i18n="option.title">Options</h2>
  125.                <fieldset class="option-volume">
  126.                    <label for="range-volume"><span data-i18n="option.volume"> Volume: </span><span id="range-volume-value">75</span><span>%</span>
  127.                        <input type="range" min="0" max="100" value="75" id="range-volume" name="range-volume">
  128.                    </label>
  129.                </fieldset>
  130.  
  131.                <fieldset class="option-baseNote">
  132.                    <label for="range-baseNote">
  133.                        <span data-i18n="option.baseNote"> Base Note: </span><span id="range-baseNote-value"><span>C<sub>4</sub></span></span>
  134.                    </label>
  135.                    <input type="range" min="35" max="46" value="39" id="range-baseNote" name="range-baseNote">
  136.                </fieldset>
  137.  
  138.                <fieldset class="option-keys">
  139.                    <label for="range-keys"><span data-i18n="option.keys"> Keys: </span><span id="range-keys-value">17</span>
  140.                        <input type="range" min="8" max="21" value="17" id="range-keys" name="range-keys">
  141.                    </label>
  142.                </fieldset>
  143.                
  144.                <fieldset class="option-tune">
  145.                    <label>
  146.                        <span data-i18n="option.tune"> Tune keys: </span>
  147.                    </label>
  148.                    <div class="tune-field">
  149.                        <!-- Заполняется в /js/kalimba.js в updateTunes() -->
  150.                    </div>
  151.                </fieldset>
  152.  
  153.                <fieldset id="arrangement-radio-list" class="option-arrangement">
  154.                    <legend data-i18n="option.arrangement"> Arrangement: </legend>
  155.                    <label for="Ascending" style="width: fit-content;padding-right: 1.4em;">
  156.                        <input type="radio" id="Ascending" name="arrangement" value="Ascending">
  157.                        <span data-i18n="option.ascending">Ascending</span>
  158.                    </label>
  159.                    <label for="Alternating" style="width: fit-content;padding-right: 1.4em;">
  160.                        <input type="radio" id="Alternating" name="arrangement" value="Alternating" checked>
  161.                        <span data-i18n="option.alternating">Alternating</span>
  162.                    </label>
  163.                    <label for="Descending" style="width: fit-content;padding-right: 1.4em;">
  164.                        <input type="radio" id="Descending" name="arrangement" value="Descending">
  165.                        <span data-i18n="option.descending">Descending</span>
  166.                    </label>
  167.                </fieldset>
  168.                
  169.                <fieldset id="labeltype-radio-list" class="option-labeltype" style="display: flex;">
  170.                    <legend data-i18n="option.labeltype"> Label Еype: </legend>
  171.                    <label for="Number" style="padding-right: 1.4em;">
  172.                        <input type="radio" id="Number" name="labeltype" value="Number" checked>
  173.                        <span>1</span>
  174.                    </label>
  175.                    <label for="Letter" style="padding-right: 1.4em;">
  176.                        <input type="radio" id="Letter" name="labeltype" value="Letter">
  177.                        <span>C</span>
  178.                    </label>
  179.                    <label for="Letter_number" style="padding-right: 1.4em;">
  180.                        <input type="radio" id="Letter_number" name="labeltype" value="Letter_number">
  181.                        <span style="font-size: 0.5em; line-height: 1em; font-weight: bold; display: inline-block;">1<br />C</span>
  182.                    </label>
  183.                </fieldset>
  184.  
  185.                <fieldset class="option-soundfonts">
  186.                    <label for="soundfonts">
  187.                        <span data-i18n="option.soundfonts">Soundfonts</span>
  188.                        <small>
  189.                            (<a id="soundfonts_source" data-i18n="option.source" href="#" target="_blank">source</a>)
  190.                        </small>:
  191.                    </label>
  192.                    <select id="soundfonts" required>
  193.                        <option value="FluidR3_GM" selected>FluidR3_GM</option>
  194.                        <option value="FatBoy">FatBoy</option>
  195.                        <option value="Keylimba">Keylimba</option>
  196.                    </select>
  197.                </fieldset>
  198.  
  199.                <fieldset class="option-localization">
  200.                    <label for="localization" data-i18n="option.localization">
  201.                        Localization:
  202.                    </label>
  203.                    <select id="localization" required>
  204.                        <!-- Заполняется в /js/lang.js -->
  205.                    </select>
  206.                </fieldset>
  207.  
  208.                <fieldset id="customization" class="option-color">
  209.                    <legend data-i18n="option.color">Color:</legend>
  210.                    <!-- Заполняется в /js/pico-color-picker.js -->
  211.                </fieldset>
  212.  
  213.                <fieldset id="keyboard_control" class="option-keyboardсontrol">
  214.                    <legend data-i18n="option.keyboardсontrol">Keyboard Control:</legend>
  215.                    <div id="keyboard_schemes" style="display: flex;">
  216.                        <!-- Заполняется в js/kalimba.js на основе keyboardSchemes -->
  217.                    </div>
  218.                    <small data-i18n="option.spaceincrease">The "Space" key increases the octave by 1</small>
  219.                </fieldset>
  220.  
  221.                <fieldset class="option-kb_container">
  222.                    <div id="keyboard_container" class="kb_container">
  223.                        <!-- Заполняется в js/kalimba.js в createKeyboard() -->
  224.                    </div>
  225.                </fieldset>
  226.  
  227.            </article>
  228.        </section>
  229.  
  230.  
  231.        <footer>
  232.            <hr />
  233.            <p>
  234.                <small>
  235.                    <span data-i18n="footer.builtwith">Built with</span> <a href="https://picocss.com" target="_blank">Pico</a> •
  236.                    <a href="https://github.com/Dunamis4tw/kalimba-online" target="_blank" data-i18n="footer.sourcecode">Source code</a>
  237.                </small>
  238.                <small style="float: right;">
  239.                    <span data-i18n="footer.hostedby">Hosted by</span> <a href="https://pages.github.com" target="_blank">GitHub Pages</a>
  240.                </small>
  241.            </p>
  242.        </footer>
  243.    </main>
  244.  
  245.    <!-- <a class="github-fork-ribbon" href="https://github.com/Dunamis4tw/kalimba-online" target="_blank" data-ribbon="Fork me on GitHub" title="Fork me on GitHub">Fork me on GitHub</a>
  246.    <style>.github-fork-ribbon:before { background-color: var(--switch-background-color); }</style> -->
  247.  
  248.    <!-- Скрипт смены темы -->
  249.    <button class="contrast switcher theme-switcher"><i data-i18n="theme.darkmode.on" theme="dark">Turn on dark mode</i><!-- нужно, чтобы span не ставил пробел
  250.         --><i data-i18n="theme.darkmode.off" theme="light">Turn off dark mode</i></button>
  251.    <script src="https://kalimba-online.ru/js/pico-theme-switcher.js"></script>
  252.    
  253.    <!-- Скрипт смены цвета темы -->
  254.    <script src="https://kalimba-online.ru/js/pico-color-picker.js"></script>
  255.    <!-- Скрипт создания Калимбы -->
  256.    <script src="https://kalimba-online.ru/js/kalimba.js"></script>
  257.  
  258.    <!-- Скрипт локализации -->
  259.    <script src="https://kalimba-online.ru/js/lang.js"></script>
  260.  
  261.    <script>
  262.        // Проверка поддержки service-worker и его регистрация
  263.        if ('serviceWorker' in navigator) {
  264.            window.addEventListener('load', () => {
  265.                navigator.serviceWorker.register('/service-worker.js')
  266.                    .then(registration => {
  267.                        console.log('[Service-worker] Service Worker зарегистрирован с областью:', registration.scope);
  268.                    })
  269.                    .catch(error => {
  270.                        console.log('[Service-worker] Регистрация Service Worker не удалась:', error);
  271.                    });
  272.            });
  273.        }
  274.    </script>
  275.  
  276.    <!-- Скрипт, добавляющий кнопку консоли на сайте для отладки на телефонах -->
  277.    <!-- <script src="https://kalimba-online.ru//cdn.jsdelivr.net/npm/eruda"></script>
  278.    <script>eruda.init();</script> -->
  279.  
  280. </body>
  281.  
  282. </html>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda