Skip to content

Shadugr/scmtwo-guide

Repository files navigation

Описание Проекта (Project Description)

Этот документ предназначен для разработчиков и AI-ассистентов, чтобы быстро погрузиться в контекст проекта USCM Wiki / Guide.

🎯 Цель проекта

Создание и поддержка онлайн-руководства (Вики) для игрового сервера по вселенной Alien. Сайт должен выглядеть как военный терминал USCM: строгий, атмосферный, темный, с элементами ретро-футуризма.

🛠 Технический Стек

Проект следует принципам KISS (Keep It Simple, Stupid):

  • Язык контента: Русский
  • Core: Чистый HTML5, CSS3, JavaScript (ES6+).
  • Frameworks: ❌ Отсутствуют. Никаких React, Vue, TS.
  • Сборка: ❌ Отсутствует. Файлы редактируются напрямую.
  • Хостинг: GitHub Pages (Static Mode).

📂 Архитектура и Структура

Файловая система (Clean URLs)

Для обеспечения красивых ссылок (например, /lore/ вместо /lore.html) используется структура вложенных папок:

/
├── index.html          # Главная страница
├── css/style.css       # Глобальные стили (Single source of truth)
├── js/components.js    # Общие компоненты (Хедер, Сайдбар, Поиск)
├── lore/index.html     # Страница Лора
├── guides/
│   ├── lobby/index.html
│   └── ...
└── ...

Правило: Все страницы (кроме 404) должны быть index.html внутри своей тематической папки.

Компоненты (js/components.js)

Поскольку мы не используем SSG, повторяющиеся части (шапка, меню) рендерятся в браузере через JS:

  • renderHeader(): Верхняя панель + Поиск.
  • renderSidebar(): Навигационное меню (генерируется из массива NAV_SECTIONS).
  • initSearch(): Клиентский поиск.

Поиск (Full-Text Search)

Поиск работает полностью на клиенте, но использует заранее сгенерированный индекс:

  1. Скрипт: generate_search_index.ps1 (PowerShell).
  2. Процесс: Скрипт сканирует все .html, вырезает теги и сохраняет текст в search.json.
  3. Frontend: JS загружает search.json и ищет совпадения в заголовках и теле страницы.

Дизайн и Стиль (Alien / USCM)

  • Цвета: Темно-серый/Черный фон, Ядовито-зеленый (#2ea043) и Янтарный (#d29922) акценты.
  • Эффекты: Scanlines (CSS overlay), свечение текста, моноширинные шрифты.
  • 404: Стилизована под "Критический сбой системы" (System Failure).

🚀 Деплой и Разработка

Локальный запуск

Стандартный Python-сервер не поддерживает кастомные 404 страницы. Используйте утилиту:

python local_server.py

Доступно по адресу: http://localhost:8000

Деплой

Автоматический через GitHub Actions:

  • Ветка: main
  • Триггер: Push в main

Генерация Sitemap

Для обновления sitemap.xml используйте PowerShell скрипт:

powershell -ExecutionPolicy Bypass -File generate_sitemap.ps1

Скрипт автоматически сканирует HTML файлы, исключая системные директории, и генерирует карту сайта с датами последней модификации файлов.

Индексация скриптом

При добавлении новых страниц обязательно обновите поисковый индекс:

powershell -ExecutionPolicy Bypass -File generate_search_index.ps1

📝 Важные файлы

  • generate_sitemap.ps1: Генератор карты сайта (sitemap.xml).
  • generate_search_index.ps1: Генератор индекса поиска.
  • local_server.py: Локальный сервер для тестов.
  • js/components.js: Вся логика UI и навигации.
  • css/style.css: Все стили.