Deyan Ginev
and 1 contributors

NAME

ltxmojo - A web server for the LaTeXML suite.

DESCRIPTION

ltxmojo is a Mojolicious::Lite web application that builds on LateXML to provide on demand TeX to XML conversion as a scalable web service.

The service comes together with a collection of convenient interfaces, conversion examples, as well as an administration system for user and transformation profile management.

ROUTES

The following routes are supported:

/

Root route, redirects to /about

/about

On HTTP GET, provides a brief summary of the web service functionality.

/admin

On HTTP GET, provides an administrative interface for managing user and profile data, as well as to examine the overal system status.

/ajax

Manages AJAX requests for all administrative (and NOT conversion) tasks.

/convert

Accepts HTTP POST requests to perform conversion jobs.

The request syntax supports the normal key=value option fields for LaTeXML.

Additionally, one can request embeddable snippets via embed=1, as well as forced xml:id attributes on every element via force_ids=1. Supported via LaTeXML::Util::Extras.

The most significant enhancements are in provdiding options for user and conversion profiles, namely user=string, password=string and profile=string. Based on the sessioning functionality enabled by LaTeXML::Util::Startup, a user can now easily perform conversions based on his custom preferences. Moreover, conversion profiles allow for users to obtain the desired transformation setup with just specifying a single "profile" field. For a list of predefined profiles, consult LaTeXML::Util::Startup.

The actual TeX/LaTeX source to be converted should be sent serialized as tex=content.

/editor

Provides an AJAX and jQuery-based editor, originally created by Heinrich Stamerjohanns, to showcase on-the-fly conversion of LaTeX snippets to XHTML. A set of illustrating examples is provided, as well as a convenient integration with LaTeXML's log and status reports.

A jQuery conversion request is as simple as:

 $.post("/convert", { "tex": tex, "profile":"fragment"});
/help

Help page, providing a guide through the site's functionality.

/login

A simple login interface.

/logout

A simple logout route that ends the current session.

/upload

On HTTP GET, this route provides an interface for converting LaTeX files, or entire setups, by accepting .zip and .tar.gz archives, as well as mutlipart uploads of several file fragments, as long as no subdirectories are present. Note that this is achieved with HTML5's native support for multipart file uploads, hence a modern browser is required.

On HTTP POST, the uploaded bundle is converted by the server, returning an archive with the result.

DEPLOYMENT

Installation and deployment are described in detail in LaTeXML/webapp/INSTALL.

As a rule of thumb, the regular deployment process for Mojolicious apps applies.

SEE ALSO

latexmls, latexmlc, LaTeXML

AUTHOR

Deyan Ginev <d.ginev@jacobs-university.de>

COPYRIGHT

Public domain software, produced as part of work done by the United States Government & not subject to copyright in the US.