Лисаков и макромир

Родословная Рюриковичей

Здесь обсуждается страница lisakov.com/projects/tree/ с интерактивным генеалогическим древом Рюриковичей на 20 колен.

Rurikids

Предупреждение

Данный проект является не историческим исследованием, а всего лишь визуализацией информации из Википедии. С удовольствием услышу замечания и советы от профессиональных историков.

Авторы

Константин Маланчев: ведущий программист, человек широкой души;
Сергей Лисаков: идея, дизайн, данные, умелое использование человека широкой души.

Как пользоваться

Составьте родословную Рюриковичей своей мечты. Выбирайте сами, какую ветвь показать, а какую скрыть.

  • Перемещайтесь, цепляясь за фон (нажимайте левой кнопкой мыши на пустое место и, удерживая кнопку нажатой, двигайте мышкой).

  • Приближайте или удаляйте схему вращением колёсика мыши.

  • Разворачивайте новые поколения, щёлкнув на имя человека. Щёлкнув на него повторно, можно спрятать всех его потомков. Оранжевое заполнение кружка указывает, что есть скрытые потомки. Пустой кружок означает, что потомков нет (или они уже показаны).

  • По умолчанию при щелчке на князя разворачивается два колена: дети и внуки. В верхней панели управления вы можете изменить это число, чтобы по щелчку открывалось от 1 до 20 колен. Если после нескольких действий возникли проблемы с количеством открываемых колен, перезагрузите страницу.

Технические данные

При создании страницы использован шаблон, работающий на JavaScript-библиотеке D3.js. В качестве входных данных используется файл формата json, который генерируется скриптом json_gen.py, написанным на питоне. Подробнее на github.com. Английская версия может отставать от русской.

Планы

Хочется сделать (не стесняйтесь давать советы в комментариях):

  1. Кнопки схлопнуть всё и показать всё. Сделано.

  2. Возможность выбирать, сколько колен раскрывать по щелчку. Исполнено.

  3. Разворачивать при заходе на страницу n колен. Готово.

  4. Вывод информации по князю по наведению курсора.

    Частично реализовано. По наведению курсора появляется время жизни для первых шести колен. Надо добавить информацию (жена, мать, краткая биография и т.п.). Можно улучшить внешний вид всплывающего окна.

  5. Сделать английскую версию. lisakov.com/en/projects/tree.

  6. Нужно решить, по какому шаблону именовать всех князей. Сейчас всё по-разному, то через запятую город указан (Мстислав, Волынь), то как прозвище/фамилия (Игорь Волынский). Иногда эти прозвища общеприняты, иногда нет. Наверное, разумно давать имена вида имя-отчество-годы жизни. Какие у кого рекомендации? Ясно, что всё должно быть единообразно. Конечно, люди с устойчивыми и общеизвестными прозвищами (Ярослав Мудрый, Иван Калита, Дмитрий Донской, Александр Невский, Иван Грозный, Всеволод Большое Гнездо) должны именоваться по самому распространённому своему званию. Данилович/Даниилович? Семён/Симеон?

  7. Оптимизировать дистанцию по вертикали между братьями. Сейчас она при 4-5 показанных коленах слишком большая, а при полностью развёрнутой схеме слишком маленькая. Возможно, позволить пользователю менять эту величину перетаскиванием бегунка.

  8. Оптимизировать дистанцию и по горизонтали. От Рюрика до Игоря слишком длинная линия получается — имена-то у них короткие.

  9. Возможность сохранить текущий вид древа в pdf/jpg/… + версия полного древа для печати.

  10. По щелчку на бездетного князя сейчас ничего не происходит (только его помещение в центр). Сделать, чтобы по щелчку на бездетного он прятался в родителя. При этом по внешнему виду родителя должно быть ясно, что его потомство показано не полностью. Например, рисовать внутри его кружка плюс.

  11. Возможность вызывать меню правым щелчком мыши по князьям с пунктами:

    • Подсветить князя (чтобы можно было смотреть всё древо и не терять выбранных князей)
    • Подсветить линию от князя до Рюрика
  12. Возможность вызывать меню правым щелчком мыши по пустому месту с пунктами:

    • Скрыть всех, кроме подсвеченных князей. Даже их братьев спрятать.
    • Очистить выделение
    • Сохранить текущий вид древа в pdf/jpg/…
  13. Список всех князей. Возможность выбрать любых князей из списка и построить древо до выбранного колена, при котором были бы показаны и подсвечены выбранные князья, при этом было бы скрыто так много, как возможно. Это очень полезно, если нужна информация по конкретным князьям.

    В случае одинаковых имён выводить даты жизни. При наведении на имя в списке показывать информацию со всеми предками и краткую биографию.

  14. Сделать умный поиск по князьям, предлагающий варианты по мере ввода.

  15. Сделать изменение масштаба в Firefox плавнее. В Chrome, Opera и Safari всё нормально.

  16. По кнопке «Показать всех» зачастую остаёшься перед пустым экраном, дерево полностью выезжает за границы видимой области. Исправить.

  17. При увеличении размера окна границы tree-container не увеличиваются — в результате используется не всё доступное место. Приходится обновлять страницу. Исправить.

  18. Номера колен сверху и снизу от схемы, появляющиеся по мере открытия колен. По щелчку на номер колена схема сворачивается до этого колена, при втором щелчке восстанавливается предыдущий вид. По наведению на номер колено высвечивается, сколько человек в этом колене. И, например, общая характеристика этого времени, самые важные события, происходившие при этом поколении. Что делать, когда подсвеченные разукрашенные линии князей пересекаются?

  19. Список походов в выдвигающемся меню. По щелчку на интересующий поход подсвечиваются все участники.

  20. Сейчас Рюрик и Вещий Олег являются вторым коленом, а корень и его линии сделаны невидимыми (под цвет фона). Есть ли более нормальное решение, позволяющее начать древо с двух корней?

  21. Сейчас по двойному щелчку происходит приближение. Думаю, надо убрать/заменить на что-то более полезное.

  22. Сделать отдельную функцию для расположения древа при старте. Сейчас используется та же функция, которая центрирует древо при щелчке на его элементы. Добиться приемлемого расположения древа и при старте, и по щелчку не представляется возможным.

  23. Выделить Великих князей.

  24. Сделать списки для городов: под чьей властью (князь, княжество, наместники…) находились по времени.

  25. Не до конца продуманная идея: возможность раскрасить фон под родословной в разные цвета, где цвет обозначал бы конкретный регион. Поскольку дети обычно правили в вотчине отца, это должно иметь смысл. Вот и проверим.

  26. Сделать удобной для скачивания и просмотра родословную роспись (source.data).

Приветствуются сообщения обо всех неточностях (особенно фактических) и неработающих кнопках. Также приветствуются советы, предложения и пожелания.