解决方法
首先,Github网络视图似乎很难逆向工程。然而,使用
http://jsbeautifier.org/将其解密后,该代码变得非常容易理解。所以运行bundle_github.js和bundle_common.js通过并获取一个jQuery 1.4.2源代码。然后,您可以开始阅读源码/调试页面。
在“Github网络”页面中,如果画布正在运行,则网络是通过以下方式生成的:
var ng = new Network("#ng",920,600)
它继续使用由defineNetwork(window.jQuery)生成的对象,其中(在很多其他事情中)
>从the Github Network API获取数据
>创建d.KeyDriver和d.MouseDriver的实例来处理输入
>使用d.Chrome绘制时间轴,页眉和页脚
>使用d.Graph编写网络图
(每个d.ClassName是Network对象的内部类,因此它们的源代码位于defineNetwork源代码中)
我没有花时间去深入了解代码,并找到所有关于它的工作原理的细节,但它是可读的。现在取决于你想做什么,你可以
(可能)使很小
修改以获取代码
在外面渲染Github数据
github.com
>使您自己的数据以the Github Network API格式提供,并可视化
>只适应d.Graph类来处理自己的数据
只需读取代码并学习