summaryrefslogtreecommitdiffstats
path: root/scripts/MarkdownBook/Document
diff options
context:
space:
mode:
authorP. J. McDermott <pjm@nac.net>2012-08-10 03:09:38 (EDT)
committer P. J. McDermott <pjm@nac.net>2012-08-10 03:09:38 (EDT)
commitc0edd7e3b41aa0dcf511718079893a20bcd34127 (patch)
treec82e2589ca7013c354a2ec1ba285c98b79c3767c /scripts/MarkdownBook/Document
parent99890be7d45a7f117d2215d0f0c97a43a1f659b0 (diff)
Add post-processing script and modules.
Diffstat (limited to 'scripts/MarkdownBook/Document')
-rw-r--r--scripts/MarkdownBook/Document/Appendix.pm32
-rw-r--r--scripts/MarkdownBook/Document/Chapter.pm32
-rw-r--r--scripts/MarkdownBook/Document/Index.pm47
3 files changed, 111 insertions, 0 deletions
diff --git a/scripts/MarkdownBook/Document/Appendix.pm b/scripts/MarkdownBook/Document/Appendix.pm
new file mode 100644
index 0000000..37d3cf8
--- /dev/null
+++ b/scripts/MarkdownBook/Document/Appendix.pm
@@ -0,0 +1,32 @@
+# 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;
+
+package MarkdownBook::Document::Appendix;
+
+our @ISA = qw(MarkdownBook::Document);
+
+sub full_title
+{
+ my ($self) = @_;
+
+ return sprintf('Appendix %s - %s', $self->{'id'}, $self->{'title'});
+}
+
+1;
diff --git a/scripts/MarkdownBook/Document/Chapter.pm b/scripts/MarkdownBook/Document/Chapter.pm
new file mode 100644
index 0000000..90a5f5c
--- /dev/null
+++ b/scripts/MarkdownBook/Document/Chapter.pm
@@ -0,0 +1,32 @@
+# 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;
+
+package MarkdownBook::Document::Chapter;
+
+our @ISA = qw(MarkdownBook::Document);
+
+sub full_title
+{
+ my ($self) = @_;
+
+ return sprintf('Chapter %d - %s', $self->{'id'}, $self->{'title'});
+}
+
+1;
diff --git a/scripts/MarkdownBook/Document/Index.pm b/scripts/MarkdownBook/Document/Index.pm
new file mode 100644
index 0000000..e005396
--- /dev/null
+++ b/scripts/MarkdownBook/Document/Index.pm
@@ -0,0 +1,47 @@
+# 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;
+
+package MarkdownBook::Document::Index;
+
+our @ISA = qw(MarkdownBook::Document);
+
+sub new
+{
+ my ($class, $book) = @_;
+ my $self;
+
+ $class = ref($class) || $class;
+ $self = {};
+ bless($self,$class);
+ $self->{'book'} = $book;
+ $self->{'file'} = 'index';
+ $self->{'title'} = $book->title();
+
+ return $self;
+}
+
+sub full_title
+{
+ my ($self) = @_;
+
+ return undef;
+}
+
+1;