2015-10-03 74 views
2

我有一個C紅寶石擴展,我用rdoc文檔。有rdoc解析的C文件和ruby文件。堆場和C擴展

院子裏能做同樣的事情嗎?有沒有一種「簡單的方法」,(我的意思是一種常用的方式)從rdoc遷移到院子裏?

+0

是Yard可以記錄C文件。你能展示一個你當前C文檔的樣本嗎?到目前爲止,您對轉換有什麼看法?你確定你甚至需要轉換任何東西,Yard是rdoc的擴展。 。 。你是否試圖用'yardoc'呈現你當前的文檔? –

+0

是的,我在主目錄(https://github.com/cedlemo/ruby-clangc)嘗試'yardoc',但沒有成功,我使用rake rdoc來生成我的文檔,您可以在鏈接中看到Rake文件我給你。 – cedlemo

回答

2

正如@Neil斯萊特說,堆場可以解析的RDoc風格的文檔有一個例外是從的RDoc:call-seq標籤。它的當量是@overload院子。 (見rdoc, darkfish, and the :call-seq: tag

對我來說,我用了一個Rake任務,以生成RDoc文檔:

require "rdoc/task" 

RDOC_FILES = FileList["README.rdoc", "ext/clangc/clangc.c", "ext/clangc/constants.c", "ext/clangc/class_Index.c", "ext/clangc/class_TranslationUnit.c", "lib/clangc.rb"] 

Rake::RDocTask.new do |rd| 
    rd.main = "README.rdoc" 
    rd.rdoc_dir = "doc" 
    rd.rdoc_files.include(RDOC_FILES) 
end 

我只是要推出rake rdoc

爲了使用堆場相反,我只需要創建一個這樣的Rake任務:

require "yard" 
YARD_FILES = FileList["ext/clangc/clangc.c", "ext/clangc/class_Index.c", "ext/clangc/class_TranslationUnit.c", "lib/clangc.rb"] 

YARD::Rake::YardocTask.new do |t| 
    t.files = YARD_FILES # optional 
    t.options = %w(-o yard_documentation --readme README.rdoc) # optional 
end 

然後我用rake yard。仍然有一些錯誤,但這是一個很好的開始。