jquery – 如何重新创建GitHub网络图

有没有任何开源项目或jQuery插件,我可以用来重新创建 GitHub Network Graph?

我想创建类似功能的东西。

解决方法

首先,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类来处理自己的数据
只需读取代码并学习

注意:您可能无法合法使用代码,也不会修改,因此我建议仅在学习目的(尽管IANAL)中进行此操作。

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...