如何在Ruby RDoc中启用“Click to toggle source”按钮?

时间:2010-09-27 02:13:41

标签: ruby rubygems rdoc

使用Darkfish RDoc生成器生成RDoc文档时,方法旁边的每个方法旁边都有一个Click to toggle source按钮。当我生成文档时,它对我不起作用,那么如何使该功能起作用,是否必须在RDoc源中添加关键字? alt text

4 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,并在http://rack.rubyforge.org/doc/js找到了丢失的文件。 我在doc / app / js目录中手动复制它们,现在点击切换源。 这至少是一个快速修复。

答案 1 :(得分:1)

默认情况下似乎已启用。我刚尝试用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才能实现此功能。

答案 2 :(得分:1)

我的Rails3代码遇到了同样的问题。它非常通用,我不记得使用RDoc设置,但我的click to toggle source也不起作用。我知道JS已经打开了,当我运行rake doc:app时它们没有出现任何错误,所以我不太清楚它们是怎么回事。

我唯一能想到的是我在RVM下运行Ruby 1.9.2 / Rails 3.0.0。这有什么不同吗?

更新:我注意到它试图从js目录加载不存在的Javascript文件。 RDoc是应该插入JS文件还是你应该手动完成?

答案 3 :(得分:0)

在与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)和Gordon Thiesfeld(提供解决方案 - http://rubyforge.org/tracker/?func=detail&atid=2472&aid=26923&group_id=627)来自Rubyforge.com