4

我决定将我的项目中的 README 文件转换为降价,并一直在使用 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 上。谢谢你。

4

1 回答 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为某种源文件。您README.md将被解释为 Ruby 源文件(它不是),并导致如下Ruby错误:

unexpected tinteger, expecting $end

如果你编辑你的位,你会看到错误的位置在移动,但如果你尝试将其作为 Ruby 源文件README.md读取,那么该错误将是有意义的。README.md

README.md跑的时候根本不需要说什么yardyard自己就知道该怎么办了README.md

于 2011-10-26T20:19:37.983 回答