Download menu_json.html from DMTuit/psy_vk: direct link, hf CLI and curl.
- Browser
- Download file 4.62 kB
-
https://huggingface.co/spaces/DMTuit/psy_vk/resolve/main/menu_json.html
- Command line
-
hf download hf://spaces/DMTuit/psy_vk/menu_json.html
-
curl -L -o menu_json.html https://huggingface.co/spaces/DMTuit/psy_vk/resolve/main/menu_json.html
4.62 kB
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Menu Editor</title> | |
| <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/toastify-js/src/toastify.min.css"> | |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jsoneditor/9.9.2/jsoneditor.min.css" /> | |
| <style> | |
| body { | |
| font-family: Arial, sans-serif; | |
| text-align: center; | |
| background-color: #f0f0f0; | |
| margin: 0; | |
| padding: 0; | |
| max-height: 250px; /* Устанавливаем максимальную высоту страницы */ | |
| } | |
| h1 { | |
| background-color: #4CAF50; | |
| color: white; | |
| padding: 20px; | |
| margin: 0; | |
| border-bottom: 2px solid #388E3C; | |
| } | |
| .input-row { | |
| display: flex; | |
| justify-content: center; | |
| gap: 10px; | |
| margin-top: 20px; | |
| } | |
| .input-row input, .input-row textarea { | |
| padding: 10px; | |
| font-size: 16px; | |
| border: 1px solid #ccc; | |
| border-radius: 5px; | |
| } | |
| #jsoneditor { | |
| width: 50%; | |
| height: 300px; | |
| margin: 20px auto; | |
| } | |
| #addButton, #saveToClipboard { | |
| color: white; | |
| background-color: #4CAF50; | |
| border: none; | |
| cursor: pointer; | |
| padding: 10px 20px; | |
| font-size: 16px; | |
| border-radius: 5px; | |
| margin-top: 20px; | |
| } | |
| #addButton:hover, #saveToClipboard:hover { | |
| background-color: #388E3C; | |
| } | |
| .jsoneditor-menu { | |
| background-color: #4CAF50 ; | |
| border-bottom: 1px solid #388E3C ; | |
| } | |
| .jsoneditor{ | |
| border: 1px #4CAF50 ; | |
| border-bottom: 2px solid #388E3C ; | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <h1>Редактор меню</h1> | |
| <div> | |
| <div class="input-row"> | |
| <label for="buttonId">id кнопки:</label> | |
| <input type="text" id="buttonId" placeholder="Введите id кнопки"> | |
| <label for="pageLink">Ссылка на страницу:</label> | |
| <input type="text" id="pageLink" placeholder="Введите ссылку"> | |
| </div> | |
| <button id="addButton">Добавить кнопку</button> | |
| <button id="saveToClipboard">Сохранить в буфер обмена</button> | |
| </div> | |
| <div id="jsoneditor"></div> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/jsoneditor/9.9.2/jsoneditor.min.js"></script> | |
| <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/toastify-js"></script> | |
| <script> | |
| document.addEventListener('DOMContentLoaded', function() { | |
| const container = document.getElementById('jsoneditor'); | |
| const options = { | |
| mode: 'code', | |
| modes: ['code', 'tree'], | |
| onError: function(err) { | |
| alert(err.toString()); | |
| } | |
| }; | |
| const editor = new JSONEditor(container, options); | |
| let menuItems = []; | |
| editor.set(menuItems); | |
| document.getElementById('addButton').addEventListener('click', function() { | |
| const buttonId = document.getElementById('buttonId').value; | |
| const pageLink = document.getElementById('pageLink').value; | |
| if (buttonId && pageLink) { | |
| menuItems.push({ id: buttonId, link: pageLink }); | |
| editor.set(menuItems); | |
| document.getElementById('buttonId').value = ''; | |
| document.getElementById('pageLink').value = ''; | |
| } else { | |
| alert('Пожалуйста, заполните оба поля: id кнопки и ссылку на страницу.'); | |
| } | |
| }); | |
| document.getElementById('saveToClipboard').addEventListener('click', function() { | |
| const json = editor.get(); | |
| const jsonString = JSON.stringify(json, null, 0); // Добавляем в одну строку без отступов | |
| navigator.clipboard.writeText(jsonString).then(function() { | |
| Toastify({ | |
| text: "Меню скопировано!", | |
| duration: 3000, // Показывать 3 секунды | |
| newWindow: true, | |
| close: true, | |
| gravity: "top", // Показывать сверху | |
| position: "center", // Позиционировать по центру | |
| backgroundColor: "linear-gradient(to right, #00b09b, #96c93d)", | |
| stopOnFocus: true // Останавливать таймер при фокусе на сообщении | |
| }).showToast(); | |
| }, function(err) { | |
| console.error('Не удалось скопировать текст: ', err); | |
| }); | |
| }); | |
| }); | |
| </script> | |
| </body> | |
| </html> |