Revision 382:baff1c482d98 extra/soundsoftware

View differences:

extra/soundsoftware/matlab-docs.pl
5 5
goto endofperl
6 6
@rem ';
7 7
# perl -w -S %0.bat "$@"
8
#!/usr/pdsoft/bin/perl5
8
#!/usr/bin/perl
9 9
#
10 10
# mtree2html_2000 - produce html files from Matlab m-files.
11 11
#                   use configuration file for flexibility
......
71 71
#                      HTML4 compliance done (should be strict HTML4.0, quite near XHTML)
72 72
#                      version 1.23
73 73
#
74
# Latest version is available as:
75
#	
74
#	   29.03.2011  (Chris Cannam) add frames option
76 75
#
77 76

  
78 77
$VERSION  = '1.23';
......
93 92
$diract = ".";
94 93

  
95 94
#------------------------------------------------------------------------
96
#  Define all variables and there standard settings
95
#  Define all variables and their standard settings
97 96
#  documentation of variables is contained in accompanying rc file
98 97
#------------------------------------------------------------------------
99 98
%var =
......
109 108
   'dirmfiles',                 $diract,
110 109
   'dirhtml',                   $diract,
111 110
   'exthtml',                   '.html',
111
   'frames',                    'yes',
112 112
   'filenametopframe',          'index',
113 113
   'filenameindexlongglobal',   'indexlg',
114 114
   'filenameindexlonglocal',    'indexll',
......
211 211
$var{'producetree'} = $opt_producetree        if $opt_producetree;
212 212
if ($var{'producetree'} ne 'no') { $var{'producetree'} = 'yes'; }
213 213
if ($var{'processtree'} eq 'no') { $var{'producetree'} = 'no'; }
214
if ($var{'frames'} ne 'no') { $var{'frames'} = 'yes'; }
214 215
# if (($var{'processtree'} eq 'yes') && ($var{'producetree'} eq 'no')) { $var{'usecontentsm'} = 'no'; }
215 216

  
216 217
$var{'writecontentsm'} = $opt_writecontentsm  if $opt_writecontentsm;
......
642 643
   # Build the frame layout file name (highest one)
643 644
   $indexfile = $var{'dirhtml'}.$var{'filenametopframe'}.$var{'exthtml'};
644 645

  
645
   open(IFILE,">$indexfile") || die("Cannot open frame layout file $indexfile\n");
646
   # Write the header of frame file
647
   print IFILE "$TextDocTypeFrame\n<html>\n<head>\n$var{'codeheadmeta'}\n$TextMetaCharset\n";
648
   print IFILE "   <title>$var{'texttitleframelayout'}</title>\n";
649
   print IFILE "</head>\n";
646
   if ($var{'frames'} eq 'yes') {
650 647

  
651
   # definition of 2 frames, left the tree of directories,
652
   # right the index of that directory or the docu of a file
653
   print IFILE "<frameset  cols=\"25%,75%\">\n";
654
   print IFILE "   <frame src=\"$var{'filenamedirshort'}$var{'exthtml'}\" name=\"$GlobalNameFrameMainLeft\" />\n";
655
   print IFILE "   <frame src=\"$var{'filenameindexshortglobal'}$var{'filenameextensionframe'}$var{'exthtml'}\" name=\"$GlobalNameFrameMainRight\" />\n";   print IFILE "</frameset>\n";
648
       open(IFILE,">$indexfile") || die("Cannot open frame layout file $indexfile\n");
656 649

  
657
   print IFILE "</html>\n";
650
       # Write the header of frame file
651
       print IFILE "$TextDocTypeFrame\n<html>\n<head>\n$var{'codeheadmeta'}\n$TextMetaCharset\n";
652
       print IFILE "   <title>$var{'texttitleframelayout'}</title>\n";
653
       print IFILE "</head>\n";
658 654

  
659
   close(IFILE);
655
       # definition of 2 frames, left the tree of directories,
656
       # right the index of that directory or the docu of a file
657
       print IFILE "<frameset  cols=\"25%,75%\">\n";
658
       print IFILE "   <frame src=\"$var{'filenamedirshort'}$var{'exthtml'}\" name=\"$GlobalNameFrameMainLeft\" />\n";
659
       print IFILE "   <frame src=\"$var{'filenameindexshortglobal'}$var{'filenameextensionframe'}$var{'exthtml'}\" name=\"$GlobalNameFrameMainRight\" />\n";   print IFILE "</frameset>\n";
660 660

  
661
   if ($opt_silent) { print "\r"; }
662
   print "   Frame layout file created: $indexfile\t";
663
   if (!$opt_silent) { print "\n"; }
661
       print IFILE "</html>\n";
662

  
663
       close(IFILE);
664

  
665
       if ($opt_silent) { print "\r"; }
666
       print "   Frame layout file created: $indexfile\t";
667
       if (!$opt_silent) { print "\n"; }
668
   }
