eLyXer
elixir, n: a substance believed to cure all ills.
eLyXer (pronounced elixir) is a LyX to HTML converter. While there are a ton of such projects all over the web, eLyXer has a clear focus on flexibility and elegant output.
LyX is a wonderful text editor which produces beautiful PDF files. Internally it exports documents to LaTeX, and from there to PDF. Sadly there is not an equivalent “export to HTML” option… Until now! With eLyXer you can convert your master’s thesis, learned article, fascinating novel or love letter to a web page that you can then share, publish on the web or import into other text editors.
eLyXer (including this page and all accompanying materials) is licensed under the
GPL version 3 or, at your option, any later version. See the
LICENSE file for details.
Requirements
eLyXer is a standalone tool: it does not require that LyX is installed to run. It can convert documents generated with versions of LyX from 1.5.5 through 1.6.2 (and probably earlier versions). It requires Python 2.3.4, and should work with versions up to 2.6.1. It has been tested to run on Linux, Mac OS X and Windows.
Resource usage is minimum. Converting UserGuide.lyx (154 pages, about 40000 words) takes less than 15 seconds on my Asus EeePC 1000H, which sports an Intel Atom processor at 1.60 GHz. Memory usage is also quite frugal, remaining at about 35 MB even with in-memory processing.
The output requires XHTML, CSS2 and Unicode; any CSS2-compatible browser should do. Minimum browser versions for some popular programs are: Microsoft Internet Explorer 7, Mozilla Firefox 3, Safari 3 and Chrome 1.
Usage
eLyXer is a command line tool written in Python. Installation is done using the included installer; just type at the prompt as root:
# python install.py
or, on Windows:
> Python.exe install.py
Basic usage is as simple as writing at the command line prompt:
$ elyxer.py document.lyx page.html
or, on Windows:
> elyxer.py document.lyx page.html
where document.lyx is your LyX document, and page.html is the resulting HTML page. Write
$ elyxer.py --help
Downloads
You can download the latest version 1.0.0, created on 2010-07-21, from the project’s
download area. See the
change log for information about past versions.
Note: if this latest version hasn’t yet hit the mirrors and you are impatient to try it out, please visit the Savannah direct download page.
Contact
You can contact the main developer at
elyxer@gmail.com; he really likes getting challenging documents and making eLyXer work with them. Any document sample you send will be treated with the utmost confidentiality.
The author lingers around official LyX mailing lists and monitors for mentions of eLyXer. You can also
join the low-volume
mailing list, where announcements of new versions are always posted. Bugs can be reported at the
Savannah page.
Acknowledgments
This little project is my little contribution back to the wonderful LyX community, for all these years of fruitful use.
Thanks to
Stevan White for encouraging me to publish the tool. Thanks also to
John D. Cook,
rikal,
Bradley M. Bell,
Markus Kuhn, Jens Nöckel and LyX developers Georg Baum, Uwe Stöhr and Jürgen Spitzmüller for their wonderful lists of TeX commands and Unicode equivalents; to
FileFormat.info for their complete tables of Unicode characters. More thanks go to Christian Ridderström for helping me out right at the start; to Ignacio García for relentless encouragement; to Abdelrazak Younes, Pavel Sanda, Günther Milde, Olivier Ripoll, José Matos, Iain Mac Donald, Uwe Stöhr for their interesting suggestions; to Nikos Alexandris, Joachim Kreimer-de Fries (Osnabryg), Richard Talley, Wolfgang Keller, Murray Eisenberg, Robert Orr, a Linux guy in Singapore, Anders Ekberg, Pavel Sanda, Steve Hastings, Sven Hoexter, Xie Chao, Uwe Stöhr, Jürgen Spitzmüller, Olivier Ripoll, Konrad Hofbauer, Eduardo Grosclaude, Ken, Jens Nöckel,
Dr Eberhard W Lisse, William Crocker, Sara Teinturier, Hans Bezemer, Jack Desert, Hartmut Haase, Rainer Dorsch, Wolfgang Engelmann, Rodrigo Benenson, Stefano Franchi, Steve Litt for their testing and bug reporting. Thanks to Uwe Stöhr, Hans Bezemer, Sara Teinturier for their translations. Packagers Sven Hoexter (for Debian) and Uwe Stöhr (on Windows) have helped with their work to make it easy to try it out. Olivier Ripoll, Geremy Condra, Simon South, Jack Desert and
John Boik have provided quite interesting patches. Davide P. Cervone has been extremely helpful and responsive about jsMath and MathJax integration, while Paul Hunter has also gone beyond the call of duty with his help integrating
MathToWeb (which unfortunately has not been fruitful yet, due to my lack of skill and certainly not to his lack of interest).
A silent “thank you” goes to all those who downloaded the tool and silently tested it to their satisfaction (or were not bugged enough to write about it). Thanks to those who have criticized the tool for making eLyXer improve every day, if only to prove you wrong. And finally thanks to all those who have helped and yet I am now forgetting about them, for not hating me for it.