Архитектура блога 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 - Публичный торговый журнал - Варианты поддержки - Каталог статей
· 10 ч
Блог, где документируют инженерный процесс, — редкость. В своём проекте мы тоже документируем путь, а не только результат: путь читают охотнее.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 4 ч
Спасибо за комментарий, Леонид! Рад, что мы на одной волне.
Да, преследую здесь несколько целей:
1. Это, скорее, рабочая записная книжка и инструмент самообразования. Когда сталкиваюсь с теми или иными затруднениями, описываю процесс их решения — так информацию гораздо легче постигать, систематизировать и закреплять.
2. Планирую запустить многоуровневую систему: симбиоз алготрейдинга, создания контента и разработки. В теории большая часть этого процесса будет автономной. И если трейдинг — это основа, то такой симбиоз может стать отличным дополнительным источником дохода (неплохой копеечкой в копилку).
3. Рассчитываю на коллаборацию и обмен опытом. Буду рад, если более опытные разработчики, контент-менеджеры, SEO-специалисты или фаундеры поделятся обратной связью, подскажут или скорректируют вектор. А начинающие специалисты, возможно, найдут здесь что-то полезное для своих собственных проектов.
Ещё раз спасибо за поддержку! Буду рад пообщаться и узнать больше о вашем проекте, раз у нас схожий подход.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён