# Text::WikiFormat::Blocks - blocktypes for Text::WikiFormat - perldoc - [phpMan]

## NAME
    [Text::WikiFormat::Blocks](https://www.chedong.com/phpMan.php/perldoc/Text%3A%3AWikiFormat%3A%3ABlocks/markdown) - blocktypes for [Text::WikiFormat](https://www.chedong.com/phpMan.php/perldoc/Text%3A%3AWikiFormat/markdown)

## SYNOPSIS
    None. Use [Text::WikiFormat](https://www.chedong.com/phpMan.php/perldoc/Text%3A%3AWikiFormat/markdown) as the public interface, unless you want to create your own block
    type.

## DESCRIPTION
    This module merely creates subclasses of [Text::WikiFormat::Block](https://www.chedong.com/phpMan.php/perldoc/Text%3A%3AWikiFormat%3A%3ABlock/markdown), 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](https://www.chedong.com/phpMan.php/perldoc/Text%3A%3AWikiFormat%3A%3ABlock/markdown)".

## 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](https://www.chedong.com/phpMan.php/perldoc/Text%3A%3AWikiFormat%3A%3Aformatline/markdown)(). 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.

## AUTHOR
    chromatic, "chromatic at wgz dot org"

## 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.

