使用 Darkfish RDoc 生成器生成 RDoc 文档时,在方法Click to toggle source
旁边,每个方法旁边都有一个按钮。当我生成我的文档时它对我不起作用,那么你如何让该功能工作,你是否必须在你的 RDoc 源中添加一个关键字或其他东西?
4 回答
我遇到了同样的问题,并在http://rack.rubyforge.org/doc/js找到了丢失的文件。我在 doc/app/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 / Rails 3.0.0。这有什么区别吗?
更新:我注意到它试图从js
目录加载不存在的 Javascript 文件。RDoc 应该插入 JS 文件还是应该手动插入?
这是与 rvm 一起工作的旧版本 rdoc 中的问题。我对 2.5.8 版本有同样的问题。模板目录的路径包含 .rvm,因此图像和 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)和 Gordon Thiesfeld(提供解决方案 - http://rubyforge .org/tracker/?func=detail&atid=2472&aid=26923&group_id=627 ) 来自 Rubyforge.com