File:  [LON-CAPA] / doc / help / texxml2latex.pl
Revision 1.1: download - view: text, annotated - select for diffs
Fri Jul 5 16:12:30 2002 UTC (21 years, 8 months ago) by bowersj2
Branches: MAIN
CVS tags: HEAD
This commit implements the .tex-based online help system in LON-CAPA. It
may be necessary to manually run loncom/build/help_graphics_converter.pl
and doc/help/rebuildLabelHash.pl after a cvs update, and
loncapa_apache.conf may need to be manually copied to /etc. (The
loncapafiles.lpml has been updated.)

After merging this, the URL http://[loncapahost]/adm/help/Foils.hlp
should display a help file.

Also, some *very* out-of-date files have been removed from the /doc
directory.

#!/usr/bin/perl

use strict;
use HTML::TokeParser;
use GDBM_File;

# accept texxml document on standard in
my $p = HTML::TokeParser->new( $ARGV[0] );
my $dirprefix = "/home/httpd/html/adm/help/tex/";

# Print the header
open (LATEX_FILE, $dirprefix . "Latex_Header.tex");
print <LATEX_FILE>;


while (my $token = $p->get_token())
{
    my $type = $token->[0];
    if ($type eq 'S')
    {
	my $tag = $token->[1];
	my $attr = $token->[2];
	if ($tag eq 'section')
	{
	    my $title = $attr->{'name'};
	    print "\\section{$title}\n\n";
	}

	if ($tag eq 'subsection')
	{
	    my $title = $attr->{'name'};
	    print "\\subsection{$title}\n\n";
	}

	if ($tag eq 'subsubsection')
	{
	    my $title = $attr->{'name'};
	    print "\\subsubsection{$title}\n\n";
	}

	if ($tag eq 'file')
	{
	    my $file = $attr->{'name'};
	    open (LATEX_FILE, $dirprefix . $file);
	    print <LATEX_FILE>;
	}

	if ($tag eq 'tex')
	{
	    print "\n";
	    print $attr->{'content'};
	    print "\n";
	}
    }
}

# Print out the footer.
open (LATEX_FILE, $dirprefix . "Latex_Footer.tex");
print <LATEX_FILE>;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>