| Class | Texy::Modules::ImageDesc |
| In: |
lib/texy/modules/image_desc.rb
|
| Parent: | Base |
Image with description module class
| box_class | [RW] | non-floated box class |
| handler | [RW] | Proc that will be called with newly created element |
| left_class | [RW] | left-floated box class |
| right_class | [RW] | right-floated box class |
# File lib/texy/modules/image_desc.rb, line 49 def initialize(texy) super self.box_class = 'image' self.left_class = 'image left' self.right_class = 'image right' end
Module initialization.
# File lib/texy/modules/image_desc.rb, line 57 def init if texy.image_module.allowed texy.register_block_pattern( method(:process_block), /^#{PATTERN_IMAGE}#{PATTERN_LINK_N}?\ +\*\*\*\ +(.*?)#{PATTERN_MODIFIER}?()$/ ) end end
Callback function (for blocks)
[*image*]:link *** .... .(title)[class]{style}>
# File lib/texy/modules/image_desc.rb, line 70 def process_block(parser, matches) m_urls, m_link, m_content = matches.values_at(1, 6, 7) img_mods = matches[2..5] mods = matches[8..11] el = ImageDescElement.new(texy) el.modifier.set_properties(*mods) el_image = ImageElement.new(texy) el_image.set_images_raw(m_urls) el_image.modifier.set_properties(*img_mods) el.modifier.h_align = el_image.modifier.h_align el_image.modifier.h_align = nil content = el.append_child(el_image) if m_link el_link = LinkElement.new(texy) if m_link == ':' el_image.require_link_image el_link.link = el_image.link_image.dup else el_link.set_link_raw(m_link) end content = el.append_child(el_link, content) end el_desc = GenericBlockElement.new(texy) el_desc.parse(m_content.lstrip) content += el.append_child(el_desc) el.set_content(content, true) if handler return unless handler.call(el) end parser.element.append_child(el) end