| Template-Plugin-Textile2 documentation | Contained in the Template-Plugin-Textile2 distribution. |
Template::Plugin::Textile2 - Use Textile formatting with Template Toolkit
[% USE Textile2 -%] [% FILTER textile2 %]This *bold* and this is _italic_.[% END %] <p>this is <strong>bold</strong> and this is <em>italic</em>. [% USE Textile2 ( disable_html => 1 ) -%] [% FILTER textile2 %]this is<br /> _italic_.[% END %] <p>this is<br /> <em>italic</em>.</p>
This module wraps Text::Textile into a plugin Template Toolkit. It
provides a filter named textile2.
This aims to be a more feature-full version Template::Plugin::Textile,
by allowing you to pass parameters to Text::Textile.
Use this way:
[% FILTER textile2 %]
Reasons to use the Template Toolkit:
* Seperation of concerns.
* It's written in Perl.
* Badgers are Still Cool.
[% END %]
or:
[% mytext | textile2 %]
You can pass the same options you would pass to Text::Textile, directly when using the template. For instance to disable processing of HTML tags you can do:
[% USE Textile2 ( disable_html => 1 ) %]
To avoid your text to be wrapped into <p>...</p> you can
use:
[% USE Textile2 ( format_mode => 'inline' ) %]
See Text::Textile for details.
Michele Beltrame mb@italpro.net.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Template-Plugin-Textile2 documentation | Contained in the Template-Plugin-Textile2 distribution. |
package Template::Plugin::Textile2; use strict; use warnings; use Template::Plugin::Filter; use Text::Textile; our $VERSION = "1.21"; use base qw/Template::Plugin::Filter/; sub init { my ($self, $args) = @_; die 'Args must be an hashref' if (defined $args) && (ref $args ne 'HASH'); $self-> { _FORMAT_MODE } = $args->{format_mode} || 'default'; delete $args->{format_mode}; $self->{ _TEXTILE } = Text::Textile->new( %$args ); my $name = $self->{ _CONFIG }->{ name } || 'textile2'; $self->install_filter($name); return $self; } sub filter { my ($self, $text) = @_; if ( $self->{_FORMAT_MODE} eq 'inline' ) { return $self->{_TEXTILE}->format_inline(text => $text); } else { return $self->{_TEXTILE}->process($text); } } 1; __END__