gnome-latex development notes
=============================

The application was previously named LaTeXila. That name is still present in the
code, especially for the namespace of the liblatexila.

The code is written in Vala and C. The Vala code is progressively rewritten in
C. I wrote the Vala code when I was a beginner, so some parts may be ugly and
not well implemented. The liblatexila, written in C, is much better implemented
(in my opinion).

liblatexila
-----------

A good chunk of code is still written in Vala, but in `src/liblatexila/` the
code is written in C, with GTK-Doc comments. The GTK-Doc comments contain
GObject Introspection annotations, to generate automatically a `*.gir` file so
the liblatexila can be used in the Vala code.

liblatexila is not a shared library, it's an internal library statically linked
to the binary. The Vala code can use the liblatexila, but the reverse should be
avoided. Although it is possible in C to call Vala code, it's better to keep the
liblatexila as a layer located below the application, to not have a
tightly-coupled code. That way it's also easier to move part of the liblatexila
code to another project, possibly a real shared library.

LaTeX build tools
-----------------

A post-processor for Rubber was available, but has been removed. Rubber has some
bugs and Latexmk has more features.
