【问题标题】:How do I document Rake tasks with YARD?如何使用 YARD 记录 Rake 任务?
【发布时间】:2015-04-22 15:32:56
【问题描述】:

我想在我们的 Rails 应用程序中包含有关 Rake 任务的信息。我们将YARD 用于文档,目前lib/tasks/development.rake 之类的页面默认显示为无格式文本。

我可以使用 # @markup ruby from the YARD documentation 将它们呈现为 Ruby 源代码。

但是,这只会将任何 cmets 呈现为内联,即使它们包含像 # @!method foo 这样的 YARD 指令。这意味着the YARD documentation on tagging DSLs 似乎不适用。

我错过了什么吗?

如何让 YARD 识别 .rake 文件中的代码和文档?

注意我会对忽略实际代码并仅生成文档副本的解决方案感到满意,但文档副本的源必须是 .rake 文件本身——我不希望文档存在于单独的 .markdown 文件中(或无论如何),因为它失去同步的可能性太大。

更多信息 - yard 命令:

我正在使用包含以下内容的.yardopts 文件:

--asset graphs 'app/**/*.rb' 'lib/**/*.rb' - README info/*

要让 YARD 读取 Rake 任务,我可以在连字符之后添加'lib/tasks/*.rake'(即将 Rake 文件添加到 YARD 的“文件”列表中),但如上所述,这不会处理它们正确。

根据 Benjamin 在下面的建议,我尝试在连字符之前添加'lib/tasks/*.rake'(即将 Rake 文件添加到要处理的常规 Ruby 文件列表中),但这似乎不会生成什么都可以。

有可能 YARD 正在生成一些东西,但不是在预期的位置/我想使用预期的文件名,我对 YARD 的工作方式还不够熟悉,无法确定某处是否存在孤立输出。在 YARD 生成的搜索中肯定没有合适的内容出现,简单的 find doc | grep rakefind doc | grep basename_of_rake_file 不会显示任何内容。

【问题讨论】:

  • 这仅仅是让 Yard 将 *.rake 文件识别为 ruby​​ 的问题吗?
  • 自问起我恐怕还没看过这么多,但我想基本上是这样,是的。然而,实际上使用# @markup ruby 指令指定它们是Ruby并不起作用,因为它呈现Ruby,即它不再处理文档cmets
  • @Leo,在命令行上指定 rake 扩展有帮助吗? yardoc *.rake -o out/ ?
  • ...也许使用 AT note 标签?
  • @benjamin 刚试过这些,恐怕它们似乎不起作用。它可以将lib/tasks/*.rake 添加到yardoc 命令的files 部分,但随后它只会将它们作为文本读取(根据问题)。将它们添加到命令主体似乎根本不会为这些文件生成任何内容,即 Yard 类/方法/文件列表中没有列出任何内容,并且输出中似乎没有任何内容 doc/目录。我还应该在哪里寻找输出?

标签: ruby-on-rails ruby rake yard


【解决方案1】:

来自YARD 文档:

使用 YARD 生成文档下的使用 YARD 入门指南部分,查看记录额外文件添加元-数据到额外文件。这可能会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-03
    • 1970-01-01
    • 2016-01-31
    • 2011-07-17
    • 1970-01-01
    • 2013-10-28
    相关资源
    最近更新 更多