/
vanamingo
/
math_texteditor
Обзор
Документация
Войти
/
vanamingo
/
math_texteditor
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
index.html
211 строк
14 KB
MM
INIT
07 июн 2026, 23:19
07 июн 2026, 23:19
aaa6060
Код
Авторство
О чём код?
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>КБ Редактор — Конструкторское бюро</title> <!-- KaTeX CSS --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.10/dist/katex.min.css"> <!-- Quill CSS --> <link href="https://cdn.quilljs.com/1.3.7/quill.snow.css" rel="stylesheet"> <!-- Custom CSS --> <link rel="stylesheet" href="styles.css"> </head> <body> <header class="app-header"> <div class="header-inner"> <div class="logo"> <span class="logo-icon">⚙</span> <span class="logo-text">КБ Редактор</span> </div> <div class="header-subtitle">Система редактирования технической документации</div> </div> </header> <main class="app-main"> <!-- Symbol Palette --> <section class="palette-section"> <h3 class="palette-title">Палитра математических символов</h3> <div class="palette-grid"> <button class="palette-btn" data-symbol="±" title="Плюс-минус">±</button> <button class="palette-btn" data-symbol="∓" title="Минус-плюс">∓</button> <button class="palette-btn" data-symbol="×" title="Умножение">×</button> <button class="palette-btn" data-symbol="÷" title="Деление">÷</button> <button class="palette-btn" data-symbol="≠" title="Не равно">≠</button> <button class="palette-btn" data-symbol="≈" title="Приблизительно">≈</button> <button class="palette-btn" data-symbol="≡" title="Тождественно">≡</button> <button class="palette-btn" data-symbol="≤" title="Меньше или равно">≤</button> <button class="palette-btn" data-symbol="≥" title="Больше или равно">≥</button> <button class="palette-btn" data-symbol="≪" title="Много меньше">≪</button> <button class="palette-btn" data-symbol="≫" title="Много больше">≫</button> <button class="palette-btn" data-symbol="∝" title="Пропорционально">∝</button> <button class="palette-btn" data-symbol="∞" title="Бесконечность">∞</button> <button class="palette-btn" data-symbol="√" title="Корень">√</button> <button class="palette-btn" data-symbol="∛" title="Корень кубический">∛</button> <button class="palette-btn" data-symbol="∑" title="Сумма">∑</button> <button class="palette-btn" data-symbol="∏" title="Произведение">∏</button> <button class="palette-btn" data-symbol="∫" title="Интеграл">∫</button> <button class="palette-btn" data-symbol="∬" title="Двойной интеграл">∬</button> <button class="palette-btn" data-symbol="∮" title="Контурный интеграл">∮</button> <button class="palette-btn" data-symbol="∂" title="Частная производная">∂</button> <button class="palette-btn" data-symbol="∇" title="Набла">∇</button> <button class="palette-btn" data-symbol="Δ" title="Дельта">Δ</button> <button class="palette-btn" data-symbol="ℏ" title="Постоянная Планка">ℏ</button> <button class="palette-btn" data-symbol="α" title="Альфа">α</button> <button class="palette-btn" data-symbol="β" title="Бета">β</button> <button class="palette-btn" data-symbol="γ" title="Гамма">γ</button> <button class="palette-btn" data-symbol="δ" title="Дельта малая">δ</button> <button class="palette-btn" data-symbol="ε" title="Эпсилон">ε</button> <button class="palette-btn" data-symbol="ζ" title="Дзета">ζ</button> <button class="palette-btn" data-symbol="η" title="Эта">η</button> <button class="palette-btn" data-symbol="θ" title="Тета">θ</button> <button class="palette-btn" data-symbol="λ" title="Лямбда">λ</button> <button class="palette-btn" data-symbol="μ" title="Мю">μ</button> <button class="palette-btn" data-symbol="π" title="Пи">π</button> <button class="palette-btn" data-symbol="σ" title="Сигма">σ</button> <button class="palette-btn" data-symbol="φ" title="Фи">φ</button> <button class="palette-btn" data-symbol="ψ" title="Пси">ψ</button> <button class="palette-btn" data-symbol="ω" title="Омега">ω</button> <button class="palette-btn" data-symbol="Ω" title="Омега большая">Ω</button> <button class="palette-btn" data-symbol="Γ" title="Гамма большая">Γ</button> <button class="palette-btn" data-symbol="Σ" title="Сигма большая">Σ</button> <button class="palette-btn" data-symbol="Π" title="Пи большая">Π</button> <button class="palette-btn" data-symbol="Θ" title="Тета большая">Θ</button> <button class="palette-btn" data-symbol="Φ" title="Фи большая">Φ</button> <button class="palette-btn" data-symbol="Ψ" title="Пси большая">Ψ</button> <button class="palette-btn" data-symbol="∈" title="Принадлежит">∈</button> <button class="palette-btn" data-symbol="∉" title="Не принадлежит">∉</button> <button class="palette-btn" data-symbol="⊂" title="Подмножество">⊂</button> <button class="palette-btn" data-symbol="⊆" title="Подмножество или равно">⊆</button> <button class="palette-btn" data-symbol="∪" title="Объединение">∪</button> <button class="palette-btn" data-symbol="∩" title="Пересечение">∩</button> <button class="palette-btn" data-symbol="∧" title="Логическое И">∧</button> <button class="palette-btn" data-symbol="∨" title="Логическое ИЛИ">∨</button> <button class="palette-btn" data-symbol="¬" title="Отрицание">¬</button> <button class="palette-btn" data-symbol="⇒" title="Следовательно">⇒</button> <button class="palette-btn" data-symbol="⇔" title="Равносильно">⇔</button> <button class="palette-btn" data-symbol="∀" title="Для любого">∀</button> <button class="palette-btn" data-symbol="∃" title="Существует">∃</button> <button class="palette-btn" data-symbol="→" title="Стрелка вправо">→</button> <button class="palette-btn" data-symbol="←" title="Стрелка влево">←</button> <button class="palette-btn" data-symbol="↔" title="Стрелка влево-вправо">↔</button> <button class="palette-btn" data-symbol="⇐" title="Двойная стрелка влево">⇐</button> <button class="palette-btn" data-symbol="°" title="Градус">°</button> <button class="palette-btn" data-symbol="⊥" title="Перпендикулярно">⊥</button> <button class="palette-btn" data-symbol="∥" title="Параллельно">∥</button> <button class="palette-btn" data-symbol="∠" title="Угол">∠</button> <button class="palette-btn" data-symbol="⊙" title="Круг">⊙</button> <button class="palette-btn" data-symbol="⊕" title="Прямая сумма">⊕</button> <button class="palette-btn" data-symbol="⊗" title="Тензорное произведение">⊗</button> </div> </section> <!-- Editor --> <section class="editor-section"> <div id="toolbar"> <span class="ql-formats"> <select class="ql-header" title="Заголовок"> <option value="1">Заголовок 1</option> <option value="2">Заголовок 2</option> <option value="3">Заголовок 3</option> <option selected>Обычный</option> </select> </span> <span class="ql-formats"> <button class="ql-bold" title="Жирный"></button> <button class="ql-italic" title="Курсив"></button> <button class="ql-underline" title="Подчёркнутый"></button> <button class="ql-strike" title="Зачёркнутый"></button> </span> <span class="ql-formats"> <button class="ql-list" value="ordered" title="Нумерованный список"></button> <button class="ql-list" value="bullet" title="Маркированный список"></button> <button class="ql-indent" value="-1" title="Уменьшить отступ"></button> <button class="ql-indent" value="+1" title="Увеличить отступ"></button> </span> <span class="ql-formats"> <button class="ql-blockquote" title="Цитата"></button> <button class="ql-code-block" title="Блок кода"></button> </span> <span class="ql-formats"> <select class="ql-align" title="Выравнивание"> <option selected></option> <option value="center"></option> <option value="right"></option> <option value="justify"></option> </select> </span> <span class="ql-formats"> <button class="ql-link" title="Ссылка"></button> <button class="ql-image" title="Изображение"></button> </span> <span class="ql-formats"> <button id="formula-btn" title="Вставить формулу (LaTeX)"> <span style="font-weight:bold;">f(x)</span> </button> <button id="formula-inline-btn" title="Вставить инлайн-формулу"> <span style="font-weight:bold;font-style:italic;">x²</span> </button> </span> <span class="ql-formats"> <button id="undo-btn" title="Отменить" onclick="quill.history.undo()">↩</button> <button id="redo-btn" title="Повторить" onclick="quill.history.redo()">↪</button> </span> </div> <div id="editor"> <h2>Техническое задание</h2> <p>Данный документ подготовлен в конструкторском бюро с использованием встроенного математического редактора.</p> <h3>Расчёт напряжений</h3> <p>Максимальное напряжение в сечении определяется по формуле:</p> <p>Для расчёта допускаемых напряжений используется коэффициент запаса прочности <em>n</em> = 1,5…3,0.</p> <h3>Условие прочности</h3> <p>Условие прочности при изгибе: σ_max ≤ [σ], где [σ] = σ_пред / n.</p> <p>Для пластичных материалов σ_пред = σ_т, для хрупких σ_пред = σ_в.</p> </div> </section> </main> <!-- Formula Modal --> <div id="formula-modal" class="modal-overlay" style="display:none;"> <div class="modal-content"> <div class="modal-header"> <h3 id="modal-title">Вставка формулы</h3> <button class="modal-close" id="modal-close-btn">×</button> </div> <div class="modal-body"> <label for="latex-input">Введите выражение LaTeX:</label> <textarea id="latex-input" rows="3" placeholder="Например: \frac{M}{W} или \sigma_{max} \leq [\sigma]"></textarea> <div class="modal-hint"> <strong>Подсказки:</strong> Дробь: <code>\frac{a}{b}</code>, Индекс: <code>x_{i}</code>, Степень: <code>x^{2}</code>, Корень: <code>\sqrt{x}</code>, Интеграл: <code>\int_{a}^{b}</code>, Сумма: <code>\sum_{i=1}^{n}</code>, Предел: <code>\lim_{x \to \infty}</code> </div> <div class="preview-label">Предпросмотр:</div> <div id="formula-preview" class="formula-preview"></div> </div> <div class="modal-footer"> <button class="btn btn-secondary" id="modal-cancel-btn">Отмена</button> <button class="btn btn-primary" id="modal-insert-btn">Вставить</button> </div> </div> </div> <!-- Scripts --> <script src="https://cdn.quilljs.com/1.3.7/quill.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/katex@0.16.10/dist/katex.min.js"></script> <script src="app.js"></script> </body> </html>