我使用院子来生成项目文档,但我不想在文档中显示[查看源代码]链接,我已经潜入院子官方指南但仍然没有得到解决方案.
什么想法?谢谢.
我已经决定将我的项目中的README文件转换为markdown,并且已经使用了yard验证了所提供的文档.所以我安装了rdiscount,将README更改为README.md并尝试:
yard doc README.md
Run Code Online (Sandbox Code Playgroud)
这给了我一个警告:
[warn]: Syntax error in `readme.md`:(3,18): syntax error, unexpected tinteger, expecting $end
Run Code Online (Sandbox Code Playgroud)
所以我尝试过:
yard doc -m markdown -- README.md
Run Code Online (Sandbox Code Playgroud)
同样的问题.运行:
yard doc --backtrace -- README.md
Run Code Online (Sandbox Code Playgroud)
提供更多信息:
[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'
Run Code Online (Sandbox Code Playgroud)
如果我尝试使用纺织品会发生同样的事情 如果有人想尝试重现问题,该项目是在github上.谢谢.
我正在运行"yard server -g",但它只生成axlsx的目录.
当我点击课程时,我得到:
undefined method `new' for nil:NilClass.
Run Code Online (Sandbox Code Playgroud)
知道为什么吗?(Fwiw,其他宝石在Yard服务器上工作正常)
我需要标记返回类而不是实例的方法的 @return 类型。例子:
# @return [String] # This implies that the return type is a String object
def string_class
String # The method actually returns the String class itself
end
Run Code Online (Sandbox Code Playgroud)
YARD有这方面的标准吗?我的第一个猜测是,@return [Class<String>]
但我一直无法找到类似的文档。
I am using Ruby on Rails 3.1.0 and I am trying to use YARD 0.7.4. I would like to document constant values, so in my class I state this:
# [Fixnum] Test constant documentation.
TEST_CONSTANT = 1
Run Code Online (Sandbox Code Playgroud)
but the HTML output after I run the yardoc
(or yard doc
) command is the following:
In the above image is shown that the HTML documentation is not good rendered/generated, at least not as I would expect. I read the YAML documentation …
如果我在一个文件中有以下内容:
module Something
class Resource
# Defines a new property
# @param [String] name the property name
# @param [Class] type the property's type
# @macro [attach] property
# @return [$2] the $1 property
def self.property(name, type) end
end
class Post < Resource
property :title, String
property :view_count, Integer
end
end
Run Code Online (Sandbox Code Playgroud)
property
定义的方法得到了正确记录.但是,如果我在单独的文件中有这些定义,则文档生成不正确,例如在以下情况中:
file0.rb
:
require 'file1.rb'
require 'file2.rb'
Run Code Online (Sandbox Code Playgroud)
file1.rb
:
module Something
class Resource
# Defines a new property
# @param [String] name the property name
# …
Run Code Online (Sandbox Code Playgroud) 我寻找了 gem 附带的模板(我只能找到默认的 HTML 输出器),我搜索了帮助和在线文档以找到将重定向到 STDOUT 的开关。我找不到任何关于如何解决这个问题的信息。
有没有一种简单的方法可以做到这一点(也许是 shell 命令?)或者我是否已经浏览了源代码?
我有一个看起来像这样的方法:
def get_endpoint(params: {})
end
Run Code Online (Sandbox Code Playgroud)
我希望此方法的调用者能够传递一些可选参数.
我想写YARD文档来支持这个,如果我没有使用关键字参数,我会使用@option
声明.
但是,YARD自己的文档说:
注意:对于关键字参数,请使用@param,而不是@option.
所以我尝试过:
# @param params [Hash] options to be used in request
# @param date [String] date in YYYYMMDD
# @param start_time [Integer] start_time in Epoch
Run Code Online (Sandbox Code Playgroud)
这失败了,因为YARD只看到params
我正在使用的关键字参数.确切的失败是:
@param tag has unknown parameter name: date
Run Code Online (Sandbox Code Playgroud)
那么我尝试使用@option
替换为param
关键字的语法:
# @param params [Hash] options to be used in request
# @param params [String] :date in YYYYMMDD
# @param params [Integer] :start_time in Epoch
Run Code Online (Sandbox Code Playgroud)
这会导致不同的错误:
@param tag has duplicate …
Run Code Online (Sandbox Code Playgroud) 作为git提交工作流程的一部分,自动生成ruby文档的最佳实践是什么?每当提交合并到master时,我们都会自动生成新文档.
我正在使用带有Markdown的YARDoc来记录我的Ruby代码,并希望在方法的文档中有一个无序列表(HTML"项目符号").这是我到目前为止所拥有的:
$ cat file.rb
class Foo
# Returns "foo", which consists of the letters:
# * f
# * o
# * o
def method; "foo"; end
end
Run Code Online (Sandbox Code Playgroud)
我正在使用以下方式生成文档:
$ yard doc --markup markdown file.rb
Run Code Online (Sandbox Code Playgroud)
但它不会生成HTML项目符号,它会将星号(*
)视为文字字符.生成的doc/Foo.html
文件包含:
<span class="summary_desc"><div class='inline'><p>Returns "foo",
which consists of the letters:
* f
* o
* o.</p>
</div></span>
Run Code Online (Sandbox Code Playgroud)
如何在YARD中使用Markdown插入HTML项目符号?我基本上希望将上面输出中的每个字母都包含在内<li>...</li>
,并将列表包含在一个<ul>
元素中.
我正在使用Yard生成文档,但即使在我运行时yardoc --private
,它也没有显示源中私有方法的文档.
怎么了?
当尝试创建我的 Rails 控制器和使用的参数的文档时,我遇到了困难,因为yard似乎期望这些参数作为方法参数存在。
# Renders a list of items
# @param params [Hash] the search parameters
# @option params [String] 'info' Only return items with this specific info
# @option params [Integer] 'limit' Only return <limit> items
def index
# ... do something smart here
end
Run Code Online (Sandbox Code Playgroud)
因此,对于此文档场将发出警告并且不会创建文档:
[warn]: @param tag has unknown parameter name: params
in file `app/controllers/items_controller.rb' near line 8
Run Code Online (Sandbox Code Playgroud)
有没有办法使用yard来记录这些类型的项目,或者我需要手动执行此操作?
我有以下方法:
def foo
[true_or_false, some_integer]
end
Run Code Online (Sandbox Code Playgroud)
它总是返回一个由 2 组成的数组,其中第一个元素是布尔值,第二个元素是整数。如何使用@return
元标记在 YARD 中记录它?
后面就是这样使用的:
is_success, exit_code = foo
Run Code Online (Sandbox Code Playgroud)
我已经检查了@return 部分的官方文档,但没有多大帮助。