664 669

  
665 670
   for($irun=0; $irun <= 2; $irun++) {
666 671
      # Build the top directory index file, these files include the directory tree
......
685 690
      } else {
686 691
         print IFILE "<title>$var{'texttitleindexalldirs'}</title>\n";
687 692
      }
688
      print IFILE "<base target=\"$GlobalNameFrameMainRight\" />\n";
689
   
693
      
694
      if ($var{'frames'} eq 'yes') {
695
	  print IFILE "<base target=\"$GlobalNameFrameMainRight\" />\n";
696
      }
697

  
690 698
      print IFILE "</head>\n";
691 699
      print IFILE "<body $var{'codebodyindex'}>\n";
692 700
      if ($var{'textheaderindexalldirs'} eq '') {
......
695 703
         print IFILE "<h1 $var{'codeheader'}>$var{'textheaderindexalldirs'}</h1>\n";
696 704
      }
697 705
      print IFILE "<p align=\"center\">\n";
698
      if ($irun == 0) { print IFILE "<strong>short</strong>\n"; }
699
      else { print IFILE "<a href=\"$var{'filenamedirshort'}$var{'exthtml'}\" target=\"$GlobalNameFrameMainLeft\">short</a>\n"; }
700
      if ($irun == 1) { print IFILE " | <strong>long</strong>\n"; }
701
      else { print IFILE " | <a href=\"$var{'filenamedirlong'}$var{'exthtml'}\" target=\"$GlobalNameFrameMainLeft\">long</a>\n"; }
702
      if ($var{'usecontentsm'} eq 'yes') {
703
         if ($irun == 2) { print IFILE " | <strong>contents</strong>\n"; }
704
         else { print IFILE " | <a href=\"$var{'filenamedircontents'}$var{'exthtml'}\" target=\"$GlobalNameFrameMainLeft\">contents</a>\n"; }
706

  
707
      if ($var{'frames'} eq 'yes') {
708
	  if ($irun == 0) { print IFILE "<strong>short</strong>\n"; }
709
	  else { print IFILE "<a href=\"$var{'filenamedirshort'}$var{'exthtml'}\" target=\"$GlobalNameFrameMainLeft\">short</a>\n"; }
710
	  if ($irun == 1) { print IFILE " | <strong>long</strong>\n"; }
711
	  else { print IFILE " | <a href=\"$var{'filenamedirlong'}$var{'exthtml'}\" target=\"$GlobalNameFrameMainLeft\">long</a>\n"; }
712
	  if ($var{'usecontentsm'} eq 'yes') {
713
	      if ($irun == 2) { print IFILE " | <strong>contents</strong>\n"; }
714
	      else { print IFILE " | <a href=\"$var{'filenamedircontents'}$var{'exthtml'}\" target=\"$GlobalNameFrameMainLeft\">contents</a>\n"; }
715
	  }
716
      } else {
717
	  if ($irun == 0) { print IFILE "<strong>short</strong>\n"; }
718
	  else { print IFILE "<a href=\"$var{'filenamedirshort'}$var{'exthtml'}\">short</a>\n"; }
719
	  if ($irun == 1) { print IFILE " | <strong>long</strong>\n"; }
720
	  else { print IFILE " | <a href=\"$var{'filenamedirlong'}$var{'exthtml'}\">long</a>\n"; }
721
	  if ($var{'usecontentsm'} eq 'yes') {
722
	      if ($irun == 2) { print IFILE " | <strong>contents</strong>\n"; }
723
	      else { print IFILE " | <a href=\"$var{'filenamedircontents'}$var{'exthtml'}\">contents</a>\n"; }
724
	  }
705 725
      }
706 726
   
707 727
      print IFILE "</p><br />\n\n";
......
781 801
   if ($LocalGlobalLocal eq 'global') { $extradirfilename = ''; }
782 802
   else { $extradirfilename = $dirnamesingle{$LocalActDir}; }
783 803
   $indexfile = $var{'dirhtml'}.$dirnamerelpath{$LocalActDir}.$indexfilename.$var{'filenameextensionindex'}.$extradirfilename.$var{'exthtml'};
804

  
805
   if ($LocalShortLong eq 'short' and $var{'frames'} ne 'yes') {
806
       # With no frames, this must go in the top-level index file instead
807
       $indexfile = $var{'dirhtml'}.$var{'filenametopframe'}.$var{'exthtml'};
808
   }
809

  
784 810
   if ($debug > 2) { print "   indexfilename (a-z small): $indexfile\n"; }
785 811

  
786 812
   open(IFILE,">$indexfile") || die("Cannot open index file $indexfile: $!\n");
......
794 820
      if ($LocalGlobalLocal eq 'global') { print IFILE "<title>$var{'texttitleindex'}</title>\n"; }
795 821
      else { print IFILE "<title>$var{'texttitleindex'} in Directory $LocalActDir</title>\n"; }
796 822
   }
