diff options
Diffstat (limited to 'scripts/MarkdownBook/Document/txt.pm')
-rw-r--r-- | scripts/MarkdownBook/Document/txt.pm | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/scripts/MarkdownBook/Document/txt.pm b/scripts/MarkdownBook/Document/txt.pm new file mode 100644 index 0000000..3ffd9cd --- /dev/null +++ b/scripts/MarkdownBook/Document/txt.pm @@ -0,0 +1,45 @@ +# Copyright (C) 2012 Patrick "P. J." McDermott +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +use strict; +use warnings; + +use MarkdownBook::Document; +use Carp; + +package MarkdownBook::Document::txt; + +our @ISA = qw(MarkdownBook::Document); + +sub output +{ + my ($self) = @_; + my $out_fh; + + open($out_fh, '>', + $self->{'book'}->dir() . '/' . $self->{'file'} . '.txt') + or croak('Cannot open "' . $self->{'file'} . '" destination document'); + + # Print document title. + print($out_fh $self->{'title'} . "\n" . + '*' x length($self->{'title'}) . "\n\n\n"); + + # Print document text with macro substitutions. + print($out_fh $self->{'book'}->subst_macros($self->{'source_text'})); + + close($out_fh); +} + +1; |