Releases: opensophy-projects/hub
V3.5
Hub V3.5
Hub V3.5 — одно из крупнейших обновлений проекта, которое переводит платформу на более гибкую архитектуру, расширяет возможности кастомизации и значительно улучшает качество пользовательского опыта.
✨ Основные изменения
Новая архитектура страниц
- Добавлена поддержка custom pages на базе React-компонентов.
- Теперь страницы могут содержать собственную логику и метаданные, а не ограничиваться Markdown.
- Реализовано автоматическое обнаружение страниц через структуру проекта.
Категории и навигация
- Появились полноценные страницы категорий с карточками документов.
- Улучшена работа боковой навигации и глобального поиска.
- Навигация адаптирована под крупные деревья документации и новые типы контента.
UI System 3.5
- Внедрён автоматический реестр UI-компонентов на базе
import.meta.glob. - Компоненты больше не требуют ручной регистрации.
- UI Viewer теперь отображает не только предпросмотр, но и исходный код компонентов.
- Улучшены карточки, таблицы, code blocks, alert-блоки и вспомогательные элементы интерфейса.
Система тем
- Тема переведена на централизованные дизайн-токены.
- Добавлена поддержка переопределения цветов через CSS-переменные.
- Настройки темы сохраняются локально.
- Реализованы отдельные theme utilities и хук
useTheme.
Dev Experience
- Обновлена Dev Panel и её внутренний UI Kit.
- Добавлены toast bus и общий theme layer.
- Улучшены инструменты работы с документами, ассетами и настройками сайта.
- Dev Bridge переведён на более безопасную fetch-архитектуру.
🔒 Безопасность и стабильность
- Исправлен ряд потенциальных XSS-уязвимостей в HTML и KaTeX обработчиках.
- Устранены проблемы с ReDoS и небезопасным форматированием строк.
- Обновлены механизмы экранирования HTML.
- Усилены проверки безопасности в просмотрщике исходного кода и внутренних утилитах.
🧪 Тестирование и качество
- Добавлен единый test runner.
- Реализована генерация LCOV coverage.
- Расширено покрытие unit-тестами.
- Добавлены проверки для theme utils, storage, scroll utilities и таблиц.
- Улучшены процессы линтинга и Sonar-анализа.
⚙️ Инфраструктура
Обновлены зависимости
- Astro →
6.1.10 - PostCSS →
8.5.10 - esbuild →
0.28.1
Добавлено
threepostprocessing
Улучшено
- Обновлены GitHub Actions и Sonar-конфигурация.
- Добавлены вспомогательные конфигурационные файлы и публичные ассеты.
- Улучшены sitemap, robots, manifest и SEO-конфигурация.
📦 Миграция
- Для новых UI-компонентов достаточно создать папку компонента — ручное обновление registry больше не требуется.
- Для уникальных страниц рекомендуется использовать механизм Custom Pages (
Page.tsx+metadata.ts). - Структура контента обновлена и ориентирована на масштабируемую документацию.
Full Changelog
v3.4
Hub 3.4 вышел — рассказываем что изменилось, что исправили и что убрали.
Что нового?
Вкладки в блоке кода
Одна из самых запрашиваемых фич: теперь можно показывать один и тот же пример на нескольких языках или разбивать длинный код по файлам.
CodeBlockподдерживаетtabs: CodeTab[]— несколько именованных вкладок с независимым языком и кодом- Парсер обрабатывает блок
:::tabs→:::tab[Название] - В markdown-редакторе AdminPanel добавлена кнопка вставки блока Tabs
Диаграммы
В прошлых версиях мы отказались от Mermaid в пользу собственного решения — теперь оно готово. Поддерживаются типы: area, bar, pie, radar и их варианты (stacked, horizontal, donut). Интерактивная легенда, кастомные цвета, тултипы. Подробнее — в Руководстве по форматированию.
Кастомная главная страница
Раньше главная всегда была welcome.md. Теперь можно переключить её на лендинг — прямо из AdminPanel во вкладке «Сайт», без пересборки.
Лендинг из коробки включает hero-секцию с WebGL-шейдером, секцию про безопасность и экосистему. Если нужен свой вариант — правите GeneralPage.tsx вручную или через ИИ.
- Конфиг хранится в
public/data/site-config.json - В режиме лендинга есть SSR-заглушка для поисковиков (
<div id="seo-landing-content">) — актуально если раньше у вас был SPA без SSR
Исправления
- Управление SEO/GEO через AdminPanel удалено — оно работало некорректно. Планируем вернуть в будущих версиях с переработанным подходом. Сейчас единственная точка управления SEO — объект
SITEвsrc/app/layouts/Layout.astro - Исправлено перетаскивание и resize в DevPanel — теперь можно тянуть за любую точку заголовка и изменять размер по всем 8 направлениям
- Таблицы на планшетах больше не схлопываются — исправлен
width: 100%; min-width: max-content
Архитектурные изменения
Навигация
- Текст секций в dropdown больше не обрезается
- Hover-превью документа с метаданными: автор, тип, дата, теги
- Убран flash мобильной навигации при загрузке на десктопе
AdminPanel
- Resize по 8 направлениям с поддержкой клавиатуры
- Drag за любую точку заголовка
- Новая вкладка «Сайт» — переключение между welcome.md и лендингом
Таблицы
- Drag-scroll с порогом 5px — до порога работает обычное выделение текста
- Touch: горизонтальный свайп не блокирует вертикальный скролл страницы
display: tableпринудительно для вложенных таблиц внутри prose
CodeBlock
- Кнопка «Развернуть» для блоков длиннее 7 строк
- Fullscreen-режим
- Мобильное меню
⋯закрывается при скролле - Ленивая загрузка языков highlight.js
SEO / Layout
- JSON-LD: WebSite schema для главной, Article schema для статей
- Open Graph, Twitter Card, canonical,
article:published_time/modified_time - Управление через props:
title,description,keywords,robots,lang,author,date
Поиск
- Фильтр по разделу с кнопкой сброса
- Фильтр по дате: новые / обновлённые за 30 дней
- Сортировка по дате в обе стороны
- Пагинация «Показать ещё N» без перерисовки списка
- Клавиатурная навигация:
↑↓— перемещение,Enter— открыть
v3.3
Hub v3.3 — Release Notes
Новое
Диаграммы в Markdown
Поддержка 8 типов графиков через блок :::chart — area, bar, pie, radar и их варианты. Интерактивная легенда, кастомные цвета, tooltips. Данные задаются обычной Markdown-таблицей прямо в документе.
Dev Panel
Встроенная CMS-панель для разработки. Редактор Markdown с live preview, дерево файлов с drag & drop, управление контактами, загрузка ассетов и favicon, редактирование SEO / robots.txt / llm.txt через UI. Работает только в dev-режиме, в продакшн-билд не попадает.
Улучшения
- Архитектура ThemeProvider — единый провайдер в
Layout.astro, тема инициализируется в<head>до отрисовки (устранён FOUC) - Scroll progress bar — прямая мутация DOM через
useRefбез ре-рендеров - DotWaveBackground — пауза анимации при скрытой вкладке, обработка потери WebGL-контекста
- useBreakpoint — единые хуки
useIsDesktop/useIsMobileвместо дублирующегося кода - Overlay — единый компонент backdrop для ImageCard, CodeBlock
- LucideIcon — единый компонент с кешем вместо трёх независимых копий
- copyUtils.ts — утилиты копирования таблиц вынесены в отдельный модуль
- Stepper — поддержка кастомных цветов для каждого шага
- CodeBlock — обновлён дизайн, улучшена поддержка мобильных
- TableView — заголовки теперь через
textContent(HTML-теги больше не отображаются как текст) - robots.txt — расширен: Googlebot, Yandex, соцсети, Crawl-delay
Удалено
Sidebar.tsx,SearchWrapper.tsx,icons.tsx— итп мёртвый кодMobileNavbar.tsx,TocPanel.tsx— заменены единымNavigationModalTableContent.tsx— после унификации стеков таблиц не использовался- Mermaid — полностью убран в пользу Recharts-диаграмм
Исправлено
- Дублирующиеся
ThemeProviderв нескольких компонентах useScrollProgressвызывал ре-рендер всегоDocContentпри каждом скролле- Ситемап включал welcome-страницу в дублирующийся URL
- Дедупликация слагов в
[...slug].astro(при конфликте — warn + пропуск) - Двойной вызов
getDocInfoпри построении маршрутов
v3
First production release!
V3.1
hub v3.1
— Главная страница теперь редактируется через welcome.md
— Обновлена мобильная навигация
— Новые блоки в документах: алерты (:::note, :::tip, :::warning и др.) и улучшенные аккордеоны
— Блоки кода теперь с подсветкой синтаксиса — достаточно указать язык
— Удалены баннеры
— Быстрее, легче, лучше масштабируется
— Прочие изменения в пользу оптимизации.
— Есть теперь возможность управлять и создавать категории через frontmatter
— Резервирование: было принято оставлять json статью(после того как она попадет на сайт / в коммит.) и возможность удалять ее вручную в пользу если md статья была удалена случайно.
v3.2
Hub — Release Notes
v3.2.0 — 2026-03-07
Крупный релиз с переработкой навигации, таблиц, форматирования и архитектуры контента.
🗂️ Новая архитектура категорий
Введена единая система именования папок и файлов в Docs/ через префиксы:
[N][иконка]Название{slug} → Nav Popover (секция навигации)
[C][иконка]Название{slug} → Категория
[A][иконка]Название{slug} → Статья
- Тип контента (
navpopover/ категория / статья), иконка, название и slug теперь определяются прямо в имени папки или файла - Часть frontmatter-полей стала необязательной — они выводятся автоматически из имени
- Категории и подкатегории строятся исключительно структурой папок, без ручной настройки роутинга
- Статьи без категории отображаются выше списка категорий в навбаре (убрана секция «Без категории»)
🧭 Навигация (Navbar)
- Фиксированный navbar на ПК — всегда открыт, закреплён слева;
- Nav Popover — между поиском и списком страниц добавлен переключатель секций (Docs / Blog / API и т.д.). Секция создаётся автоматически при наличии папки с префиксом
[N] - Иконки через frontmatter — в файле можно указать Lucide-иконку; она отображается рядом с названием статьи в навбаре:
[icon][text] - MobileNavbar перенесён наверх на ПК — на мобильных остаётся внизу, на десктопе переходит в верхнюю панель
📋 TOC Panel
- Добавлен Glowing-Effect: светящаяся линия-индикатор показывает текущую позицию читателя в документе в реальном времени
📊 Таблицы
- Горизонтальная и вертикальная прокрутка колёсиком мыши и drag-scroll — стрелки клавиатуры не задействованы
- Sticky первый столбец — при горизонтальной прокрутке первая колонка остаётся видимой (
position: sticky; left: 0) - Sticky заголовок строки — при вертикальной прокрутке первый столбец каждой строки следует за viewport'ом
- Зебра-полосы в тёмной теме для неполноэкранных таблиц — поведение приведено в соответствие с полноэкранным режимом
📝 Форматирование Markdown - новое добавление
- Подписи к изображениям — при использовании
заголовок теперь отображается под изображением в виде подписи - Stepper-блок — новый блок пошаговых инструкций
- Card — возможность создания кастомных карточек через специальный синтаксис
- Columns-блок — текст и изображения можно размещать в колонках внутри одной секции
- Ленивое заполнение — упрощён синтаксис для тяжёлых блоков: изображения, алерты итп компоненты теперь пишутся короче
- Цитирование в тёмной теме — исправлено отображение
💡 Mermaid-диаграммы - новое добавление
- Добавлены кнопки +/− (масштабирование) и режим «рука» — перемещение по контейнеру курсором или пальцем
- Кнопка полноэкранного режима — особенно полезна на мобильных устройствах
- Исправлено обрезание текста на окончаниях в некоторых диаграммах
- Цвет фона диаграмм:
#0a0a0aв тёмной теме,#E8E7E3в светлой - Исправлено: диаграммы больше не «перезагружаются» при смене темы
- Исправлен масштаб диаграмм на ПК — уменьшен до читаемого размера
- Обновлено меню UI-компонентов
🧩 Code Block
- Динамический импорт языков — подключаются только те языки highlight.js, которые реально используются на странице
- Исправлено серое выделение фона в code block
- Устранена проблема с отображением code block внутри аккордеона в мобильной версии
🪗 Accordion
- Исправлено отображение в тёмной теме
- Исправлено отображение таблиц и code block внутри аккордеона на мобильных устройствах
⚡ Производительность
- Отказ от
public/data/docs/— промежуточный JSON-слой убран, контент читается напрямую
🗂️ Дизайн
- Существенное изменение дизайна для ПК-версии.
🗓️ Прочее
updatedво frontmatter — поддержка поля даты последнего изменения (updated: 2026-02-27), отображается как «Last updated» в статье- Переименованы логотипы и фавикон — простые имена (
logo.svg,favicon.ico) для удобной замены - Обновлён дизайн на ПК
- Проведён рефакторинг и проверка оптимизации кода (SAST + DAST)
v3.1.0 и ранее
См. историю коммитов на [GitHub](https://github.com/opensophy-projects/hub).