£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyʦ•ꎅȮFÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~芩ÊÇí`ÔÑ©ú뙵'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ӽ㞪éUWŸÈË%DÒÕ¬ï‘]/Åcx ‰ï2ß]ä6G[]S£Ôϯrs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
--- !ruby/object:RI::ClassDescription
attributes: []
class_methods:
- !ruby/object:RI::MethodSummary
name: new
comment:
- !ruby/struct:SM::Flow::H
level: 2
text: Synopsis
- !ruby/struct:SM::Flow::P
body: This code converts input_string, which is in the format described in markup/simple_markup.rb, to HTML. The conversion takes place in the convert method, so you can use the same SimpleMarkup object to convert multiple input strings.
- !ruby/struct:SM::Flow::VERB
body: " require 'rdoc/markup/simple_markup'\n require 'rdoc/markup/simple_markup/to_html'\n\n p = SM::SimpleMarkup.new\n h = SM::ToHtml.new\n\n puts p.convert(input_string, h)\n"
- !ruby/struct:SM::Flow::P
body: "You can extend the SimpleMarkup parser to recognise new markup sequences, and to add special processing for text that matches a regular epxression. Here we make WikiWords significant to the parser, and also make the sequences {word} and <no>text...</no> signify strike-through text. When then subclass the HTML output class to deal with these:"
- !ruby/struct:SM::Flow::VERB
body: " require 'rdoc/markup/simple_markup'\n require 'rdoc/markup/simple_markup/to_html'\n\n class WikiHtml < SM::ToHtml\n def handle_special_WIKIWORD(special)\n "<font color=red>" + special.text + "</font>"\n end\n end\n\n p = SM::SimpleMarkup.new\n p.add_word_pair("{", "}", :STRIKE)\n p.add_html("no", :STRIKE)\n\n p.add_special(/\\b([A-Z][a-z]+[A-Z]\\w+)/, :WIKIWORD)\n\n h = WikiHtml.new\n h.add_tag(:STRIKE, "<strike>", "</strike>")\n\n puts "<body>" + p.convert(ARGF.read, h) + "</body>"\n"
- !ruby/struct:SM::Flow::H
level: 2
text: Output Formatters
- !ruby/struct:SM::Flow::P
body: missing
constants:
- !ruby/object:RI::Constant
comment:
name: SPACE
value: ?\s
- !ruby/object:RI::Constant
comment:
- !ruby/struct:SM::Flow::P
body: "List entries look like:"
- !ruby/struct:SM::Flow::VERB
body: " * text\n 1. text\n [label] text\n label:: text\n"
- !ruby/struct:SM::Flow::P
body: Flag it as a list entry, and work out the indent for subsequent lines
name: SIMPLE_LIST_RE
value: /^( ( \* (?# bullet) |- (?# bullet) |\d+\. (?# numbered ) |[A-Za-z]\. (?# alphabetically numbered ) ) \s+ )\S/x
- !ruby/object:RI::Constant
comment:
name: LABEL_LIST_RE
value: "/^( ( \\[.*?\\] (?# labeled ) |\\S.*:: (?# note ) )(?:\\s+|$) )/x"
full_name: SM::SimpleMarkup
includes: []
instance_methods:
- !ruby/object:RI::MethodSummary
name: add_html
- !ruby/object:RI::MethodSummary
name: add_special
- !ruby/object:RI::MethodSummary
name: add_word_pair
- !ruby/object:RI::MethodSummary
name: assign_types_to_lines
- !ruby/object:RI::MethodSummary
name: content
- !ruby/object:RI::MethodSummary
name: convert
- !ruby/object:RI::MethodSummary
name: get_line_types
- !ruby/object:RI::MethodSummary
name: group_lines
- !ruby/object:RI::MethodSummary
name: handled_labeled_list
name: SimpleMarkup
superclass: Object