package Spork::Formatter;
use Kwiki::Formatter -Base;
sub formatter_classes {
(
(map { s/^Heading$/Spork::Formatter::Heading/; $_ } super),
'Spork::Formatter::Inline',
);
}
const all_phrases => [qw(wafl_phrase asis strong em u tt tt2 hyper)];
sub wafl_classes { qw( Spork::Formatter::Image Spork::Formatter::File) }
################################################################################
package Spork::Formatter::Inline;
use base 'Spoon::Formatter::Unit';
use Kwiki ':char_classes';
const formatter_id => 'tt2';
const pattern_start => qr/(^|(?<=[^$ALPHANUM]))\|/;
const pattern_end => qr/\|(?=[^$ALPHANUM]|\z)/;
const html_start => "";
const html_end => "";
################################################################################
package Spork::Formatter::Heading;
use base 'Kwiki::Formatter::Heading';
sub to_html {
my $text = join '', map {
ref $_ ? $_->to_html : $_
} @{$self->units};
my $level = $self->level;
$self->hub->slides->slide_heading($text)
unless $self->hub->slides->slide_heading;
return "$text\n";
}
################################################################################
package Spork::Formatter::File;
use base 'Spoon::Formatter::WaflPhrase';
const wafl_id => 'file';
sub html {
require Cwd;
my ($file, $link_text) = split /\s+/, $self->arguments, 2;
$link_text ||= $file;
$file = $self->hub->config->file_base . "/$file"
unless $file =~ /^\.{0,1}\//;
$file = Cwd::abs_path($file);
qq{' .
$link_text . '';
}
################################################################################
package Spork::Formatter::Image;
use base 'Spoon::Formatter::WaflPhrase';
const wafl_id => 'image';
sub to_html {
$self->hub->slides->image_url($self->arguments);
return '';
}
__END__
=head1 NAME
Spork::Formatter - Slide Presentations (Only Really Kwiki)
=head1 SYNOPSIS
=head1 DESCRIPTION
=head1 AUTHOR
Brian Ingerson
=head1 COPYRIGHT
Copyright (c) 2004, 2005. Brian Ingerson. All rights reserved.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
See http://www.perl.com/perl/misc/Artistic.html
=cut