summaryrefslogtreecommitdiff
path: root/bin/pod2x
blob: 46ccc7743d83ad1842ac4aee25b0fc128c85dabe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/usr/bin/perl

#use Pod::Text;
#$Pod::Text::termcap=1;

my $site_perl = "./FS";
#my $catman = "./catman";
#my $catman = "./htdocs/docs/man";
#my $html = "./htdocs/docs/man";
my $html = "./httemplate/docs/man";

$|=1;

die "Can't find $site_perl" unless -d $site_perl;
#die "Can't find $catman" unless -d $catman;
die "Can't find $html" unless -d $html;

#make some useless links
foreach my $file (
  glob("$site_perl/bin/freeside-*"),
) {
  next if $file =~ /\.pod$/;
  #symlink $file, "$file.pod"; # or die "link $file to $file.pod: $!";
  system("cp $file $file.pod");
}

foreach my $file (
  glob("$site_perl/*.pm"),
  glob("$site_perl/*/*.pm"),
  glob("$site_perl/*/*/*.pm"),
  glob("$site_perl/bin/*.pod"),
  glob("./fs_sesmon/FS-SessionClient/*.pm"),
  glob("./fs_signup/FS-SignupClient/*.pm"),
  glob("./fs_selfadmin/FS-MailAdminServer/*.pm"),
) {
  next if $file =~ /(^|\/)blib\//;
  #$file =~ /\/([\w\-]+)\.pm$/ or die "oops file $file";
  my $name;
  if ( $file =~ /fs_\w+\/FS\-\w+\/(.*)\.pm$/ ) {
    $name = "FS/$1";
  } elsif ( $file =~ /$site_perl\/(.*)\.(pm|pod)$/ ) {
    $name = $1;
  } else {
    die "oops file $file";
  }
  print "$name\n";
  my $htmlroot = join('/', map '..',1..(scalar($file =~ tr/\///)-2)) || '.';
#  system "pod2text $file >$catman/$name.txt"; 
  system "pod2html --podroot=$site_perl --podpath=./FS:./FS/UI:.:./bin --norecurse --htmlroot=$htmlroot $file >$html/$name.html";
  #system "pod2html --podroot=$site_perl --htmlroot=$htmlroot $file >$html/$name.html";
#  system "pod2html $file >$html/$name.html";
}

#remove the useless links
unlink glob("$site_perl/bin/*.pod");