庭院和 C 扩展
Yard and C extension
我有一个用 rdoc 记录的 C ruby 扩展。既有C文件,也有ruby文件被rdoc解析。
yard 可以做同样的事情吗?有没有"easy way",(我的意思是一种常用的方式)从 rdoc 迁移到 yard?
正如@Neil Slater 所说,Yard 可以解析 rdoc 风格的文档,但有一个例外是 :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
。仍然有一些错误,但这是一个好的开始。
我有一个用 rdoc 记录的 C ruby 扩展。既有C文件,也有ruby文件被rdoc解析。
yard 可以做同样的事情吗?有没有"easy way",(我的意思是一种常用的方式)从 rdoc 迁移到 yard?
正如@Neil Slater 所说,Yard 可以解析 rdoc 风格的文档,但有一个例外是 :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
。仍然有一些错误,但这是一个好的开始。