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

标签 jquery graph github

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

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

最佳答案

Github WebView 一开始似乎很难进行逆向工程。然而,在使用 http://jsbeautifier.org/ 缩小代码后,代码变得非常容易理解。 。因此,运行 bundle_github.jsbundle_common.js 并获取 jQuery 1.4.2 源代码。然后您就可以开始阅读源代码/调试页面了。

在 Github 网络页面中,如果 Canvas 正常工作,则只需通过以下方式即可生成网络:

var ng = new Network("#ng", 920, 600)

它继续使用由defineNetwork(window.jQuery)生成的对象,其中(还有很多其他东西)

  1. the Github Network API 获取数据
  2. 创建 d.KeyDriverd.MouseDriver 实例来处理输入
  3. 使用 d.Chrome 绘制时间线、页眉和页脚
  4. 使用d.Graph编写网络图

(每个d.ClassName都是Network对象的内部类,因此它们的源代码可以在defineNetwork源代码中找到)

我没有花时间真正深入研究代码并找到有关其工作原理的所有细节,但它是可读的。现在,根据您想要做什么,您可以例如

  • (可能) 变得非常小 修改以获取代码 将 Github 数据渲染到外部 github.com
  • the Github Network API 中提供您自己的数据格式化并可视化
  • 仅调整 d.Graph 类以处理您自己的数据
  • 只需阅读代码即可学习

注意:您可能无法按原样合法使用或修改代码,因此我建议仅出于学习目的这样做(尽管 IANAL)。

关于jquery - 如何重新创建 GitHub 网络图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4759492/

相关文章:

github - 无法从远程存储库读取

Github GitIgnore 错误

javascript - 使用 Javascript 运行动画后删除 html 标签

jquery - 如何禁用基于其他选定选项的选择?

algorithm - 如何在不反复试验的情况下逻辑地解决这个难题

javascript - 在 D3 中收集网络图的一些数据。我应该如何格式化它?

git - 在git中的特定分支上添加文件

javascript - 如何从另一个上下文调用的方法引用小部件属性

javascript - 使用javascript用表行数据填充表单

c++ - 如何使用 Boost.Graph 从特定节点遍历图分支?