Кейсы 6 мин чтения

Как мы оцифровали мифологию и родословные народа в единую цифровую экосистему

Устные предания, редкие монографии и веб-страницы из 2000-х жили отдельно друг от друга — искать и связывать было невозможно. Показываем, как мы спроектировали граф данных, закодировали родовые тамги в векторе и решили вопрос вертикальной старомонгольской письменности в современной вёрстке.

цифровое наследиеграф данныхSVGheadlessлокализация
TL;DR: Мы собрали наш культурный портал о бурят-монгольской культуре как единую цифровую экосистему. Ключевое решение — представить мифологию не как набор статей, а как граф связей между божествами, родами, локациями и текстами. Родословные одиннадцати родов мы построили в коде от общего предка, а родовые знаки-тамги закодировали в векторный SVG, чтобы они оставались чёткими на любом экране. Контент раздаётся через headless-архитектуру, а бурятские буквы ү, ө, һ и вертикальная старомонгольская письменность корректно живут в современных CSS-сетках.

К нам обратились с задачей, которая на первый взгляд выглядела как «сделать красивый сайт про культуру», а на деле оказалась инженерным вызовом. Историческое и мифологическое знание народа существовало в виде осколков: часть жила в устных преданиях, которые помнили лишь несколько пожилых носителей; часть — в редких монографиях, изданных крошечными тиражами; часть — на разрозненных веб-страницах, свёрстанных ещё в начале 2000-х, с битыми ссылками и таблицами вместо вёрстки. Никакой единой точки входа не было. Нельзя было ни найти, кто из божеств связан с каким родом, ни проследить родословную от общего предка, ни просто уверенно сказать, что источник достоверен. Ниже мы честно рассказываем внутреннюю кухню: как думали, где ошибались и какие решения в итоге приняли.

Проблема: наследие, рассыпанное по осколкам

Первое, что мы поняли на этапе обследования: перед нами не задача «наполнить сайт текстами», а задача восстановить структуру знания, которая в культуре есть, но нигде не зафиксирована целиком. Мифология и генеалогия народа — это плотная сеть отношений. Одно божество покровительствует конкретному роду; род связан с определённой территорией и сакральными местами на ней; каждое такое место обрастает легендами, а легенды, в свою очередь, снова отсылают к божествам и предкам. Если сложить всё это в плоские статьи, читатель утонет: он будет открывать страницу за страницей и терять нить связей, ради которых материал вообще ценен.

Вторая сложность — достоверность. У устного предания часто есть несколько версий, и они противоречат друг другу. Монографии разных десятилетий по-разному называют одни и те же сущности. Мы сразу заложили принцип: у каждой единицы знания должен быть источник, а спорные места должны честно помечаться как спорные, а не выдаваться за единственную истину. Это повлияло и на схему данных, и на интерфейс — но об этом ниже. Третья проблема — сохранность: носителей мало, время работает против материала, и цифровизация нужна была не «для галочки», а как способ зафиксировать знание, пока его есть у кого записать.

Мифология как граф, а не как текст

Ключевое проектное решение мы приняли в самом начале: моделировать предметную область как граф. В обычной CMS сущностью является «страница», и всё, что вы можете, — связать страницы ссылками. Нам этого категорически не хватало. Мы выделили несколько базовых типов сущностей: «Божество», «Род», «Локация» (сакральное место, гора, источник, местность) и «Текст/Легенда». Каждая сущность — это отдельная запись со своими полями, а не абзац внутри чужой статьи. И самое важное — связи между ними стали полноценными объектами первого класса, а не просто гиперссылками.

Разберём на примере. Связь «Род — Божество» несёт смысл «этот род поклонялся этому божеству», и у неё есть собственные атрибуты: характер покровительства, источник сведений, степень достоверности. Связь «Божество — Локация» означает «это место посвящено этому божеству». Связь «Локация — Легенда» соединяет сакральную точку с текстом предания. Когда связи сами по себе несут данные, у нас появляется возможность строить сквозные маршруты: пользователь открывает страницу рода и видит не только его историю, но и божеств-покровителей, их сакральные места на карте и связанные с ними легенды — всё это подтягивается автоматически, потому что зафиксировано в графе, а не переписано руками в десяти местах.

Такой подход дал ещё один выигрыш: непротиворечивость. Когда мы уточняем сведения об одном божестве, они мгновенно корректно отображаются везде, где на него ссылаются, — на страницах родов, локаций и легенд. В плоской структуре пришлось бы вручную искать и править каждое упоминание, неизбежно что-то пропуская. Мы также заложили в модель поле достоверности и поле источника прямо на уровне связей: если предание существует в нескольких версиях, они не спорят между собой за одну строку, а сосуществуют как разные рёбра графа с честными пометками. Отдельно продумали навигацию: у графа нет «первой страницы», поэтому мы спроектировали несколько точек входа — по родам, по божествам, по карте сакральных мест, — чтобы человек мог зайти с той стороны, которая ему ближе.

Генеалогия родов и тамги в векторе

Отдельный большой блок — родословные. Генеалогия одиннадцати родов имеет ясную логику: есть общий предок, от которого происходят одиннадцать сыновей-родоначальников, а от них — разветвлённая структура потомков. В коде мы описали это как древовидную структуру: узел «предок» с одиннадцатью дочерними узлами первого уровня, каждый из которых раскрывается в собственную ветвь. Технически это направленный граф без циклов, но с точки зрения интерфейса — привычное родовое древо, которое можно разворачивать и сворачивать. Мы сознательно не хардкодили уровни: структура рекурсивна, поэтому добавить новое поколение или уточнить ветвь можно данными, не трогая вёрстку.

