我有一个用 rdoc 记录的 C ruby 扩展。 rdoc解析的有C文件和ruby文件。
yard 可以做同样的事情吗?是否有一种“简单的方法”(我指的是一种常用的方法)从 rdoc 迁移到 yard?
最佳答案
正如@Neil Slater 所说,Yard 可以解析 rdoc 风格的文档,但有一个异常(exception),即来自 的 :call-seq
标签>rdoc。其等效项是 Yard 中的 @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
为了改用 Yard,我只需要像这样创建一个 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
。仍然存在一些错误,但这是一个好的开始。
关于ruby - 庭院和 C 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32920560/