我决定将我的一个项目中的 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 上。谢谢你。
最佳答案
我认为您只是对 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
如果您稍微编辑一下
README.md
,您会看到错误的位置在四处移动,但如果您尝试将 README.md
作为 Ruby 源文件读取,错误就会有意义。在运行
README.md
时你根本不需要说任何关于 yard
的事情,yard
会自己知道如何处理 README.md
。关于ruby - yard 0.7.3 无法在markdown 和textile 中构建我的自述文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7907698/