Самой красивой инженерной частью стали тамги — родовые знаки. Это графические символы с чёткой геометрией, по которым род опознаётся веками. Растровая картинка тут не годится: на ретине она мылится, при масштабировании рассыпается, а на печати выглядит бедно. Мы закодировали каждую тамгу в векторный SVG — как набор математически описанных линий и кривых. Это дало три вещи сразу. Во-первых, идеальную чёткость на любом разрешении: знак остаётся острым и на телефоне, и на большом экране. Во-вторых, адаптивное масштабирование без потери качества — одна и та же тамга работает и как крошечная иконка рядом с названием рода, и как крупный акцентный элемент на странице. В-третьих, малый вес: аккуратный SVG обычно легче растровой картинки того же назначения, а значит страница грузится быстрее. Мы держали дисциплину чистоты контуров — знак должен быть узнаваемым силуэтом, поэтому лишние точки и разрывы убирались, а геометрия выверялась так, чтобы символ читался мгновенно.

Стек, шрифты и вертикальная письменность

Мы выбрали headless-подход осознанно. Смысл в том, чтобы отделить хранилище и логику контента от способа его показа. Контент живёт в структурированном виде и раздаётся через API, а «витрин» может быть несколько: сегодня это веб-портал, завтра — мобильное приложение или киоск в музее, и всем им отдаётся один и тот же выверенный источник данных. Для проекта о наследии это принципиально: материал собирается один раз и надолго, а каналы его показа будут меняться. Headless избавляет от переписывания контента под каждый новый формат.

Самая недооценённая, но критичная часть — типографика. Бурятский язык использует буквы ү, ө, һ, и их нельзя «примерно» отобразить: многие популярные веб-шрифты либо не содержат нужных глифов, либо подставляют их из случайного запасного шрифта, отчего текст выглядит рвано — буквы разной толщины и высоты в одном слове. Мы подобрали шрифтовые пары с полным покрытием нужного диапазона символов, настроили корректные fallback-цепочки и проверили отображение на разных платформах, потому что операционные системы по-разному подставляют шрифты. Цель была простая: слово с ү, ө и һ должно выглядеть цельным, а не собранным из разных гарнитур.

Отдельный вызов — старомонгольская вертикальная письменность. Это письмо идёт сверху вниз, а строки — слева направо, что ортогонально всей логике привычной горизонтальной вёрстки. Мы интегрировали вертикальные фрагменты в современные CSS-сетки аккуратно: выделили для них отдельные контейнеры с вертикальным направлением письма, но вписали эти контейнеры в общую сеточную раскладку страницы так, чтобы они соседствовали с горизонтальным текстом, не ломая ни поток, ни адаптивность на мобильных. В результате вертикальная письменность живёт на странице как полноценный дизайн-элемент, а не как вставленная картинка, — её можно выделить, скопировать, она масштабируется вместе с макетом.

Частые вопросы

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

Зачем кодировать тамги в SVG, а не просто загрузить картинки? Вектор остаётся идеально чётким на любом экране и при печати, легко масштабируется от иконки до крупного акцента и обычно весит меньше растра. Для родовых знаков, где важна точная узнаваемая геометрия, это единственный корректный формат.

Что даёт headless-архитектура именно культурному проекту? Она отделяет выверенный контент от способа показа. Материал собирается один раз, а отдавать его можно и на сайт, и в будущее мобильное приложение, и на музейный экран — из одного источника, без переписывания.

Как вы решаете вопрос достоверности сведений? На уровне схемы данных у единиц знания и у связей между ними есть поля источника и достоверности. Спорные версии преданий не конкурируют за одну строку, а честно сосуществуют как разные рёбра графа с пометками.

Коротко о главном

Цифровизация наследия — это не про «залить тексты на сайт», а про восстановление структуры знания. Когда мифология описана как граф связей, генеалогия — как рекурсивное древо, а родовые знаки — как чистый вектор, портал перестаёт быть архивом и становится живой экосистемой, по которой удобно двигаться и в которой каждый факт стоит на своём месте и опирается на источник.

Мы сознательно вложились в неочевидные, но решающие детали: корректную типографику бурятских букв, интеграцию вертикальной письменности в современную вёрстку и headless-подход, дающий проекту запас на годы вперёд. Если вам нужно собрать похожую систему — с графом данных, векторной графикой и бережной локализацией, — мы делаем это под ключ и рады обсудить вашу задачу.

Услуги по теме

Что я делаю под ключ

  • Проектирование графа данных и связей
  • Векторизация символов и знаков в SVG
  • Headless-архитектура и API контента
  • Локализация и корректная типографика
  • Цифровизация архивов и наследия
Обсудить проект

Бесплатно: чек-лист «Готов ли ваш бизнес к 152-ФЗ»

12 пунктов, которые проверяют готовность за час: данные, согласия, уведомление в РКН, локализация, защита. Отметьте, что уже сделано, и увидите дыры, за которые сейчас штрафуют.

Готовы обсудить вашу задачу?

Бесплатная консультация — разберём, как внедрить это в вашем бизнесе под ключ. Без форм, пишите напрямую.

Готовые решения под ключ 449 готовых IT-решений для бизнеса Автоматизация, боты, AI, 152-ФЗ и платформы · бесплатная консультация Смотреть каталог