Существуют ли какие-либо проекты с открытым исходным кодом или плагин jQuery, который я могу использовать для воссоздания сетевого графика GitHub?
Я хочу создать что-то с аналогичной функциональностью.
Существуют ли какие-либо проекты с открытым исходным кодом или плагин jQuery, который я могу использовать для воссоздания сетевого графика GitHub?
Я хочу создать что-то с аналогичной функциональностью.
Представления сети Github кажутся очень трудными для перепрограммирования. Однако код становится понятным после отмены его с помощью http://jsbeautifier.org/. Поэтому запустите bundle_github.js
и bundle_common.js
через и возьмите источник jQuery 1.4.2. Затем вы готовы начать чтение источника/отладки страницы.
На странице Github Network, если холст работает, сеть генерируется просто:
var ng = new Network("#ng", 920, 600)
который продолжает использовать объект, сгенерированный defineNetwork(window.jQuery)
, который (среди множества других вещей)
d.KeyDriver
и d.MouseDriver
для обработки вводаd.Chrome
для создания временной шкалы, верхнего и нижнего колонтитулаd.Graph
для записи сетевого графика(каждый d.ClassName
является внутренним классом объекта Network, поэтому их источник находится внутри исходного кода defineNetwork
)
Я не нашел времени, чтобы действительно углубиться в код и найти все подробные сведения о том, как он работает, но он читается в порядке. Теперь, в зависимости от того, что вы хотите сделать, вы можете, например,
d.Graph
для работы с вашими собственными данными.ПРИМЕЧАНИЕ. Вероятно, вы не можете юридически использовать код как есть и не модифицировать, поэтому я рекомендую делать это только для учебных целей (хотя IANAL).
Возможно, вы захотите положиться на API сети Github, который обрабатывает:
Список всех данных, необходимых для рисования сетевого графика, заголовков каждой вилки с новыми изменениями и всех соответствующих коммитов.
Что касается рендеринга, Github использует холст для отображения своего сетевого графика. Вы можете захотеть взглянуть на библиотеку RaphaelJS, которая отлично справляется с графическими графами Github: http://raphaeljs.com/github/impact.html