Добавлена полная документация проекта LogBoard+

- Создан основной README.md с описанием проекта
- Добавлена подробная документация в папке docs/
- Создан файл LICENSE (MIT)
- Обновлен .gitignore
- Добавлена документация по безопасности с генерацией ключей
- Включены примеры конфигураций и устранение неполадок

Автор: Сергей Антропов
Сайт: https://devops.org.ru
This commit is contained in:
Сергей Антропов
2025-08-19 01:06:23 +03:00
parent 86a2c44333
commit 5c8efe2644
11 changed files with 4932 additions and 90 deletions

View File

@@ -783,34 +783,9 @@ a{color:var(--link)}
justify-content: center;
}
/* Help button: visible only when sidebar is collapsed */
.sidebar:not(.collapsed) .help-btn { display: none; }
.sidebar.collapsed .help-btn { display: flex; }
/* При свернутом сайдбаре фиксируем help-btn снизу по центру */
.sidebar.collapsed { position: relative; }
.sidebar.collapsed .help-btn {
position: absolute;
left: 50%;
bottom: 10px;
transform: translateX(-50%);
z-index: 2;
}
/* Компактные контролы в header: по умолчанию скрыты */
.header-compact-controls { display: none; align-items: center; gap: 6px; }
.help-btn:hover,
.logout-btn:hover {
background: var(--tab-active);
color: var(--fg);
border-color: var(--accent);
}
/* Tooltip для кнопки помощи */
.help-tooltip {
position: absolute;
@@ -929,6 +904,28 @@ a{color:var(--link)}
text-decoration: underline;
}
.help-btn:hover {
background: #a78bfa;
color: #0b0d12;
border-color: #a78bfa;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(187, 154, 247, 0.5);
}
.logout-btn:hover {
background: var(--tab-active);
color: var(--fg);
border-color: var(--accent);
}
/* Специальный hover эффект для кнопки options с цветом accent */
.options-btn:hover {
background: var(--accent) !important; /* Цвет логотипа */
@@ -1367,6 +1364,39 @@ a{color:var(--link)}
box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
/* Стили для кнопки помощи в header */
.help-btn {
background: var(--accent);
color: #0b0d12;
border: 1px solid var(--accent);
border-radius: 6px;
padding: 6px 8px;
font-size: 11px;
font-weight: 600;
cursor: pointer;
transition: all 0.2s ease;
display: flex;
align-items: center;
justify-content: center;
min-width: 32px;
text-align: center;
box-shadow: 0 2px 6px rgba(187, 154, 247, 0.3);
}
.help-btn i {
font-size: 12px;
animation: help-pulse 2s ease-in-out infinite;
}
@keyframes help-pulse {
0%, 100% {
transform: scale(1);
}
50% {
transform: scale(1.1);
}
}
/* Стили для счетчиков-кнопок */
.counter-btn {
display: inline-flex;
@@ -2514,42 +2544,6 @@ footer{position:fixed;right:10px;bottom:10px;opacity:.6;font-size:11px}
<button class="options-btn" id="optionsBtn" title="Показать/скрыть настройки">
<i class="fas fa-cog"></i>
</button>
<button class="help-btn" id="helpBtn" title="Горячие клавиши">
<i class="fas fa-question-circle"></i>
</button>
<!-- Tooltip для кнопки помощи -->
<div class="help-tooltip" id="helpTooltip">
<div class="help-tooltip-header">
<div class="help-tooltip-logo">LB</div>
<div class="help-tooltip-title">LogBoard+</div>
</div>
<div class="help-tooltip-section">
<div class="help-tooltip-section-title">О проекте</div>
<div class="help-tooltip-content">
Веб-интерфейс для мониторинга логов Docker контейнеров в реальном времени с поддержкой мультивыбора и автоматического обновления.
</div>
</div>
<div class="help-tooltip-section">
<div class="help-tooltip-section-title">Горячие клавиши</div>
<div class="help-tooltip-hotkeys">
<div class="help-tooltip-hotkey">[</div>
<div class="help-tooltip-description">Предыдущий контейнер</div>
<div class="help-tooltip-hotkey">]</div>
<div class="help-tooltip-description">Следующий контейнер</div>
<div class="help-tooltip-hotkey">Ctrl+R</div>
<div class="help-tooltip-description">Обновить логи</div>
<div class="help-tooltip-hotkey">Ctrl+B</div>
<div class="help-tooltip-description">Свернуть sidebar</div>
</div>
</div>
<div class="help-tooltip-author">
Автор: <a href="https://devops.org.ru" target="_blank">Сергей Антропов</a>
</div>
</div>
<button class="logout-btn" id="logoutBtn" title="Выйти">
<i class="fas fa-sign-out-alt"></i>
</button>
@@ -2732,6 +2726,46 @@ footer{position:fixed;right:10px;bottom:10px;opacity:.6;font-size:11px}
<button class="btn btn-small log-refresh-btn" title="Обновить логи и счетчики">
<i class="fas fa-sync-alt"></i> Refresh
</button>
<button class="help-btn" id="helpBtn" title="Справка">
<i class="fas fa-question-circle"></i>
</button>
<!-- Tooltip для кнопки помощи -->
<div class="help-tooltip" id="helpTooltip">
<div class="help-tooltip-header">
<div class="help-tooltip-logo">LB</div>
<div class="help-tooltip-title">LogBoard+</div>
</div>
<div class="help-tooltip-section">
<div class="help-tooltip-section-title">О проекте</div>
<div class="help-tooltip-content">
Веб-интерфейс для мониторинга логов Docker контейнеров в реальном времени с поддержкой мультивыбора и автоматического обновления.
</div>
</div>
<div class="help-tooltip-section">
<div class="help-tooltip-section-title">Горячие клавиши</div>
<div class="help-tooltip-hotkeys">
<div class="help-tooltip-hotkey">[</div>
<div class="help-tooltip-description">Предыдущий контейнер</div>
<div class="help-tooltip-hotkey">]</div>
<div class="help-tooltip-description">Следующий контейнер</div>
<div class="help-tooltip-hotkey">Ctrl+R</div>
<div class="help-tooltip-description">Обновить логи</div>
<div class="help-tooltip-hotkey">Ctrl+B</div>
<div class="help-tooltip-description">Свернуть sidebar</div>
<div class="help-tooltip-hotkey">Ctrl+F</div>
<div class="help-tooltip-description">Фокус на фильтр</div>
<div class="help-tooltip-hotkey">Ctrl+Shift+M</div>
<div class="help-tooltip-description">Мультивыбор контейнеров</div>
</div>
</div>
<div class="help-tooltip-author">
Автор: <a href="https://devops.org.ru" target="_blank">Сергей Антропов</a>
</div>
</div>
</div>
</div>
@@ -4023,6 +4057,8 @@ function positionTooltip(event, tooltip) {
}, 10);
}
// Функции для help tooltip
function showHelpTooltip() {
const helpBtn = document.getElementById('helpBtn');
@@ -6940,10 +6976,7 @@ if (els.sidebarToggle) {
els.sidebarToggle.onclick = toggleSidebar;
}
// Help button
if (els.helpBtn) {
els.helpBtn.onclick = toggleHotkeysModal;
}
// Modal close button
if (els.hotkeysModalClose) {
@@ -7090,6 +7123,22 @@ document.addEventListener('DOMContentLoaded', () => {
});
}
// Инициализируем стили логов при загрузке страницы
updateLogStyles();
// Применяем настройки wrap text при загрузке
applyWrapSettings();
// Дополнительная проверка для multi-view логов при загрузке
setTimeout(() => {
if (state.multiViewMode) {
console.log('Initialization: Force fixing multi-view styles');
forceFixMultiViewStyles();
}
}, 1000);
// Обработчик для кнопки помощи
if (els.helpBtn) {
const helpTooltip = document.getElementById('helpTooltip');
@@ -7125,20 +7174,6 @@ document.addEventListener('DOMContentLoaded', () => {
});
}
// Инициализируем стили логов при загрузке страницы
updateLogStyles();
// Применяем настройки wrap text при загрузке
applyWrapSettings();
// Дополнительная проверка для multi-view логов при загрузке
setTimeout(() => {
if (state.multiViewMode) {
console.log('Initialization: Force fixing multi-view styles');
forceFixMultiViewStyles();
}
}, 1000);
});
if (els.snapshotBtn) {
els.snapshotBtn.onclick = ()=>{