############################################################
              GnuCash Docs README file
------------------------------------------------------------

This is the user documentation (docs) module for GnuCash. Written in DocBook
 they can be accessed under
* directly without any conversion:
** Linux: from Yelp (the Gnome help browser)

* after conversion:
** MacOs: html
** Windows: chm
** mobile devices: mobi, epub
** paper: pdf

If you wish to obtain a copy of the documentation in one of the latter formats,
see below under Other Formats.

Requirements
############
* autotools

* libxml2
* libxslt [Debian packed the required xsltproc in a separate package, 
           which depends on libxslt]
* docbook-xsl
* yelp (for viewing)

Only Gnome <=2 based desktops:
* rarian or
  scrollkeeper >=0.3.4 (its ancestor)

Optional:
* gnome-doc-utils (contains xml2po for the use of po editors like in the italian translation)

Additional Requirements for Generating Mobipocket:

* Calibre (https://www.calibre-ebook.com/)

Additional Requirements for Generating chm:

* Mingw (http://www.mingw.org)
* Html Help Workshop (https://www.microsoft.com/en-us/download/details.aspx?id=21138 for Win XP - 8)

Additonal Requirements for Generating PDF:

* Apache fop  >= 0.95

For the Japanese PDF, Japanese fonts are included. If you want to use
other Japanese fonts you can use the with-japanese-fonts-dir,
--with-japanese-mincho-ttf, and --with-japanese-gothic-ttf configure
options to select them. fop's TTFReader can't, as of version 1.1
anyway, handle OpenType fonts.

** FontBox
 from the Apache PDFBox [https://pdfbox.apache.org/download.cgi]
 can handle OpenType fonts, which are as default used for the russian PDF.
 Some distributions call it [lib]fontbox[-java].

Notes
#####

The GnuCash docs team is actively seeking contributors. Even if you
only have time for reviewing, editing or translating the existing docs this
can help. PLEASE let us know via IRC or the gnucash-devel mailing list what
you can work on or help with.

See also:
* HACKING 
* http://wiki.gnucash.org/wiki/Documentation_Update_Instructions
* http://wiki.gnucash.org/wiki/Translation

This release of the docs module only uses the docbook-xsl stylesheets
to convert the docs to html. There are docbook stylesheets in
gnucash-docs/xsl/1.79.2/epub, ../fo, ../html, ../xhtml, and ../xhtml-1_1.
These docbook stylesheets are used and provided so that installing them
separately isn't necessary. You still need, however, a working docbook-xsl
setup to build and install these docs.

Other Formats
#############

GnuCash-docs is written using docbook-xml. This allows it to be
outputted to alternative formats using external tools.

DocBook comes in two flavours - xml and sgml. GnuCash uses the xml flavour.

The documentation source comes with built-in commands to generate html, pdf
or epub output. For other formats, you will need to use external tools.

Note: if you use external tools to render HTML, remember to bring the images
from figures/ along with the final HTML. The browser will expect to find
the figures/ directory directly beneath the HTML directory:
~/gnucash-docs/html/
~/gnucash-docs/html/figures/

* html, pdf, epub and mobi
--------------------------

You can generate the documentation in html, pdf, epub and mobi
using the autotools based build system that comes with the sources.

  cd gnucash-docs
  ./autogen.sh
  # If you don't need mobi
  ./configure
  # or, if you need mobi
  ./configure --with-mobi

=> This will tell you if you are missing some required tools.

To generate the documentation in html format, run

  make html

To generate the documentation in pdf format, instead run

  make pdf

To generate the documentation in epub format, instead run

  make epub

To generate the documentation in mobi format, instead run

  make mobi
  (Note: mobi is generated from epub, so this generates epub files as well.)

If you only wish to generate a subset of the documentation, you can
go into the directory for that subset and run the above make commands
from there. For example to only generate the English concepts guide:

  cd guide/C
  make html

or

  cd guide/C
  make pdf

or

  cd guide/C
  make epub

or

  cd guide/C
  make mobi

depending on the output format you require.

* XML/XSL-based tools:
----------------------

If you have xmlto installed, this can be used to convert to other formats
but problems have been experienced with PDF generation. If you output
an XML-FO format using xmlto, you could use FOP to convert to PDF - this
step requires Java. See man xmlto for more information.

Formats available with xmlto include:
dvi  fo  html  htmlhelp  html-nochunks  javahelp  man  
pdf  ps  txt   xhtml     xhtml-nochunks

The problems with pdf apply equally to dvi AND ps output. Each gives a
long error output ending with: ! Emergency stop.

manpage output only works if manpages are outlined in the XML. 
There are no manpages in gnucash-docs.

xmlto uses xsltproc - the same tool and the same stylesheets as the main
make and install.

Examples:

To convert the GnuCash Tutorial and Concepts Guide DocBook XML document 
to HTML and store the resulting HTML files in a separate directory use:

cd guide/C/
xmlto -o html-dir html gnucash-guide.xml

(html-dir/ will be created if it does not already exist.)

To convert the GnuCash Help Manual DocBook XML document to a single 
HTML file in the current directory use:
cd help/C/
xmlto html-nochunks gnucash-help.xml


Known Problems
##############

- See the full list: 
https://bugs.gnucash.org/buglist.cgi?quicksearch=product%3DDocumentation

- Please report any new problems to Gnucash's Bugzilla at 
https://bugs.gnucash.org/describecomponents.cgi?product=Documentation. Then
choose a component.

- Feel free to append your fixes and improvements also there or open a pull
request. Only docs about future features should go in branch master.
So here is the link for branch stable:
https://github.com/Gnucash/gnucash-docs/pull/new/maint.

- With any problems you have, you can contact us in the following ways:
 
* quick questions via IRC
** en: irc://irc.gnome.org/gnucash 
: see http://wiki.gnucash.org/wiki/IRC

* translation related questions preferable via the local mailing lists
** de: https://lists.gnucash.org/mailman/listinfo/gnucash-de
** es: https://lists.gnucash.org/mailman/listinfo/gnucash-es
** fr: https://lists.gnucash.org/mailman/listinfo/gnucash-fr
** it: https://lists.gnucash.org/mailman/listinfo/gnucash-it
** nl: https://lists.gnucash.org/mailman/listinfo/gnucash-nl
** pt: https://lists.gnucash.org/mailman/listinfo/gnucash-br
: or your recent translator

* other user questions should go to
** en: https://lists.gnucash.org/mailman/listinfo/gnucash-user

* finally contributor questions via
** en: https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Thanks
your GnuCash Documentation Team


Original Author: 
Chris Lyttle
<chris@wilddev.net>

