[1044] | 1 | #!/usr/bin/perl -w
|
---|
| 2 | #
|
---|
| 3 | # Init script for pb's website
|
---|
| 4 | #
|
---|
| 5 |
|
---|
| 6 | # Export documentation to generate what is needed
|
---|
| 7 | use ProjectBuilder::Base;
|
---|
| 8 | use ProjectBuilder::Filter;
|
---|
| 9 | use ProjectBuilder::CMS;
|
---|
| 10 | use ProjectBuilder::Env;
|
---|
| 11 | use File::Basename;
|
---|
| 12 | use Pod::Man;
|
---|
| 13 | use Pod::Html qw(pod2html);
|
---|
| 14 | use Pod::Text;
|
---|
| 15 |
|
---|
| 16 | pb_temp_init();
|
---|
| 17 | pb_mkdir_p("docs");
|
---|
| 18 | pb_mkdir_p("tmp");
|
---|
| 19 | my %pb;
|
---|
| 20 | $pb{'pkg'} = "PBPKG";
|
---|
| 21 | $pb{'ver'} = "PBVER";
|
---|
| 22 | $pb{'tag'} = "PBTAG";
|
---|
| 23 | $pb{'rev'} = "PBREV";
|
---|
| 24 | $pb{'proj'} = "PBPROJ";
|
---|
| 25 | $pb{'date'} = "PBDATE";
|
---|
| 26 | $pb{'repo'} = "PBREPO";
|
---|
| 27 | $pb->{'realpkg'} = "PBREALPKG";
|
---|
| 28 | $pb->{'packager'} = "PBPACKAGER";
|
---|
| 29 | $pb->{'chglog'} = "";
|
---|
| 30 |
|
---|
| 31 | # Action needs to be pbinit
|
---|
| 32 | my ($filteredfiles, $supfiles, $defpkgdir, $extpkgdir) = pb_env_init($pb{'proj'},undef,"pbinit");
|
---|
| 33 | my ($scheme,$uri) = pb_cms_init(undef);
|
---|
| 34 |
|
---|
| 35 | # export doc
|
---|
| 36 | foreach my $f ("LabProject-Builder.org.odt", "LabProject-Builder.org.pdf","One_Source_for_Multiple_Platforms_Sol_Brief_final.pdf") {
|
---|
| 37 | pb_cms_export($uri,"$ENV{'PBDIR'}/pb-doc/$f","docs");
|
---|
| 38 | }
|
---|
| 39 | # using pod from files
|
---|
| 40 | foreach my $f ("pb/bin/pb", "pb-modules/bin/pbdistrocheck", "pb-modules/etc/pb.conf.pod", "rpmbootstrap/bin/rpmbootstrap", <*/lib/ProjectBuilder/*.pm>) {
|
---|
| 41 | pb_cms_export($uri,"$ENV{'PBDIR'}/$f","tmp");
|
---|
| 42 | }
|
---|
| 43 |
|
---|
| 44 | # call filter_file here
|
---|
| 45 | my $ptr = pb_get_filters($pb{'pkg'});
|
---|
| 46 | foreach my $f (<tmp/*>) {
|
---|
| 47 | pb_log(0,"Processing $f\n");
|
---|
| 48 | pb_log(0,"==========================\n");
|
---|
| 49 | pb_filter_file_inplace($ptr,$f,\%pb);
|
---|
| 50 | my $ext = 1;
|
---|
| 51 | if ($f =~ /\.pod/) {
|
---|
| 52 | $ext = 5;
|
---|
| 53 | } elsif ($f =~ /\.pm/) {
|
---|
| 54 | $ext = 3;
|
---|
| 55 | }
|
---|
| 56 | # generate man pages
|
---|
| 57 | pb_log(0,"Generating man pages\n");
|
---|
| 58 | my $parser = Pod::Man->new (release => $VERSION, section => $ext);
|
---|
| 59 | $parser->parse_from_file ("$f", "$f.$ext");
|
---|
| 60 | # generate html pages
|
---|
| 61 | pb_log(0,"Generating HTML pages\n");
|
---|
| 62 | pod2html(#"--podpath=lib:ext:pod:vms",
|
---|
| 63 | "--htmlroot=/docs",
|
---|
| 64 | "--libpods=perlfunc:perlguts:perlvar:perlrun:perlop",
|
---|
| 65 | "--recurse",
|
---|
| 66 | "--header",
|
---|
| 67 | "--title=$f man page",
|
---|
| 68 | "--backlink='Back to Top'",
|
---|
| 69 | "--infile=$f",
|
---|
| 70 | "--outfile=$f.$ext.html");
|
---|
| 71 | # generate ps pages
|
---|
| 72 | pb_system("groff -Tps -mandoc $f > $f.$ext.ps","Generating Postscript pages");
|
---|
| 73 | # generate pdf pages
|
---|
| 74 | pb_system("ps2pdf $f.$ext.ps","Generating PDF pages");
|
---|
| 75 | # generate text pages
|
---|
| 76 | pb_log(0,"Generating text pages\n");
|
---|
| 77 | $parser = Pod::Text->new (sentence => 0, width => 78);
|
---|
| 78 | $parser->parse_from_file ("$f","$f.$ext.txt");
|
---|
| 79 | }
|
---|
| 80 |
|
---|
| 81 |
|
---|