797
   print IFILE "<base target=\"$GlobalNameFrameMainRight\" />\n";
823

  
824
   if ($var{'frames'} eq 'yes') {
825
       print IFILE "<base target=\"$GlobalNameFrameMainRight\" />\n";
826
   }
798 827
   print IFILE "</head>\n";
828

  
799 829
   print IFILE "<body $var{'codebodyindex'}>\n";
800 830
   if ($var{'textheaderindex'} eq '') {
801 831
      print IFILE "<h1 $var{'codeheader'}>Index of Matlab Files in Directory $LocalActDir</h1>\n";
......
887 917
   # handle the global index file case separately (no extra directory name in file)
888 918
   if ($LocalGlobalLocal eq 'global') { $extradirfilename = ''; }
889 919
   else { $extradirfilename = $dirnamesingle{$LocalActDir}; }
890
   $indexfile = $var{'dirhtml'}.$dirnamerelpath{$LocalActDir}.$indexfilename.$var{'filenameextensionjump'}.$extradirfilename.$var{'exthtml'};
891
   if ($debug > 2) { print "   indexfilename (a-z jump): $indexfile\n"; }
892
   open(IFILE,">$indexfile") || die("Cannot open jump index file $indexfile: $!\n");
893 920

  
894
   # Write the header of HTML file
895
   print IFILE "$TextDocTypeHTML\n<html>\n<head>\n$var{'codeheadmeta'}\n$TextMetaCharset\n$var{'csslink'}\n";
896
   
897
   if ($var{'texttitleindex'} eq '') {
898
      print IFILE "<title>A-Z jump index in directory $LocalActDir</title>\n";
899
   } else {
900
      if ($LocalGlobalLocal eq 'global') { print IFILE "<title>$var{'texttitleindex'}</title>\n"; }
901
      else { print IFILE "<title>$var{'texttitleindex'} in Directory $LocalActDir</title>\n"; }
921
   if ($var{'frames'} eq 'yes') {
922

  
923
       $indexfile = $var{'dirhtml'}.$dirnamerelpath{$LocalActDir}.$indexfilename.$var{'filenameextensionjump'}.$extradirfilename.$var{'exthtml'};
924
       if ($debug > 2) { print "   indexfilename (a-z jump): $indexfile\n"; }
925
       open(IFILE,">$indexfile") || die("Cannot open jump index file $indexfile: $!\n");
926

  
927
       # Write the header of HTML file
928
       print IFILE "$TextDocTypeHTML\n<html>\n<head>\n$var{'codeheadmeta'}\n$TextMetaCharset\n$var{'csslink'}\n";
929
       
930
       if ($var{'texttitleindex'} eq '') {
931
	   print IFILE "<title>A-Z jump index in directory $LocalActDir</title>\n";
932
       } else {
933
	   if ($LocalGlobalLocal eq 'global') { print IFILE "<title>$var{'texttitleindex'}</title>\n"; }
934
	   else { print IFILE "<title>$var{'texttitleindex'} in Directory $LocalActDir</title>\n"; }
935
       }
936

  
937
       if ($var{'frames'} eq 'yes') {
938
	   print IFILE "<base target=\"$GlobalNameFrameAZIndexsmall\" />\n";
939
       }
940
       print IFILE "</head>\n";
941
       print IFILE "<body $var{'codebodyindex'}>\n";
942

  
943
       # Write the A-Z jump line, generate link for letters with files starting with this letter
944
       # and only letters for no files starting with this letter
945
       # use previously generated arrays with names of files sorted by starting letter
946
       for('a'..'z') {
947
	   $numberofletter = $#{$_}+1;
948
	   if ($numberofletter > 0) {
949
	       print IFILE "<strong><a href=\"$indexfilename$var{'filenameextensionindex'}$extradirfilename$var{'exthtml'}#\U$_\E$_\">\U$_\E</a> </strong>\n";
950
	   } else {
951
	       print IFILE "\U$_\E \n";
952
	   }
953
       }
954

  
955
       print IFILE "</body>\n</html>\n";
956

  
957
       close(IFILE);
958

  
959
       if ($opt_silent) { print "\r"; }
960
       print "   Indexfile small (A-Z jump) created: $indexfile\t";
961
       if (!$opt_silent) { print "\n"; }
902 962
   }
903
   print IFILE "<base target=\"$GlobalNameFrameAZIndexsmall\" />\n";
904
   print IFILE "</head>\n";
905
   print IFILE "<body $var{'codebodyindex'}>\n";
906

  
907
   # Write the A-Z jump line, generate link for letters with files starting with this letter
908
   # and only letters for no files starting with this letter
909
   # use previously generated arrays with names of files sorted by starting letter
910
   for('a'..'z') {
911
      $numberofletter = $#{$_}+1;
912
      if ($numberofletter > 0) {
913
         print IFILE "<strong><a href=\"$indexfilename$var{'filenameextensionindex'}$extradirfilename$var{'exthtml'}#\U$_\E$_\">\U$_\E</a> </strong>\n";
914
      } else {
915
         print IFILE "\U$_\E \n";
916
      }
917
   }
918

  
919
   print IFILE "</body>\n</html>\n";
920

  
921
   close(IFILE);
922

  
923
   if ($opt_silent) { print "\r"; }
924
   print "   Indexfile small (A-Z jump) created: $indexfile\t";
925
   if (!$opt_silent) { print "\n"; }
926 963

  
927 964

  
928 965
   # Build the frame layout file, this file includes the layout of the frames
......
930 967
   # handle the global index file case separately (no extra directory name in file)
931 968
   if ($LocalGlobalLocal eq 'global') { $extradirfilename = ''; }
932 969
   else { $extradirfilename = $dirnamesingle{$LocalActDir}; }
933
   $indexfile = $var{'dirhtml'}.$dirnamerelpath{$LocalActDir}.$indexfilename.$var{'filenameextensionframe'}.$extradirfilename.$var{'exthtml'};
934
   if ($debug > 2) { print "   indexfilename (a-z frame): $indexfile\n"; }
935 970

  
936
   open(IFILE,">$indexfile") || die("Cannot open jump index frame file $indexfile: $!\n");
971
   if ($var{'frames'} eq 'yes') {
937 972

  
938
   # Write the header of Frame file
939
   print IFILE "$TextDocTypeHTML\n<html>\n<head>\n$var{'codeheadmeta'}\n$TextMetaCharset\n$var{'csslink'}\n";
973
       $indexfile = $var{'dirhtml'}.$dirnamerelpath{$LocalActDir}.$indexfilename.$var{'filenameextensionframe'}.$extradirfilename.$var{'exthtml'};
974
       if ($debug > 2) { print "   indexfilename (a-z frame): $indexfile\n"; }
940 975

  
941
   if ($var{'texttitleindex'} eq '') {
942
      print IFILE "<title>Index of Matlab Files in Directory $LocalActDir</title>\n";
943
   } else {
944
      if ($LocalGlobalLocal eq 'global') { print IFILE "<title>$var{'texttitleindex'}</title>\n"; }
945
      else { print IFILE "<title>$var{'texttitleindex'} in Directory $LocalActDir</title>\n"; }
976
       open(IFILE,">$indexfile") || die("Cannot open jump index frame file $indexfile: $!\n");
977

  
978
       # Write the header of Frame file
979
       print IFILE "$TextDocTypeHTML\n<html>\n<head>\n$var{'codeheadmeta'}\n$TextMetaCharset\n$var{'csslink'}\n";
980

  
981
       if ($var{'texttitleindex'} eq '') {
982
	   print IFILE "<title>Index of Matlab Files in Directory $LocalActDir</title>\n";
983
       } else {
984
	   if ($LocalGlobalLocal eq 'global') { print IFILE "<title>$var{'texttitleindex'}</title>\n"; }
985
	   else { print IFILE "<title>$var{'texttitleindex'} in Directory $LocalActDir</title>\n"; }
986
       }
987
       print IFILE "</head>\n";
988

  
989
       # definition of 2 frames, top the A-Z index, below the jump letter line
990
       print IFILE "<frameset  rows=\"90%,10%\">\n";
991
       print IFILE "   <frame src=\"$indexfilename$var{'filenameextensionindex'}$extradirfilename$var{'exthtml'}\" name=\"$GlobalNameFrameAZIndexsmall\" />\n";
992
       print IFILE "   <frame src=\"$indexfilename$var{'filenameextensionjump'}$extradirfilename$var{'exthtml'}\" name=\"$GlobalNameFrameAZIndexjump\" />\n";
993
       print IFILE "</frameset>\n";
994

  
995
       print IFILE "</html>\n";
996

  
997
       close(IFILE);
998

  
999
       if ($opt_silent) { print "\r"; }
1000
       print "   Frame layout file created: $indexfile\t";
1001
       if (!$opt_silent) { print "\n"; }
946 1002
   }
947
   print IFILE "</head>\n";
948

  
949
   # definition of 2 frames, top the A-Z index, below the jump letter line
950
   print IFILE "<frameset  rows=\"90%,10%\">\n";
951
   print IFILE "   <frame src=\"$indexfilename$var{'filenameextensionindex'}$extradirfilename$var{'exthtml'}\" name=\"$GlobalNameFrameAZIndexsmall\" />\n";
952
   print IFILE "   <frame src=\"$indexfilename$var{'filenameextensionjump'}$extradirfilename$var{'exthtml'}\" name=\"$GlobalNameFrameAZIndexjump\" />\n";
953
   print IFILE "</frameset>\n";
954

  
955
   print IFILE "</html>\n";
956

  
957
   close(IFILE);
958

  
959
   if ($opt_silent) { print "\r"; }
960
   print "   Frame layout file created: $indexfile\t";
961
   if (!$opt_silent) { print "\n"; }
962 1003
}
963

  
1004
   
964 1005

  
965 1006
#========================================================================
966 1007
# Construct the links to all indexes
......
972 1013
   # include links to short/long - local/global index and C|contents.m
973 1014
   print WRITEFILE "\n<p align=\"center\">";
974 1015
   print WRITEFILE "$var{'textjumpindexglobal'} (";
975
   print WRITEFILE "<a href = \"$LocalPath2Index$var{'filenameindexshortglobal'}$var{'filenameextensionframe'}$var{'exthtml'}\">short</a> | ";
976
   print WRITEFILE "<a href = \"$LocalPath2Index$var{'filenameindexlongglobal'}$var{'filenameextensionframe'}$var{'exthtml'}\">long</a>)\n";
1016

  
1017
   if ($var{'frames'} eq 'yes') {
1018
       print WRITEFILE "<a href=\"$LocalPath2Index$var{'filenameindexshortglobal'}$var{'filenameextensionframe'}$var{'exthtml'}\">short</a> | ";
1019
   } else {
1020
       print WRITEFILE "<a href=\"$LocalPath2Index$var{'filenametopframe'}.$var{'exthtml'}\">short</a> | ";
1021
   }
1022

  
1023
   print WRITEFILE "<a href=\"$LocalPath2Index$var{'filenameindexlongglobal'}$var{'filenameextensionframe'}$var{'exthtml'}\">long</a>)\n";
977 1024
   if ($LocalGlobalLocal eq 'local') {
978 1025
      if ($var{'usecontentsm'} eq 'yes') {
979 1026
         print WRITEFILE " | <a href=\"$contentsname{$PathContents}$dirnamesingle{$PathContents}$var{'exthtml'}\">Local contents</a>\n";
980 1027
      }
981 1028
      # if ($var{'producetree'} eq 'yes') {
982 1029
         print WRITEFILE " | $var{'textjumpindexlocal'} (";
983
         print WRITEFILE "<a href = \"$var{'filenameindexshortlocal'}$var{'filenameextensionframe'}$dirnamesingle{$PathContents}$var{'exthtml'}\">short</a> | ";
984
         print WRITEFILE "<a href = \"$var{'filenameindexlonglocal'}$var{'filenameextensionframe'}$dirnamesingle{$PathContents}$var{'exthtml'}\">long</a>)\n";
1030
         print WRITEFILE "<a href=\"$var{'filenameindexshortlocal'}$var{'filenameextensionframe'}$dirnamesingle{$PathContents}$var{'exthtml'}\">short</a> | ";
1031
         print WRITEFILE "<a href=\"$var{'filenameindexlonglocal'}$var{'filenameextensionframe'}$dirnamesingle{$PathContents}$var{'exthtml'}\">long</a>)\n";
985 1032
      # }
986 1033
   }
987 1034
   print WRITEFILE "</p>\n\n";

Also available in: Unified diff