From 3bf3d6b49d5a2ac8c5fb01dcba386bb5517f2882 Mon Sep 17 00:00:00 2001 From: kramm Date: Sun, 6 Jun 2004 16:47:48 +0000 Subject: [PATCH] initial revision. --- doc/seperate.pl | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 doc/seperate.pl diff --git a/doc/seperate.pl b/doc/seperate.pl new file mode 100644 index 0000000..45e7103 --- /dev/null +++ b/doc/seperate.pl @@ -0,0 +1,89 @@ +#!/usr/bin/perl + +$filename = $ARGV[0]; + +$filename =~ /^(.*)\.([^.]*)$/; +$basename = $1; +$extension = $2; + +print "Processing $filename...\n"; + +$head = ""; + +open(fi, "<$filename"); + +while() { + last if(/snip:chapter/); + $head .= $_; +} + +# chapters +my $nr=1; +my @chapters; +my @names; +/!!!"(.*)"!!!/;$name = $1; +while() { + my $chapter = ""; + # one chapter + while(1) { + if(/snip:\/chapter/) { + while() { + last if(!/^\s*$/); + } + last; + } + $chapter .= $_; + $_ = ; + } + $names[$nr] = $name; + $chapters[$nr++] = $chapter; + + /!!!"(.*)"!!!/;$name = $1; + if(!/snip:chapter/) { + last; + } +} + +while($_) { + $tail .= $_; + $_ = ; +} + +close(fi); + +my $num = $nr; +$nr=1; +for($nr=1;$nr<$num;$nr++) { + $h2 = $head; + $t2 = $tail; + my $filename = "$basename.$nr.$extension"; + print "Creating $filename...\n"; + for($n=1;$n<$num;$n++) { + if($nr == $n) { + $h2 =~ s/chapterlink$n/>$names[$n]<<\/a>/; + } else { + $h2 =~ s/chapterlink$n/$names[$n]<\/a>/; + } + } + + if($nr > 1) { + $prev = $names[$nr-1]; + $aprev = $basename.".".($nr-1).".".$extension; + $t2 =~ s/__prevlink__/Previous: $prev<\/a>/; + } else { + $t2 =~ s/__prevlink__/ /; + } + if($nr < $num) { + $next= $names[$nr+1]; + $anext = $basename.".".($nr+1).".".$extension; + + $t2 =~ s/__nextlink__/Next: $next<\/a>/; + } else { + $t2 =~ s/__nextlink__/ /; + } + $t2 =~ s/__currentchapter__/$names[$nr]/; + + open(fi, ">$filename"); + print fi "$h2\n$chapters[$nr]\n$t2"; + close(fi); +} -- 1.7.10.4