yard 0.7.3在将README转换为markdown和textile格式时无法构建。

4

我决定将我的一个项目中的 README 文件转换为 markdown,并使用 yard 验证文档是否正常渲染。所以我安装了 rdiscount,将 README 改为 README.md 并尝试运行以下命令:

yard doc README.md

这给我一个警告:

[warn]: Syntax error in `readme.md`:(3,18): syntax error, unexpected tinteger, expecting $end

所以我尝试了:

yard doc -m markdown -- README.md

同样的问题。运行:

yard doc --backtrace -- README.md

提供更多信息:

提供一些更详细的信息:

[warn]: Syntax error in `readme.md`:(3,18): syntax error, unexpected tinteger, expecting $end
[error]: ParserSyntaxError: syntax error in `README.md`:(3,18): syntax error, unexpected tINTEGER, expecting $end
[error]: Stack trace:
    /Users/wadewest/.rvm/gems/ruby-1.9.2-p290@peppercorn/gems/yard-0.7.3/lib/yard/parser/ruby/ruby_parser.rb:505:in `on_parse_error'
    /Users/wadewest/.rvm/gems/ruby-1.9.2-p290@peppercorn/gems/yard-0.7.3/lib/yard/parser/ruby/ruby_parser.rb:49:in `parse'
    /Users/wadewest/.rvm/gems/ruby-1.9.2-p290@peppercorn/gems/yard-0.7.3/lib/yard/parser/ruby/ruby_parser.rb:49:in `parse'
    /Users/wadewest/.rvm/gems/ruby-1.9.2-p290@peppercorn/gems/yard-0.7.3/lib/yard/parser/ruby/ruby_parser.rb:15:in `parse'
    /Users/wadewest/.rvm/gems/ruby-1.9.2-p290@peppercorn/gems/yard-0.7.3/lib/yard/parser/source_parser.rb:438:in `parse'
    /Users/wadewest/.rvm/gems/ruby-1.9.2-p290@peppercorn/gems/yard-0.7.3/lib/yard/parser/source_parser.rb:361:in `parse_in_order'

如果我尝试使用纺织品,就会发生同样的事情。如果有人想尝试重现这个问题,该项目在Github上。谢谢。

1个回答

6

我认为您对 yard 选项有些困惑。帮助文档如下:

$ yard --help doc
Usage: yard doc [options] [source_files [- extra_files]]
(if a list of source files is omitted, 
  {lib,app}/**/*.rb ext/**/*.c is used.)

Example: yardoc -o documentation/ - FAQ LICENSE
  The above example outputs documentation for files in
  lib/**/*.rb to documentation/ including the extra files
  FAQ and LICENSE.
...

所以当你说:

$ yard doc -m markdown -- README.md

Yard会尝试将README.md解释为某种源文件。然而,它并不是Ruby源文件,所以会导致Ruby错误,如下所示:

unexpected tinteger, expecting $end

如果你稍微编辑一下你的README.md,你会看到错误的位置会发生变化,但如果你把README.md当做Ruby源文件来阅读,那么错误就会变得有意义了。
在运行yard时,你不需要对README.md做任何说明,yard会自己处理README.md

感谢提供的信息,显然我没有仔细阅读帮助文档的顶部。使用 yard doc - README.md 命令解决了问题。 - wwest

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