Как получить полную визуализацию github.com/сеть репо

РЕДАКТИРОВАТЬ: Предполагается, что это подарок для моей матери. Если мне нужно будет перетащить его и сшить кучу скриншотов вместе... однако ресурс где-то жить на веб-сайте. Я верю, что, по крайней мере, кто-то на этом сайте знает, как это сделать.

РЕДАКТИРОВАТЬ: Итак, я обрушился на это и обнаружил, что если вы поместите /meta после сети, вы получите JSON. Также /chunk был в источнике страницы, но после загрузки /chunk ни/chunk или /meta больше не загружаются. Я просто хочу, чтобы весь график был на одном снимке, это слишком много, чтобы спросить?

Добавление/сеть до конца URL-адреса репо в github возвращает мне изображение, подобное этому

введите описание изображения здесь

Вы можете щелкнуть и перетащить его из стороны в сторону, но для жизни меня я не смог получить больше, чем небольшой сегмент, чтобы показывать за один раз.

Является ли какой-либо инструмент для создания всего сетевого графика в одном файле изображения?

Мне не нужен кусок графика, я хочу просмотреть весь график. Я видел http://gitup.co/, упомянутый в другом вопросе, но, похоже, это только OS X. Для меня будет работать Linux или решение для Microsoft.

Спасибо

Ответ 1

У меня только что была эта проблема (опять же), и, наконец, я смог найти достойное решение

Вот суть кода ниже: https://gist.github.com/DinisCruz/6866dede5cdff60d97790a14490f7844

function hide(selector) { $(selector).setAttribute('style','display:none')} 
function remove(selector) { $(selector).remove()} 
function remove_class(selector) { $(selector).setAttribute('class','')} 

function move_left(count)
{        
    var eventObj = document.createEvent("Events");
    eventObj.initEvent("keydown", true, true);
    eventObj.which = 37;  // left key
    for (i=0; i < count ; i++) {
        document.dispatchEvent(eventObj);
    }
} 

function resize_canvas(width)
{
    document.getElementById("network").style="width:" + width; window.dispatchEvent(new Event("resize"))
}

remove('.pagehead')
remove('.js-header-wrapper')
remove('.menu')
remove('.Subhead')
remove('.info')
remove('.btn-link')
remove('.footer')
remove_class('.container-lg')
remove_class('.pr-4')

resize_canvas('2150px')
move_left(14)

Связанная тема Twitter (показывает несколько примеров): https://twitter.com/DinisCruz/status/1171411025570275329

Ответ 3

https://github.com/esc/git-big-picture, похоже, делает хорошую работу.

Вам нужно загрузить GraphViz и поместить его в path. Вам также нужно, чтобы python был доступен в path.

$ set PATH=%PATH%;C:\GraphViz\release\bin
$ git clone [email protected]:esc/git-big-picture.git 
$ cd git-big-picture
$ python git-big-picture -h
$ python git-big-picture -f png -o out.png -b # branches - look

Ответ 4

Это меня тоже беспокоило. Я хочу видеть это на GitHub, без экспорта JSON. Например, на любой странице GitHub "Сеть", в консоли JS Firefox или Chrome:

  1. (необязательно) Уменьшение масштаба просмотра (cmd/ctrl + scroll)

  2. Выполнить в консоли JS (cmd+opt+k или ctr+alt+k):

document.getElementById("network").style="width:20000px"; window.dispatchEvent(new Event("resize"))
  1. Нажмите и удерживайте кнопку со стрелкой вправо, чтобы просмотреть график для фактического рендеринга.

Примечания:

  • Я еще не выяснил точные события, которые вызывают перерисовку. Перерисовка скрипта работает только один раз.
  • Размер можно настроить, но слишком высокие значения проблематичны
  • Шаг масштабирования: если в репозитории много вилок, при уменьшении изменяется высота холста, связанного с window.innerHeight
  • Активные элементы (коммиты) на холсте плохо взаимодействуют. enter image description here