2013-04-02 25 views
0

我刚刚向Rails 3.2.13应用添加了一些文档。我可以用耙子任务生成的文件就好了(运行的RDoc 3.12.2):更改用于生成Rails应用文档的RDoc模板

# lib/tasks/documentation.rake 
Rake::Task["doc:app"].clear 
Rake::Task["doc/app"].clear 
Rake::Task["doc/app/index.html"].clear 

namespace :doc do 
    RDoc::Task.new('app') do |rdoc| 
     rdoc.rdoc_dir = 'doc/app' 
     rdoc.generator = 'hanna' 
     rdoc.title  = 'Stoffi Web App Documentation' 
     rdoc.main  = 'doc/Overview' 
     rdoc.options << '--charset' << 'utf-8' 
     rdoc.rdoc_files.include('app/**/*.rb') 
     rdoc.rdoc_files.include('doc/*') 
    end 
end 

...,然后运行rake doc:app。但我真的不喜欢汉娜模板的默认外观。有没有办法编辑CSS,也许是通过提供我自己的CSS文件来覆盖Hanna中使用的默认文件?

谢谢!

+0

你把'hanna'宝石添加到你的'Gemfile'中了吗?并运行'捆绑'?此外,请检查此:https://github.com/rdoc/hanna-nouveau#rake-task'rdoc.generator ='hanna''部分。 – Kashyap

+0

它突然间通过使用rdoc.generator工作。也许我没有正确安装宝石什么的。我会改变这个问题只考虑修改。 –

回答

2

首先找到您的模板位于:

⮀ RDPATH=$(dirname $(gem which rdoc)) 
# ⇒ /home/am/.rvm/rubies/ruby-head/lib/ruby/2.1.0 

现在从那里复制默认模板到所需位置(变化/tmp到项目目录或喜欢):

⮀ cp -r $RDPATH/rdoc/generator/template/darkfish /tmp/myniftytemplate 

最后我们来教rdoc

class RDoc::Options 
    def template_dir_for template 
    "/tmp/#{template}" 
    end 
end 

RDoc::Task.new('app') do |rdoc| 
    rdoc.template = 'myniftytemplate' 
    … 
end 

就是这样。希望能帮助到你。

+0

谢谢。如果我想修改Darkfish,这非常有帮助。但我试图修改汉娜模板,我无法弄清楚如何去做。我将hanna-nouveau gem中的template_files文件复制到我自己的文件夹mytemplate中,修改背景,告诉RDoc有关路径,然后设置rdoc.template =“mytemplate”。但它不起作用。仍然得到汉娜的默认模板。尽管没有来自RDoc的错误。 –

+1

Oooups,对不起,我误解了模板引擎是'hanna'。根据[来源](https://github.com/mislav/hanna/blob/master/lib/hanna/hanna.rb)(第15,35行),'hanna'的模板文件目前很难-coded。我知道这听起来很丑陋,但我发现无法覆盖模板,除了修补模板in-place或'hanna.rb'从自定义位置加载'sass'。 – mudasobwa