码场和C扩展

3

我有一个用rdoc记录的C ruby扩展程序。这个程序包含需要被rdoc解析的C文件和Ruby文件。

Yard能否做到同样的事情?是否有一种“简单的方法”(我指的是常用的方法)从rdoc迁移到yard?


是的,Yard可以记录C文件。你能展示一下你当前的C文档样本吗?你已经尝试过哪些转换方法了吗?你确定你需要转换什么吗?Yard是rdoc的扩展,你是否尝试使用yardoc来渲染你当前的文档呢? - Neil Slater
是的,我在主目录中尝试了 yardoc(https://github.com/cedlemo/ruby-clangc),但没有成功。我使用 rake rdoc 生成我的文档,您可以在我提供的链接中查看 Rake 文件。 - cedlemo
1个回答

2

正如@Neil Slater所说,Yard可以解析rdoc风格的文档,唯一的例外是rdoc中的:call-seq标签。它的等效物是Yard中的@overload标签。(参见rdoc、darkfish和:call-seq:标签)

对于我来说,我使用了一个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。仍然存在一些错误,但这是一个不错的开始。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接