Annotation of doc/build/generate_web_pages.pl, revision 1.50

1.1       bowersj2    1: #!/usr/bin/perl -w
                      2: 
                      3: =pod
                      4: 
                      5: =NAME
                      6: 
                      7: generate_web_pages.pl - generate the web pages for the install site
                      8: 
                      9: =SYNOPSIS
                     10: 
                     11: Yeah, it does that.
                     12: 
1.23      albertel   13: Basically, there's a few comments in shell.hemp that we replace with
1.1       bowersj2   14:     what we really want in the files. Pretty simple.
                     15: 
                     16: The point of this is to look like the main site.
                     17: 
                     18: =cut
                     19: 
                     20: # This is the list of pages to generate: Change this to
                     21: # add/subtract/etc. pages. Index is done seperately.
                     22: # Title, source
                     23: 
1.46      raeburn    24: my @longlifecycle = (
                     25:               ['CentOS Linux 5 Install','centos5_install'],
                     26:               ['Scientific Linux 6 Install','scientific6_install'],
                     27:               ['Scientific Linux 5 Install','scientific5_install'],
                     28:               ['Red Hat Enterprise Linux 6 Install','RHEL6_install'],
                     29:               ['Red Hat Enterprise Linux 5 Install','RHEL5_install'],
                     30:               ['Red Hat Enterprise Linux 4 Install','RHEL4_install'],
                     31:               ['SuSE Linux Enterprise Server 11 Install', 'sles11_install'],
                     32:               ['SuSE Linux Enterprise Server 10 Install', 'sles10_install'],
                     33:               ['SuSE Linux Enterprise Server 9 Install', 'sles9_install'],
                     34: 	      );
                     35: 
                     36: my @shortlifecycle = (
1.43      raeburn    37:               ['Fedora 15 Install', 'F15_install'],
                     38:               ['Fedora 14 Install', 'F14_install'],
                     39:               ['Fedora 13 Install', 'F13_install'],
1.41      raeburn    40:               ['Fedora 12 Install', 'F12_install'],
                     41:               ['Fedora 11 Install', 'F11_install'],
                     42:               ['Fedora 10 Install', 'F10_install'],
1.38      raeburn    43:               ['Fedora 9 Install', 'F9_install'],
1.43      raeburn    44:               ['SuSE Linux 11.4 Install', 'suse11.4_install'],
                     45:               ['SuSE Linux 11.3 Install', 'suse11.3_install'],
1.41      raeburn    46:               ['SuSE Linux 11.2 Install', 'suse11.2_install'],
                     47:               ['SuSE Linux 11.1 Install', 'suse11.1_install'],
1.46      raeburn    48:               );
                     49:  
                     50: my @ancillary = (
                     51:               ['Upgrading from Previous LON-CAPA install', 'upgrade'],
                     52:               ['LON-CAPA License (Gnu Public License)', 'license']
                     53:               );
1.29      albertel   54: 
1.22      albertel   55: my @other_pages = ( 
1.23      albertel   56: 		    ['Developer Information', 'dev'],
                     57: 		    ['Configuration Information', 'config'],
1.22      albertel   58: 		    );
1.1       bowersj2   59: 
                     60: open SHELL, '<', "shell.html";
                     61: my $shell = join '', <SHELL>;
                     62: $shell =~ s/\r/\n/g;
                     63: 
                     64: # Call with: The title, breadcrumb, and content
                     65: sub replaceText {
1.27      albertel   66:     my ($title, $links, $breadcrumb, $content) = @_;
1.1       bowersj2   67: 
                     68:     my $page = $shell;
                     69:     $page =~ s/\<!-- *title *--\>/$title/g;
1.27      albertel   70:     $page =~ s/\<!-- *links *--\>/$links/g;
1.1       bowersj2   71:     $page =~ s/\<!-- *breadcrumb *--\>/$breadcrumb/g;
                     72:     $page =~ s/\<!-- *content *--\>/$content/g;
                     73: 
                     74:     return $page;
                     75: }
                     76: 
                     77: # Do the index page
                     78: 
                     79: open INDEX, '>', "index.html";
1.23      albertel   80: my $content = <<PRELUDE; 
                     81: 
                     82: <p>LON-CAPA is based upon a lot of Open Source modules, so it's
                     83: important to have the right environment on your computer. This is most
                     84: easily done by installing on a dedicated machine while installing the
                     85: operating system.</p>
                     86: 
                     87: <p>The configuring of LON-CAPA is part of the install process of the
1.24      albertel   88: software. However, In case something needs to be altered, or isn't
                     89: working, here is some <a href="config.html">information on configuring
1.23      albertel   90: LON-CAPA</a>.</p>
1.1       bowersj2   91: 
1.3       bowersj2   92: <hr />
1.47      raeburn    93: <h3>Supported Linux Distros</h3>
1.1       bowersj2   94: PRELUDE
                     95: 
1.46      raeburn    96: $content .= '<p>LON-CAPA is supported on a variety of Linux distributions.</p>'."\n".
                     97:              '<p>In the list below these are divided into distros with a long
                     98: life cycle, i.e., those for which a particular version is supported by the distributor for 5 years or more, and those with a short life cycle, i.e., those for which a particular versions is supported for up to 18 months.</p>'.     
                     99:             '<div style="float: left;">'.
