Text::WikiFormat::Blocks - blocktypes for Text::WikiFormat
Contents
Bugs
No known bugs.
Copyright
Copyright (c) 2006, chromatic. Some rights reserved.
This module is free software; you can use, redistribute, and modify it under the same terms as Perl
5.8.x.
perl v5.40.1 2025-04-07 Text::WikiFormat::Blocks(3pm)
Description
This module merely creates subclasses of Text::WikiFormat::Block, which is the interesting code. A block
is a collection of related lines, such as a code block (text to display verbatim in a monospaced font), a
header, an unordered list, an ordered list, and a paragraph (text to display in a proportional font).
Every block extends "Text::WikiFormat::Block".
Methods
The following methods exist:
• new( %args )
Creates and returns a new block. The valid arguments are:
• "text"
The text of the line found in the block.
• "args"
The arguments captured by the block-identifying regular expression.
• "level"
The level of indentation for the block (usually only useful for list blocks).
• "tags"
The tags in effect for the current type of wiki formatting.
• "opts"
The options in effect for the current type of wiki formatting.
Use the accessors of the same names to retrieve the values of the attributes.
• add_text( @lines_of_text )
Adds a list of lines of text to the current text for the block. This is very useful when you
encounter a block and want to merge it with the previous block of the same type
• add_args( @arguments )
Adds further arguments to the block; useful when merging blocks.
• formatted_text()
Returns text formatted appropriately for this block. Blocks don't have to have formatters, but they
may.
• formatter( $line_of_text )
Formats the $line using Text::WikiFormat::format_line(). You can add your own formatter here; this
is worth overriding.
• merge( $next_block )
Merges the current block with $next_block (the next block encountered) if they're of the same type
and are at the same level. This adds the text and args of $next_block to the current block. It's
your responsibility to remove $next_block from whatever your code iterates over.
• nests()
Returns true if this block should nest (as in lists and unordered lists) for the active wiki
formatting.
• nest( $next_block )
Nests $next_block under this block if the both nest and if $next_block has a level greater than the
current block. This actually adds $next_block as a text item within the current block. Beware.
Name
Text::WikiFormat::Blocks - blocktypes for Text::WikiFormat
Synopsis
None. Use Text::WikiFormat as the public interface, unless you want to create your own block type.
