Архитектура блога FÉLAG

Проект FÉLAG — аналитический блог об алготрейдинге, созданный как открытая площадка для документирования инженерного процесса. Основная задача — фиксация реального опыта: от настройки CI/CD до адаптивной верстки и мультиязычной локализации.

Проблема

При запуске мультиязычного ресурса (RU/EN) возникли три задачи. Во-первых, обеспечение паритета контента: каждая русская статья должна иметь английский аналог с синхронизированными мета-тегами. Во-вторых, автоматическая проверка качества перед публикацией — отсутствие битых ссылок, валидной JSON-LD разметки и дубликатов маршрутов. В-третьих, пользовательский опыт при навигации: сохранение позиции скролла при смене языка, плавные переходы между темами.

Решение

Внедрён скрипт автоматической валидации npm run verify, который блокирует сборку при обнаружении ошибок. Проверка включает пять этапов: компиляцию проекта, валидацию JSON-LD, поиск дублирующихся путей, проверку NUL-байтов в Markdown-файлах и верификацию внутренних ссылок. Скрипт интегрирован в пре-коммит хуки — любой коммит, проходящий через эти проверки, не может содержать критические ошибки.

Для контроля паритета локализации в i18n/ui.ts реализован TypeScript-гард. Компилятор проверяет, что каждый ключ перевода из русской версии присутствует в английской. Если разработчик добавляет новый ключ в RU, но забывает EN, сборка завершается ошибкой на этапе компиляции.

Для сохранения позиции скролла при навигации используется sessionStorage и requestAnimationFrame. Перед переходом на новую страницу позиция скролла сохраняется, после рендера новой страницы — восстанавливается. Это устраняет проблему потери позиции при смене языка.

Реализация

За последнюю неделю выполнено более 50 задач. В инфраструктуру включена непрерывная интеграция с автоматическим деплоем на GitHub Pages. В пользовательский интерфейс добавлен View Transitions API для плавной смены языка и CSS-анимация переключения тем. Адаптивная Grid-система обеспечивает корректное отображение от мобильного drawer-меню до десктопного липкого сайдбара.

Проведена очистка технического долга: удалены шесть мёртвых файлов, исправлены четырнадцать проблем доступности, унифицировано поведение всех ссылок с контролем контрастности в состояниях hover и visited.

В ближайших публикациях — переход от общих архитектурных тем к конкретике: разбор настроек торговых роботов, анализ реальных торговых систем, деконструкция допущенных ошибок.

Полный разбор доступен на сайте.

Проект открыт для предложений и профессиональных знакомств. Контакты — на странице «О проекте».

- Оперативные логи в Telegram - Публичный торговый журнал - Варианты поддержки - Каталог статей

Архитектура блога FÉLAG | Сетка — социальная сеть от hh.ru