class Rabbit::Parser::RD::Ext::BlockVerbatim
Public Instance Methods
default_ext_block_verbatim(label, source, content, visitor)
click to toggle source
# File lib/rabbit/parser/rd/ext/block-verbatim.rb, line 43 def default_ext_block_verbatim(label, source, content, visitor) content = visitor.apply_to_String(content.rstrip) text = Text.new(content) PreformattedBlock.new(PreformattedText.new(text)) end
ext_block_verb_LaTeX(label, source, content, visitor)
click to toggle source
# File lib/rabbit/parser/rd/ext/block-verbatim.rb, line 102 def ext_block_verb_LaTeX(label, source, content, visitor) return nil unless /\ALaTeX\z/i =~ label make_image_from_file(source, visitor) do |src_file_path, prop| Parser::Ext::TeX.make_image_by_LaTeX(src_file_path, prop, visitor) end end
ext_block_verb_aafigure(label, source, content, visitor)
click to toggle source
# File lib/rabbit/parser/rd/ext/block-verbatim.rb, line 117 def ext_block_verb_aafigure(label, source, content, visitor) return nil unless /\Aaafigure\z/i =~ label make_image_from_file(source, visitor) do |src_file_path, prop| Parser::Ext::AAFigure.make_image(src_file_path, prop, visitor) end end
ext_block_verb_block_quote(label, source, content, visitor)
click to toggle source
# File lib/rabbit/parser/rd/ext/block-verbatim.rb, line 163 def ext_block_verb_block_quote(label, source, content, visitor) return nil unless /\Ablock[_-]?quote\z/i =~ label src, prop = parse_source(source) tree = ::RD::RDTree.new("=begin\n#{src}\n=end\n") elems = tree.root.children.collect do |child| child.accept(visitor) end BlockQuote.new(elems, prop) end
ext_block_verb_blockdiag(label, source, content, visitor)
click to toggle source
# File lib/rabbit/parser/rd/ext/block-verbatim.rb, line 124 def ext_block_verb_blockdiag(label, source, content, visitor) return nil unless /\Ablockdiag\z/i =~ label make_image_from_file(source, visitor) do |src_file_path, prop| Parser::Ext::BlockDiag.make_image(src_file_path, prop, visitor) end end
ext_block_verb_charty(label, source, content, visitor)
click to toggle source
# File lib/rabbit/parser/rd/ext/block-verbatim.rb, line 206 def ext_block_verb_charty(label, source, content, visitor) return nil unless /\Acharty\z/i =~ label make_image_from_file(source, visitor) do |src_file_path, prop| Parser::Ext::Charty.make_image(src_file_path, prop, visitor) end end
ext_block_verb_coderay(label, source, content, visitor)
click to toggle source
# File lib/rabbit/parser/rd/ext/block-verbatim.rb, line 131 def ext_block_verb_coderay(label, source, content, visitor) return nil unless /\Acoderay (\w+)\z/i =~ label lang = $1.downcase src, prop = parse_source(source) logger = visitor.logger result = Parser::Ext::CodeRay.highlight(lang, src, logger) result || default_ext_block_verbatim(label, src, src, visitor) end
ext_block_verb_emacs(label, source, content, visitor)
click to toggle source
# File lib/rabbit/parser/rd/ext/block-verbatim.rb, line 142 def ext_block_verb_emacs(label, source, content, visitor) return nil unless /\Aemacs(?:\s+(.+))?\z/i =~ label mode_line = $1 src, prop = parse_source(source) logger = visitor.logger result = Parser::Ext::Emacs.highlight(src, logger, mode_line) result || default_ext_block_verbatim(label, src, src, visitor) end
ext_block_verb_enscript(label, source, content, visitor)
click to toggle source
# File lib/rabbit/parser/rd/ext/block-verbatim.rb, line 88 def ext_block_verb_enscript(label, source, content, visitor) return nil unless /\Aenscript (\w+)\z/i =~ label lang = $1.downcase src, prop = parse_source(source) logger = visitor.logger result = nil if Parser::Ext::Enscript.check_availability(lang, logger) result = Parser::Ext::Enscript.highlight(lang, src, logger) end result || default_ext_block_verbatim(label, src, src, visitor) end
ext_block_verb_img(label, source, content, visitor)
click to toggle source
# File lib/rabbit/parser/rd/ext/block-verbatim.rb, line 54 def ext_block_verb_img(label, source, content, visitor) return nil unless /\A(?:image|img)\z/i =~ label src, prop = parse_source(source) return nil if prop["src"].nil? if prop["align"] == "right" body = visitor.current_body if body["background-image"] raise ParseError, _("multiple 'align = right' isn't supported.") end prop.each do |name, value| name = name.gsub(/_/, "-") if name == "src" property_name = "background-image" else property_name = "background-image-#{name}" end body[property_name] = value end :no_element else make_image(visitor, prop["src"], prop) end end
ext_block_verb_mimeTeX(label, source, content, visitor)
click to toggle source
# File lib/rabbit/parser/rd/ext/block-verbatim.rb, line 109 def ext_block_verb_mimeTeX(label, source, content, visitor) return nil unless /\AmimeTeX\z/i =~ label make_image_from_file(source, visitor) do |src_file_path, prop| Parser::Ext::TeX.make_image_by_mimeTeX(src_file_path, prop, visitor) end end
ext_block_verb_pango(label, source, content, visitor)
click to toggle source
# File lib/rabbit/parser/rd/ext/block-verbatim.rb, line 188 def ext_block_verb_pango(label, source, content, visitor) return nil unless /\Apango\z/i =~ label src, prop = parse_source(source) text = Text.new(src) PreformattedBlock.new(PreformattedText.new(text)) end
ext_block_verb_quote(label, source, content, visitor)
click to toggle source
# File lib/rabbit/parser/rd/ext/block-verbatim.rb, line 49 def ext_block_verb_quote(label, source, content, visitor) return nil unless /\A_\z/i =~ label default_ext_block_verbatim("", source, source, visitor) end
ext_block_verb_rouge(label, source, content, visitor)
click to toggle source
# File lib/rabbit/parser/rd/ext/block-verbatim.rb, line 195 def ext_block_verb_rouge(label, source, content, visitor) return nil unless /\Arouge (\w+)\z/i =~ label lang = $1.downcase src, prop = parse_source(source) logger = visitor.logger result = Parser::Ext::Rouge.highlight(lang, src, logger) result || default_ext_block_verbatim(label, src, src, visitor) end
ext_block_verb_rt(label, source, content, visitor)
click to toggle source
# File lib/rabbit/parser/rd/ext/block-verbatim.rb, line 153 def ext_block_verb_rt(label, source, content, visitor) return nil unless /\Art\z/i =~ label unless defined?(RT2RabbitVisitor) visitor.logger.warn(_("RTtool isn't available")) return nil end rt_visitor = RT2RabbitVisitor.new(visitor) rt_visitor.visit(RT::RTParser.parse(content)) end
ext_block_verb_video(label, source, content, visitor)
click to toggle source
# File lib/rabbit/parser/rd/ext/block-verbatim.rb, line 80 def ext_block_verb_video(label, source, content, visitor) return nil unless /\Avideo\z/i =~ label src, prop = parse_source(source) return nil if prop["src"].nil? make_video(visitor, prop["src"], prop) end
ext_block_verb_wait(label, source, content, visitor)
click to toggle source
# File lib/rabbit/parser/rd/ext/block-verbatim.rb, line 173 def ext_block_verb_wait(label, source, content, visitor) return nil unless /\Await\z/i =~ label src, prop = parse_source(source) tree = ::RD::RDTree.new("=begin\n#{src}\n=end\n") wait_block = WaitBlock.new visitor.register_pause(wait_block) tree.root.children.each do |child| wait_block << child.accept(visitor) end wait_block end