/librarian

WLML Document multipurpose converter.

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

License

AGPL Logo

Copyright © 2008-2023 Fundacja Wolne Lektury <fundacja@wolnelektury.pl>

For full list of contributors see AUTHORS file.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

About

Librarian converts XML-based markup language used by WL for writing books to other formats, which are more suitable for presentation.

Currently we support:

  • HTML4, XHTML 1.0 (?)
  • Plain text
  • EPUB (XHTML based)
  • MOBI
  • print-ready PDF
  • FB2

Other features:

  • extract DublinCore meta-data from documents;
  • extract marked "themes" from documents.

Dependencies

Installation

Librarian uses standard Python distutils for packaging. After installing all the dependencies just run:

python setup.py install

PDF converter also needs the Junicode-WL fonts (librarian/pdf/JunicodeWL-*.ttf) installed. In Debian/Ubuntu, put those files in ~/.fonts/ and run `fc-cache'.

Usage

To convert a series of files to XHTML:

book2html file1.xml [file2.xml ...]

To convert a series of files to plain text:

book2txt file1.xml [file2.xml ...]

To convert a file to EPUB:

book2epub file.xml

To convert a file to PDF:

book2pdf file.xml

To extract book fragments marked as "theme":

bookfragments file1.xml [file2.xml ...]