ярд 0.7.3 не в состоянии построить мой README в уценке и текстильной - PullRequest
4 голосов
/ 26 октября 2011

Я решил преобразовать файл README в моем проекте в уценку и использую ярд, чтобы убедиться, что документация предоставлена ​​нормально.Поэтому я установил 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 голосов
/ 27 октября 2011

Я думаю, вы просто запутались в параметрах 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 самостоятельно.

...