Skip to content

Releases: opensophy-projects/hub

V3.5

16 Jun 08:33
069dec4

Choose a tag to compare

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

Добавлено

  • three
  • postprocessing

Улучшено

  • Обновлены GitHub Actions и Sonar-конфигурация.
  • Добавлены вспомогательные конфигурационные файлы и публичные ассеты.
  • Улучшены sitemap, robots, manifest и SEO-конфигурация.

📦 Миграция

  • Для новых UI-компонентов достаточно создать папку компонента — ручное обновление registry больше не требуется.
  • Для уникальных страниц рекомендуется использовать механизм Custom Pages (Page.tsx + metadata.ts).
  • Структура контента обновлена и ориентирована на масштабируемую документацию.

Full Changelog

v3.3...V3.5

v3.4

13 Apr 11:44
3e35673

Choose a tag to compare

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

22 Mar 06:49
b096784

Choose a tag to compare

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 — заменены единым Navigation
  • ModalTableContent.tsx — после унификации стеков таблиц не использовался
  • Mermaid — полностью убран в пользу Recharts-диаграмм

Исправлено

  • Дублирующиеся ThemeProvider в нескольких компонентах
  • useScrollProgress вызывал ре-рендер всего DocContent при каждом скролле
  • Ситемап включал welcome-страницу в дублирующийся URL
  • Дедупликация слагов в [...slug].astro (при конфликте — warn + пропуск)
  • Двойной вызов getDocInfo при построении маршрутов

Чистый шаблон доступен через bolt.new

v3

12 Feb 12:11
6bd866f

Choose a tag to compare

v3

First production release!

V3.1

18 Feb 11:32
b045963

Choose a tag to compare

hub v3.1

— Главная страница теперь редактируется через welcome.md
— Обновлена мобильная навигация
— Новые блоки в документах: алерты (:::note, :::tip, :::warning и др.) и улучшенные аккордеоны
— Блоки кода теперь с подсветкой синтаксиса — достаточно указать язык
— Удалены баннеры
— Быстрее, легче, лучше масштабируется
— Прочие изменения в пользу оптимизации.
— Есть теперь возможность управлять и создавать категории через frontmatter
— Резервирование: было принято оставлять json статью(после того как она попадет на сайт / в коммит.) и возможность удалять ее вручную в пользу если md статья была удалена случайно.

v3.2

07 Mar 12:27
5600331

Choose a tag to compare

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 - новое добавление

  • Подписи к изображениям — при использовании ![Alt](/path/image.png "Заголовок") заголовок теперь отображается под изображением в виде подписи
  • 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).