Документация Ruby Yard: как добавить дословно (сгенерировать что-то вроде тега ‹pre›)

Я хочу, чтобы фрагмент кода, например хеш, отображался с фиксированным шрифтом в результирующем html. Предположим, это содержимое моего файла:

=begin

One example of valid hash to this function is:
{
    :name => "Engelbert",
    :id  => 1345
}
=end
def f hash_param
  # ...
end

Как проинструктировать yard (используя версию 0.9.15 по умолчанию), чтобы yard doc file.rb генерировал, для примера хэша, эквивалент добавления 4 обратных косых черт в формат уценки или 4 начальных пустых пробелов в stackoverflow или тег <pre> в html, что приводит к дословному/фиксированному формату шрифта в результирующем html?

Ожидаемый результат:

One example of valid hash to this function is:
{
    :name => "Engelbert",
    :id  => 1345
}

person ribamar    schedule 24.07.2018    source источник


Ответы (2)


РЕДАКТИРОВАТЬ

> gem install redcarpet
> yard doc --markup-provider redcarpet --markup markdown - file.rb

Следует заключить содержимое file.rb в тег <pre>, создав эту страницу.


Используйте @example

Покажите пример фрагмента кода для объекта. Первая строка является необязательным заголовком.

# @example One example of valid hash to this function is:
#   {
#       :name => "Engelbert",
#       :id  => 1345
#   }
def f hash_param
  # ...
end
person Daniel    schedule 26.07.2018
comment
хорошо, возможно, вопрос был запутанным, но, хотя то, что я отобразил в приведенном выше случае, является примером, но я хотел бы, чтобы решение работало и для других случаев. Пример других случаев: художественное изображение ASCII, отображающее суперкорову. - person ribamar; 26.07.2018
comment
Я очень ценю ваши усилия, и мне очень нравится суперкорова... но это точно не ответ - исходный код не должен выводиться. Я думаю, что лучше признать, что это, вероятно, невозможно сделать. - person ribamar; 09.08.2018

Может я не понял вашего вопроса:

эквивалентно добавлению 4 обратных слэшей в формат уценки или 4 начальных пустых пробелов в stackoverflow

Если я использую 4 начальных пустых места в своем коде следующим образом:

=begin

One example of valid hash to this function is:
    {
        :name => "Engelbert",
        :id  => 1345
    }
=end
def f hash_param
  # ...
end

тогда я получаю

введите здесь описание изображения

Но, возможно, вы также можете использовать @option:

@param hash_param
@option hash_param [String] :name The name of...
@option hash_param [Integer] :id The id of...

и вы получаете:

введите здесь описание изображения

Отказ от ответственности: для своих примеров я использовал yard 0.9.26.

person knut    schedule 01.06.2021