¿Hay algún proyecto de código abierto o complemento de jQuery que pueda usar para recrear el gráfico de red de GitHub?
Quiero crear algo con una funcionalidad similar.
Las vistas de la red de Github parecen muy difíciles de aplicar ingeniería inversa al principio. Sin embargo, el código se vuelve bastante comprensible después de desminificarlo con http://jsbeautifier.org/ . Así que ejecute bundle_github.js y bundle_common.js y tome una fuente jQuery 1.4.2. Entonces estará listo para comenzar a leer la fuente/depurar la página.
En la página Red de Github, si el lienzo funciona, la red se genera simplemente:
var ng = new Network("#ng", 920, 600) que continúa usando un objeto generado por defineNetwork(window.jQuery) , que (entre muchas otras cosas)
d.KeyDriver y d.MouseDriver para manejar la entradad.Chrome para dibujar la línea de tiempo, el encabezado y el pie de páginad.Graph para escribir el gráfico de red (cada d.ClassName es una clase interna del objeto Network, por lo que su fuente se encuentra dentro del código fuente de defineNetwork )
No me tomé el tiempo para profundizar realmente en el código y encontrar todos los detalles sobre cómo funciona, pero se puede leer bien. Ahora, dependiendo de lo que quieras hacer, podrías, por ejemplo,
d.Graph para trabajar con sus propios datosNOTA: Probablemente no pueda usar el código legalmente tal como está ni modificado, por lo que recomiendo hacerlo solo con fines de aprendizaje (a través de IANAL).
Es posible que desee confiar en la API de red de Github que maneja:
Listado de todos los datos necesarios para dibujar el gráfico de red, encabezados de cada bifurcación con nuevos cambios y todas las confirmaciones relevantes.
En cuanto a la representación, Github usa lienzo para mostrar su gráfico de red. Es posible que desee echar un vistazo a la biblioteca RaphaelJS que hace un buen trabajo al representar los gráficos de impacto de Github: http://raphaeljs.com/github/impact.html