Эволюция художественного текста, или Как подружить Гоголя и Git Как на одной странице показать, что менялось в «Ревизоре» между редакциями? DH-исследователь Евгений Дуненков сделал для этого интерактивный инструмент и в своем блоге рассказал, как над ним работал и с какими сложностями столкнулся. Постановка задачи Есть много текстов, которые постоянно меняются. Например, код или юридические документы: в Git или «КонсультантПлюс» можно сравнить разные редакции программы или закона. Художественный текст тоже эволюционирует: от набросков до академического издания, через правки, редактуру и цензуру. Но читатель, за исключением редких примечаний, видит лишь один кадр, а целиком процесс наблюдают только текстологи. Евгений Дуненков решил показать эту эволюцию на одной интерактивной странице, где версии можно переключать и наблюдать, как одна превращается в другую. Для этого он сделал карту версий (какие они, как связаны и где мы сейчас) и «плеер перехода», в котором исходная версия шаг за шагом превращается в целевую, а вставки и удаления подсвечены. Материалом стало явление 6 третьего действия «Ревизора»: пьеса хорошо изучена, ее версиям в академическом издании посвящен целый том. Как это сделано Получить работающий прототип удалось не сразу. Исследователь рассказывает, как он пришел к удачному результату путем проб и ошибок. Сначала он пытался сделать один универсальный скрипт, но тот оказался громоздким и медленным. Тогда он разделил подсчет различий и визуализацию на модули и попал в порочный круг: как считать и хранить правки, трудно решить, не зная, как заработает визуализатор, а писать визуализатор, не зная входных данных, слишком сложно. Выходом стал новый формат хранения. Так появился TDJ (Text Dynamics JSON): версии в виде списков токенов и правки для каждого перехода. Модуль TDJ Builder на Python сам находит различия между версиями и записывает их в этот формат. Как загрузить свой текст Инструмент, который разработал Евгений Дуненков, может использовать каждый. Если вы хотите воспроизвести его работу на редакциях другого текста, нужно собрать txt-файлы версий, описать их связи в yaml-конфигурации, запустить TDJ Builder и загрузить результат в визуализатор. Подробнее о том, как шла работа, — в полной версии блога. Время чтения: 20 минут 🤖 «Системный Блокъ» @sysblok
Системный Блокъ
Subscribers
11.6K
+0 24h
Reach per post (ERR)
21.5%2.5K avg views
Posting
2.3/week
last 1 day ago
Reactions per 1K views
19.3
❤ 🔥 👍
Views over time
| When | Views |
|---|---|
| 31 Oct 2026, 07:26 | 0 |
| 11 Nov 2026, 19:43 | 2.6K |
| 12 Nov 2026, 09:29 | 2.6K |
Who shared this post
Posts in other channels we index that link to this one. (Forwards with a hidden source can't be traced.)
Nobody yet.