From e6106e4bfd22aa448fd972150e6bcc39e9fbcb45 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Mon, 13 Aug 2012 14:23:54 -0400 Subject: Split scripts directory into bin and lib. --- (limited to 'lib/MarkdownBook/Document/txt.pm') diff --git a/lib/MarkdownBook/Document/txt.pm b/lib/MarkdownBook/Document/txt.pm new file mode 100644 index 0000000..f150477 --- /dev/null +++ b/lib/MarkdownBook/Document/txt.pm @@ -0,0 +1,46 @@ +# 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 . + +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 Carp::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; -- cgit v0.9.1