source: ProjectBuilder/pbconf/devel/website/pbinit@ 1044

Last change on this file since 1044 was 1044, checked in by Bruno Cornec, 14 years ago
  • First attempt to improve Web site delivery for docs (man pages, ...)
  • Property svn:executable set to *
File size: 2.3 KB
Line 
1#!/usr/bin/perl -w
2#
3# Init script for pb's website
4#
5
6# Export documentation to generate what is needed
7use ProjectBuilder::Base;
8use ProjectBuilder::Filter;
9use ProjectBuilder::CMS;
10use ProjectBuilder::Env;
11use File::Basename;
12use Pod::Man;
13use Pod::Html qw(pod2html);
14use Pod::Text;
15
16pb_temp_init();
17pb_mkdir_p("docs");
18pb_mkdir_p("tmp");
19my %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
32my ($filteredfiles, $supfiles, $defpkgdir, $extpkgdir) = pb_env_init($pb{'proj'},undef,"pbinit");
33my ($scheme,$uri) = pb_cms_init(undef);
34
35# export doc
36foreach 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
40foreach 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
45my $ptr = pb_get_filters($pb{'pkg'});
46foreach 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
Note: See TracBrowser for help on using the repository browser.