Is it normal that YARD doesn't replace `code` with <code>code</code>?
Asked Answered
P

3

25

I'm just starting to use YARD for documenting my Rails app. I didn't specify any specific Markup handler, but I would have expected that `code` would be converted to code, which doesn't seem to happen. Is this normal behavior? Do I have to add some additional option to make this work? Thank you.

Pilothouse answered 26/7, 2012 at 8:54 Comment(0)
D
22

The syntax is a little different from markdown (markdown vs rdoc) I suppose. Using '+' works. +code+ gets rendered in a <code> block.

Doyon answered 27/7, 2012 at 6:33 Comment(0)
P
21

From GitHub, I was used to use backticks for inline code comments. So after some research I found the following, very nice solution.

  • Add the redcarpet gem to your Gemfile
  • Run bundle command
  • Add --markup=markdown to your .yardopts file
  • Start YARD server using yard server --reload
  • Open localhost:8808 in your browser

Now you can use Syntax like on GitHub, e.g.

```ruby
def bla; puts 'bla'; end
```

Or

`this is inline code`

Nice! :)

Pilothouse answered 27/7, 2012 at 9:44 Comment(3)
You can do the same while creating the docs itself: yardoc --markup=markdown|textile|rdoc(default) /path/to/sourcefile Works both waysDoyon
Note that rubydoc.info uses .yardopts for configuration too, if your project contains it and you need custom options for your project.Spoils
You can also leave the default markup (rdoc) for all source files and then override it on a per-file basis. So you can add the markdown markup to the README.md file, as described at the end of this section in official docsPia
M
9

Without markdown, YARD will display a code block for an indented line, e.g.

  # This is a useful POSIX regex:
  #   [[:lower:]]{2}[[:digit:]]{3}[[:lower:]]{2}[[:digit:]]{4}

Two spaces of indent seem to be sufficient.

Macario answered 15/8, 2014 at 0:57 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.