1.48      raeburn   100:             '<b>Long life cycle</b><br />'.
1.46      raeburn   101:             '<ul>'."\n";
                    102: for (@longlifecycle) {
                    103:     $content .= "<li><a href='$_->[1].html'>$_->[0]</a></li>\n";
                    104: }
1.49      raeburn   105: $content .= '</ul></div>'."\n".
1.46      raeburn   106:             '<div style="float: left;">'.
1.47      raeburn   107:             '<b>Short life cycle</b><br />'.
1.46      raeburn   108:             '<ul>'."\n";
                    109: for (@shortlifecycle) {
1.1       bowersj2  110:     $content .= "<li><a href='$_->[1].html'>$_->[0]</a></li>\n";
                    111: }
1.50    ! raeburn   112: $content .= '</ul></div><br clear="all" />'."\n".
1.47      raeburn   113:             '<b>Additional information</b><ul>'."\n";
                    114: for (@ancillary) {
                    115:     $content .= "<li><a href='$_->[1].html'>$_->[0]</a></li>\n";
                    116: }
                    117: $content .= '</ul><br />';
                    118: 
1.1       bowersj2  119: 
1.30      albertel  120: my $testing_content = '';
1.29      albertel  121: if (@testing_pages) {
                    122:     $testing_content .= "<hr/><p>Installation on the following systems requires the use of a testing release of LON-CAPA.</p>\n";
                    123:     $testing_content .= "<ul>\n";
                    124:     for (@testing_pages) {
                    125: 	$testing_content .= "<li><a href='$_->[1].html'>$_->[0]</a></li>\n";
                    126:     }
                    127:     $testing_content .= "</ul>\n";
                    128: }
                    129: 
                    130: 
                    131: $content .= <<"POSTLUDE";
1.3       bowersj2  132: <hr />
                    133: <a name="download" />
                    134: <h3>Downloading LON-CAPA</h3>
                    135: 
                    136: <p>
1.10      albertel  137: <b>Current Production Release is Version LATESTVERSION.
1.3       bowersj2  138: This version was released on LATESTDATE.</b>
                    139: </p>
                    140: <p>
1.10      albertel  141: You can download the <b>most current production version of LON-CAPA</b> at
1.3       bowersj2  142: <a href="http://install.lon-capa.org/versions/loncapa-current.tar.gz">
                    143: http://install.lon-capa.org/versions/loncapa-current.tar.gz</a>
                    144: (version LATESTVERSION).
                    145: </p>
1.8       albertel  146: TESTINGRELEASE_START
                    147: <p>
1.10      albertel  148: <b>Current Testing Release is Version LATESTTESTINGVERSION.
1.9       albertel  149: This version was released on LATESTTESTINGDATE.</b>
                    150: </p>
                    151: <p>
1.8       albertel  152: You can download the <b>testing version of the upcoming LON-CAPA</b> at
                    153: <a href="http://install.lon-capa.org/versions/loncapa-testing.tar.gz">
                    154: http://install.lon-capa.org/versions/loncapa-testing.tar.gz</a>
1.9       albertel  155: (version LATESTTESTINGVERSION).
1.8       albertel  156: </p>
1.29      albertel  157: $testing_content
1.8       albertel  158: TESTINGRELEASE_END
1.3       bowersj2  159: 
1.22      albertel  160: <hr />
1.3       bowersj2  161: POSTLUDE
1.5       bowersj2  162: 
1.30      albertel  163: open(RELEASE, '<', "release.frag");
                    164: $content .= join('',<RELEASE>);
                    165: close(RELEASE);
                    166: 
1.22      albertel  167: $content .= "<ul>\n";
1.44      raeburn   168: my @testing_pages = ( 
                    169: 		      );
1.22      albertel  170: for (@other_pages) {
                    171:     $content .= "<li><a href='$_->[1].html'>$_->[0]</a></li>\n";
                    172: }
                    173: 
                    174: $content .= "</ul>\n";
                    175: 
1.27      albertel  176: $links='<link rel="alternate" type="application/rss+xml" title="CVS RSS" href="loncapa.rss" />';
                    177: 
                    178: my $index = replaceText("Install LON-CAPA", $links, "Install LON-CAPA",
                    179: 			$content);
1.3       bowersj2  180: 
1.1       bowersj2  181: print INDEX $index;
                    182: close INDEX;
                    183: 
                    184: # Build the pages
1.29      albertel  185: for (@pages,@other_pages,@testing_pages) {
1.1       bowersj2  186:     my ($title, $source) = @$_;
                    187: 
                    188:     # read in content
                    189:     open SOURCE, '<', $source.'.frag';
                    190:     $content = join '', <SOURCE>;
                    191:     close SOURCE;
                    192: 
1.27      albertel  193:     $content = replaceText($title, '', '<a href="/">Install LON-CAPA</a> &gt; ' . $title,
1.1       bowersj2  194: 			   $content);
                    195:     open DEST, '>', $source.'.html';
                    196:     print DEST $content;
                    197:     close DEST;
                    198: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>
500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.