如何在 Ruby RDoc 中启用“单击切换源”按钮?
题
当使用 Darkfish RDoc 生成器生成 RDoc 文档时,方法旁边有一个 Click to toggle source
每个方法旁边的按钮。当我生成文档时,它对我不起作用,那么如何使该功能发挥作用,是否必须在 RDoc 源中添加关键字或其他内容?
解决方案
我有同样的问题,发现丢失的文件在 http://rack.rubyforge.org/doc / JS 。 我手动复制他们在一个文档/应用/ js的目录,现在的点击触发源的作品。 这至少一个快速解决。
其他提示
这似乎是默认启用。我只是尝试了快速测试用的RDoc v2.5.11: -
$ mkdir temp
$ cd temp
$ cat temp.rb
class MyClass
def my_method; end
end
$ rdoc
Parsing sources...
100% [ 1/ 1] temp.rb
Generating Darkfish...
Files: 1
Classes: 1 ( 1 undocumented)
Constants: 0 ( 0 undocumented)
Modules: 0 ( 0 undocumented)
Methods: 1 ( 1 undocumented)
0.00% documented
Elapsed: 0.1s
$ open doc/index.html
当我点击链接为#my_method
上和我悬停在方法的描述中,我看“点击切换源”链接,当我点击它它的工作原理。
您需要将浏览器的JavaScript启用,使这项工作。
我有我的Rails3中的代码相同的问题。它非常通用的,我不记得与RDoc的设置玩,但我click to toggle source
也不管用。我知道JS接通,当我运行rake doc:app
他们都没有任何错误,所以我不太清楚怎么回事。
我能想到的唯一的事情就是RVM在我运行的Ruby 1.9.2 / 3.0.0的Rails。这是否有所作为?
更新:我注意到,它试图从js
目录中加载不存在的JavaScript文件。是的RDoc应该插入JS文件或者是你应该做手工?
这是与 rvm 一起使用的旧版本 rdoc 中的问题。我在 2.5.8 版本中遇到了同样的问题。templates 目录的路径包含 .rvm,因此 images 和 js 目录不会复制到生成的文档中。作为修复,您可以更改 lib/rdoc/generator/darkfish.rb 文件中的这行代码
next if path =~ /#{File::SEPARATOR}\./
到
next if path =~ /#{@template_dir}.*#{File::SEPARATOR}\./
感谢 Jeremy Bopp(发现了这个问题的根源 - http://rubyforge.org/tracker/index.php?func=detail&aid=28482&group_id=627&atid=2472)和戈登·蒂斯菲尔德(给出解决方案 - http://rubyforge.org/tracker/?func=detail&atid=2472&aid=26923&group_id=627) 来自 Rubyforge.com