#!/opt/perl/bin/perl use common::sense; use Pod::POM; use YAML; my $parser = new Pod::POM meta => 1; my ($pom, $html); our $top_news; $pom = $parser->parse ("src/news.pod") or die $parser->error; $html = join '', $pom->present ("PodHTML"); $html =~ s/\[//g; open FH, ">", "src/news.html.inc" or die "src/news.html.inc: $!"; print FH $html; close FH; open FH, ">", "src/news.top.html.inc" or die "src/news.top.html.inc: $!"; print FH $top_news; close FH; %PodRSS::metadata = %{ $pom->metadata }; $PodRSS::max_cnt = 20; $html = join '', $pom->present ("PodRSS"); open FH, ">", "src/news.rss" or die "src/news.rss: $!"; print FH $html; close FH; system "rsync -avP src/. html/. --exclude CVS"; =head1 AUTHOR Copyright © 2010 The Deliantra Team Copyright © 2007 Pippijn van Steenhoven =head1 LICENSE This library is free software, you can redistribute it and/or modify it under the terms of the GNU General Public License. =cut 1; package PodHTML; use strict; use warnings; use utf8; my $rcsid = '$Id: generate,v 1.32 2010/04/28 06:06:55 elmex Exp $'; use base "Pod::POM::View"; our $subdir; our $dir; our $menu; sub view_pod { my ($self, $item) = @_; $item->content->present ($self) } sub view_head1 { my ($self, $item) = @_; $item->content->present ($self) } sub view_head2 { my ($self, $item) = @_; my $str = "" . $item->title . "\n" . $item->content->present ($self) . "\n\n"; unless (defined $top_news) { $top_news = $str } $str } sub view_textblock { my ($self, $item) = @_; "

\n$item\n

\n" } sub view_seq_bold { my ($self, $item) = @_; "$item" } sub view_seq_italic { my ($self, $item) = @_; "$item" } sub view_seq_file { my ($self, $item) = @_; "$item" } sub view_seq_link { my ($self, $item) = @_; my ($name, $href) = split /\|/, $item, 2; "$name" } package PodRSS; use strict; use warnings; use utf8; use base "Pod::POM::View"; our %metadata; our $max_cnt; sub view_pod { my ($self, $item) = @_; "\n" . "\n" . $item->content->present ($self) . "\n" } sub view_head1 { my ($self, $item) = @_; " \n" . " $metadata{link}\n" . " $metadata{language}\n" . " " . $item->title->present ($self) . "\n" . $item->content->present ($self) . " \n" } sub view_head2 { my ($self, $item) = @_; my $r = $max_cnt-- > 0 ? " \n" . " " . $item->title->present ($self) . "\n" . " " . $item->content->present ($self) . " " . " \n" : ""; $r } sub view_textblock { my ($self, $item) = @_; " \n" }