# RDoc::Markup - ri - phpman

= [**RDoc::Markup](https://www.chedong.com/phpMan.php/perldoc/RDoc%3A%3AMarkup/markdown) < Object**

(from gem rdoc-7.2.0)
------------------------------------------------------------------------
[RDoc::Markup](https://www.chedong.com/phpMan.php/perldoc/RDoc%3A%3AMarkup/markdown) parses plain text documents and attempts to decompose them
into their constituent parts.  Some of these parts are high-level:
paragraphs, chunks of verbatim text, list entries and the like.  Other
parts happen at the character level: a piece of bold text, a word in
code font.  This markup is similar in spirit to that used on WikiWiki
webs, where folks create web pages using a simple set of formatting
rules.

[RDoc::Markup](https://www.chedong.com/phpMan.php/perldoc/RDoc%3A%3AMarkup/markdown) and other markup formats do no output formatting, this is
handled by the [RDoc::Markup::Formatter](https://www.chedong.com/phpMan.php/perldoc/RDoc%3A%3AMarkup%3A%3AFormatter/markdown) subclasses.

= **Markup Formats**

RDoc supports these markup formats:

* rdoc: the RDoc markup format; see RDoc Markup Reference(
  rdoc-ref:doc/markup_reference/rdoc.rdoc )
* markdown: The markdown markup format as described in the Markdown
  Guide( <https://www.markdownguide.org> ); see [RDoc::Markdown](https://www.chedong.com/phpMan.php/perldoc/RDoc%3A%3AMarkdown/markdown).
* rd: the rd markup format format; see [RDoc::RD](https://www.chedong.com/phpMan.php/perldoc/RDoc%3A%3ARD/markdown).
* tomdoc: the TomDoc format as described in TomDoc for Ruby(
  <http://tomdoc.org> ); see [RDoc::TomDoc](https://www.chedong.com/phpMan.php/perldoc/RDoc%3A%3ATomDoc/markdown).

You can choose a markup format using the following methods:

per project:
  If you build your documentation with rake use [RDoc::Task](https://www.chedong.com/phpMan.php/perldoc/RDoc%3A%3ATask/markdown)#markup.

### If you build your documentation by hand run:

    rdoc --markup your_favorite_format --write-options

  and commit .rdoc_options and ship it with your packaged gem.

per file:
### At the top of the file use the :markup: directive to set the default
  format for the rest of the file.

per comment:
### Use the :markup: directive at the top of a comment you want to write
  in a different format.


= [**RDoc::Markup**](https://www.chedong.com/phpMan.php/perldoc/RDoc%3A%3AMarkup/markdown)

[RDoc::Markup](https://www.chedong.com/phpMan.php/perldoc/RDoc%3A%3AMarkup/markdown) is extensible at runtime: you can add new markup elements
to be recognized in the documents that [RDoc::Markup](https://www.chedong.com/phpMan.php/perldoc/RDoc%3A%3AMarkup/markdown) parses.

[RDoc::Markup](https://www.chedong.com/phpMan.php/perldoc/RDoc%3A%3AMarkup/markdown) is intended to be the basis for a family of tools which
share the common requirement that simple, plain-text should be rendered
in a variety of different output formats and media.  It is envisaged
that [RDoc::Markup](https://www.chedong.com/phpMan.php/perldoc/RDoc%3A%3AMarkup/markdown) could be the basis for formatting RDoc style comment
blocks, Wiki entries, and online FAQs.

== **Synopsis**

## This code converts inputstring to HTML.  The conversion takes place in
the convert method, so you can use the same [RDoc::Markup](https://www.chedong.com/phpMan.php/perldoc/RDoc%3A%3AMarkup/markdown) converter to
convert multiple input strings.

  require 'rdoc'

  h = [RDoc::Markup::ToHtml](https://www.chedong.com/phpMan.php/perldoc/RDoc%3A%3AMarkup%3A%3AToHtml/markdown).new([RDoc::Options](https://www.chedong.com/phpMan.php/perldoc/RDoc%3A%3AOptions/markdown).new)

  puts h.convert(input_string)

## You can extend the [RDoc::Markup](https://www.chedong.com/phpMan.php/perldoc/RDoc%3A%3AMarkup/markdown) parser to recognize new markup
sequences, and to add regexp handling. Here we make WikiWords
significant to the parser, and also make the sequences {word} and
<no>text...</no> signify strike-through text.  We then subclass the HTML
output class to deal with these:

  require 'rdoc'

  class WikiHtml < [RDoc::Markup::ToHtml](https://www.chedong.com/phpMan.php/perldoc/RDoc%3A%3AMarkup%3A%3AToHtml/markdown)
    def handle_regexp_WIKIWORD(target)
      "<font color=red>" + target + "</font>"
    end
  end

  markup = [RDoc::Markup](https://www.chedong.com/phpMan.php/perldoc/RDoc%3A%3AMarkup/markdown).new
  markup.add_word_pair("{", "}", :STRIKE)
  markup.add_html("no", :STRIKE)

  markup.add_regexp_handling(/\b([A-Z][a-z]+[A-Z]\w+)/, :WIKIWORD)

  wh = WikiHtml.new [RDoc::Options](https://www.chedong.com/phpMan.php/perldoc/RDoc%3A%3AOptions/markdown).new, markup
  wh.add_tag(:STRIKE, "<strike>", "</strike>")

  puts "<body>#{wh.convert ARGF.read}</body>"

== **Encoding**

## Where Encoding support is available, RDoc will automatically convert all
documents to the same output encoding.  The output encoding can be set
via [RDoc::Options](https://www.chedong.com/phpMan.php/perldoc/RDoc%3A%3AOptions/markdown)#encoding and defaults to Encoding.default_external.

= **RDoc Markup Reference**

## See RDoc Markup Reference( rdoc-ref:doc/markupreference/rdoc.rdoc )






------------------------------------------------------------------------
= **Constants:**

Heading:
  [not documented]


= **Class methods:**

  new
  parse

= **Instance methods:**

  add_regexp_handling
  convert
  regexp_handlings

= **Attributes:**

  attr_reader regexp_handlings

