Релиз Opensophy Hub 3.4: изменения, миграция и опрос для сообщества

от автора

Приветствую вас, уважаемый читатель! В этой статье мы поговорим про очередное обновление Hub, небольшие изменения в самом Opensophy и мини-опрос для читателей.

Обновление Opensophy Hub: Что нового?

Hub — Open-source платформа для документации и контента

https://github.com/opensophy-projects/hub — Github репозиторий проекта.

Новый компонент к codeblock: вкладки

  • CodeBlock теперь поддерживает tabs: CodeTab[] — несколько именованных вкладок с независимым языком и кодом

  • Парсер docUtils.mjs обрабатывает блок :::tabs:::tab[Название]

  • В markdown-редакторе добавлена кнопка вставки блока Tabs

Не самое лучшее в этом обновлении но самое нужное.

В прошлых версиях мы отказались от Mermaid в пользу «красоты» и теперь у нас свой вариант Диаграмм. Ознакомиться можно в Руководстве по форматированию

примеры диаграмм

примеры диаграмм

Новая фича: Кастомная главная страница

Наверное вы когда-нибудь хотели чтобы документация была бы интегрирована в ваш Лендинг или наоборот? Hub с новой версии теперь имеет эту возможность!

Переключившись из welcome:

примерно так выглядит welcome.md

примерно так выглядит welcome.md

В Лендинг вариант:

Лендинг

Лендинг

Вы получаете красивую главную страницу и если есть возможность вручную или через ИИ написать свой вариант Главной страницы.

  • Создана GeneralPage.tsx с hero-секцией (WebGL-шейдер SingularityShaders), секцией безопасности и экосистемы

  • Конфиг хранится в public/data/site-config.json, применяется без пересборки в dev-режиме

  • SSR-заглушка для SEO в режиме Лендинг (скрытый <div id="seo-landing-content">) — на случай если у вас был SPA лендинг!

Исправления

  • Было принято удалить с проекта управление SEO/GEO и прочие экспериментальные варианты через админ панель, но данная возможность планируется вернуть в будущих версиях с уже более другими возможностями.

  • Исправление проблемы в управлении в devpanel

  • Другие иные мелочные визуальные изменения

Далее архитектурные изменения/улучшения:

Навигация

  • Переработан SectionDropdown — текст секций больше не обрезается

  • wordBreak: 'break-word' и lineHeight: 1.3 для всех элементов дерева

  • Hover-превью документа (DocHoverPreview) с метаданными: автор, тип, дата, теги

  • Фиксирован flash мобильной навигации через синхронную инициализацию брейкпоинта

Административная панель

  • Полный resize с клавиатурной поддержкой

  • Drag за любую точку заголовка (не только за иконку)

  • Кнопка перемещения панели доступна с клавиатуры (стрелки ±20px)

  • Добавлена вкладка Сайт (SitePanel) — переключение welcome.md / лендинг

Таблицы

  • Исправлен tableStyles.ts: width: 100%; min-width: max-content — таблица растягивается корректно(была проблема на планшетах у таблиц.)

  • .prose .not-prose table — принудительный display: table для вложенных таблиц

  • Drag-scroll с порогом 5px (до порога — обычное выделение текста)

  • Touch-поддержка: горизонтальный свайп без блокировки вертикального скролла страницы

CodeBlock

  • Кнопка “Развернуть” для длинных блоков (>7 строк)

  • Fullscreen-режим через Overlay

  • Мобильное меню (копировать / развернуть) закрывается при скролле

  • Ленивая загрузка языков highlight.js

SEO / Layout

  • Единственная точка управления SEO — объект SITE в src/app/layouts/Layout.astro

  • JSON-LD для сайта (WebSite schema) и статей (Article schema)

  • Open Graph, Twitter Card, canonical, article:published_time / modified_time

  • Настройка через props страницы: title, description, keywords, robots, lang, author, date

Поиск

  • Фильтр по разделу (navSlug) с пилюлей-бейджем и кнопкой сброса

  • Фильтр по дате: новые / обновлённые за 30 дней

  • Сортировка: сначала новые / старые / обновленные

  • Пагинация «Показать ещё N» без перерисовки списка

  • Клавиатурная навигация: ↑↓ по результатам, Enter — открыть

Миграция

те кто читает Opensophy, обязательно внизу видели что есть ссылка на статью в hub.opensophy.com, но теперь всё находиться на основном домене: opensophy.com

Причина тому демонстрация насколько проект может выдержать огромное количество статей и тяжелого кода. Тяжелый код?) о чем это?

В opensophy.com мигрировал не только hub но и UI-Библиотека.

Зачем создавать ui библиотеку я писал раньше в другой статье

Несмотря на то что многие сервисы предоставляют компоненты как open-source, у некоторых из них есть платные компоненты (что можно понять — таким образом авторы получают доход от сервиса). Однако есть один момент, из-за которого я в ближайшее время верну свою UI-библиотеку в интернет (она будет доступна по адресу ui.opensophy.com).

В чём проблема и зачем я хочу это сделать? В первую очередь это будет архив компонентов, который всегда будет открыт и бесплатен. Возможно, возникнет вопрос: зачем? Дело в том, что я начал замечать, как некоторые компоненты, которые раньше были бесплатными и считались open-source, теперь требуют либо регистрации в системе автора, либо покупки. Поэтому иметь собственный реестр, где все эти компоненты будут сохранены и всегда доступны другим, кажется мне хорошей идеей — даже если эти компоненты уже где-то встречались.

Библиотека постепенно пополняется и открыта без регистрации и SMS 🙂

Опрос для сообщества Хабра

Большое спасибо, что читаете статьи Opensophy! Контент мы стараемся делать под разные направления, но скоро фокусируемся на DevOps / DevSecOps / Security. Чтобы не отставать не только по знаниям, но и по качеству — к маю готовим новые рубрики и единый стандарт для статей. Но чтобы понять, что вам интереснее читать, нужен опрос.

ссылка на оригинал статьи https://habr.com/ru/articles/1022880/