Общество

Материалы и архитектура раздела «Общество»
Раздел «Общество» построен на модульной системе шаблонов, где основным материалом выступает семантическая разметка JSON-LD для событий и микроформаты h-event для календаря. База данных использует PostgreSQL 16 с JSONB-колонками для хранения гибких метаданных каждого мероприятия. Все тексты проходят препроцессинг через Rust-модуль, что гарантирует чистоту разметки без лишних
Спецификации и отличия от альтернатив
- Спецификация шаблонов: каждый блок «Общество» (новостная лента, анонсы, детали события) имеет собственную схему a11y — aria-роли заданы на уровне рендеринга через компоненты Svelte 5.
- Отличие от типовых порталов: календарь мероприятий не использует iframe и не подгружает внешние календари (Google Calendar, Outlook). Вместо этого — собственный парсер iCalendar (RFC 5545), преобразующий .ics в статичный HTML с хешированием ETag для кэширования.
- Материалы интерфейса: для графики применяется векторный формат WebP с AVIF-альтернативой, шрифты — локальный Variable Font Inter (без загрузки из внешних CDN).
Производство контента и стандарты качества
Контент для раздела «Общество» создаётся через редактор с кастомной системой проверок. Каждая единица (анонс, пост, запись календаря) проходит три стадии: автоматическая валидация через ESLint-плагин для HTML, проверка на соответствие стандарту WCAG 2.1 AA (цветовой контраст, доступность фокусов) и ревью модератором. Дата-центр использует диски NVMe RAID 10, что обеспечивает ответ API календаря за 12-45 мс. В отличие от решений на WordPress, здесь отсутствуют сторонние плагины — вся логика сборки календаря зашита в ядро. Это исключает разрывы в вёрстке при обновлении.
Сравнение с аналогичными разделами
- Импортозамещение: в 2026 году раздел полностью отвязан от зарубежных библиотек (например, jQuery заменён на Alpine.js с весом 8 кБ).
- Устойчивость к нагрузкам: календарь мероприятий использует lazy-load с IntersectionObserver — подгрузка записей происходит только при появлении блока во viewport. Аналоги (например, на bitrix) грузят весь массив при старте страницы.
- Контроль версий: каждый HTML-фрагмент раздела сохраняется в Git-репозитории, изменения даты или описания события подлежат обязательному коммиту. Ни один модератор не может изменить контент напрямую в базе — только через Pull Request.
Материалы и сроки службы
Текстовые материалы хранятся в сжатой колонке (zstd-level 3) с автоматическим сбросом в бэкап каждые 15 минут. Графические активы проходят пайплайн: оригинал → ImageMagick (очистка мета-данных, ресемплинг до 1280px по одной оси) → WebP (lossless). Качество выше порогового уровня 85% проверяется по SSIM. В отличие от решений на ТАСС-подобных платформах, здесь нет кеша с истечением через 5 минут — кеширование событий живёт до наступления даты события, после чего инвалидируется принудительно. Все стандарты зафиксированы в Service-Level Agreement (SLA) внутреннего реестра 2026 года.
Добавлено: 11.05.2026
