2011-12-14 184 views

回答

1

我用这个shell脚本:

#!/bin/sh 
#or you process here 
PROCESS='ruby */yard server' 
PID=`pidof $PROCESS` 

start() { 
    yard server & 
} 

stop() { 
    if [ "$PID" ];then 
    kill -KILL $PID 
    echo 'yard is stopped' 
    fi 
} 

case "$1" in 
start) 
    start 
;; 
stop) 
    stop 
;; 
restart) 
    stop 
    start 
;; 
*) 
echo Usage: $0 [start|stop|restart] 
;; 
esac 

而且在哈德森:yard doc && ./yard.sh restart

1

我使用nginx的和乘客,服务于这个小小的网络应用:

# ~/Documentation/config.ru 
require 'rubygems' 
require 'yard' 

libraries = {} 
gems = Gem.source_index.find_name('').each do |spec| 
    libraries[spec.name] ||= [] 
    libraries[spec.name] << YARD::Server::LibraryVersion.new(spec.name, spec.version.to_s, nil, :gem) 
end 

run YARD::Server::RackAdapter.new libraries 

的Nginx虚拟主机:

# /opt/nginx/config/sites-enabled/gems.doc 
server { 
    listen 80; 
    server_name gems.doc; 
    root /Users/your-user/Documentation/yard/public; 
    rails_env development; 
    passenger_enabled on; 
} 

更多在这个帖子:http://makarius.me/offline-rails-ruby-jquery-and-gems-docs-with

2

我发现最简单的选项只需在我的Rails应用程序中从/ public链接生成的文档文件夹即可。你只需要确保js/css资源可以通过相同的路径访问。

例如:

$ cd <railsapp> 
$ ls 
Gemfile 
app/ 
.. 
public/ 
doc/ <- Folder that contains the html files generated by yard 
$ cd public/ 
$ ln -s ../doc/ docs 

这将有助于您的文档在/docs/index.html的类/方法/文件基于

JavaScript的搜索仍然有效,因为它是基于JavaScript。但是,出现在顶部的搜索不会出现在此方法中。不过,我发现基于JavaScript的搜索足够了。