ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/lib/cf/pod.pm
(Generate patch)

Comparing deliantra/server/lib/cf/pod.pm (file contents):
Revision 1.5 by root, Wed Apr 18 17:32:07 2007 UTC vs.
Revision 1.9 by root, Tue Jul 3 06:07:07 2007 UTC

85 85
86sub view_textblock { 86sub view_textblock {
87 push @result, { 87 push @result, {
88 indent => $indent * 16, 88 indent => $indent * 16,
89 level => $level, 89 level => $level,
90 markup => "$_[1]\n", 90 markup => flatten $_[1],
91 }; 91 };
92 () 92 ()
93} 93}
94 94
95sub view_head1 { 95sub view_head1 {
183 183
184sub load_pod($) { 184sub load_pod($) {
185 my ($path) = @_; 185 my ($path) = @_;
186 186
187 Coro::Storable::thaw cf::cache "cf::pod::as_paragraphs/$path" => [$path], 187 Coro::Storable::thaw cf::cache "cf::pod::as_paragraphs/$path" => [$path],
188 1 => sub { 188 2 => sub {
189 my ($src) = @_; 189 my ($src) = @_;
190 cf::fork_call { 190 cf::fork_call {
191 my $pod = $src->[0]; 191 my $pod = $src->[0];
192 utf8::decode $pod; 192 utf8::decode $pod;
193 Coro::Storable::freeze pom_as_paragraphs +(Pod::POM->new->parse_text ($pod)) 193 Coro::Storable::freeze pom_as_paragraphs +(Pod::POM->new->parse_text ($pod))
194 } 194 }
195 }; 195 };
196} 196}
197 197
198# format as cfpod-style text
199sub as_text($) {
200 my ($pars) = @_;
201
202 my $res;
203
204 for my $par (@$pars) {
205 if ($par->{type} =~ /^head\d+$/) {
206 $res .= "B<$par->{markup}>\n\n";
207 } elsif ($par->{type} eq "verbatim") {
208 $res .= "\n$par->{markup}\n\n";
209 } elsif ($par->{type} eq "item") {
210 $res .= "\n* I<$par->{markup}>\n\n";
211 } else {
212 $res .= "$par->{markup}\n\n";
213 }
214 }
215
216 $res
217}
218
1981; 2191;
199 220

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines