===========
 GIMP-Help
===========

GIMP-Help is a help system designed for use with the internal GIMP help
browser, external web browser and HTML renderers, and human eyeballs. 
Docbook is used to create a highly customizable system for all needs. 

The current manual documents features for GIMP 2.8.


Project page and news
=====================

Recent changes and updates about the modules are available at:

  http://docs.gimp.org


Tips for contribution
=====================

Write a mail to one of the authors (check the WIKI).
They should know what tasks need to be done and can find something to
do for you. You should subscribe to the gimp mailing lists to get up
to date information of the current GIMP development.

  What you should know
  --------------------

  You should know a bit about Docbook and XML, or be smart enough to learn
  the syntax yourself. You can get more information about Docbook and XML
  by using your preferred search engine.

  Editors, Programs and Setups
  ----------------------------

  Use any editor you want, but you should handle it well. Please keep in
  mind, that the tab width in XML Mode should be 2 spaces. It is
  recommended to attach patches to a bug report. Creating patches with
  git is probably better described at http://live.gnome.org, but in
  short: 

    git format-patch HEAD^

  to create a patch with your last local commits.

  Provided you have xmllint installed, you can validate the XML
  and check the well-formedness of the XML files by running

    make validate

  When you edit an XML file and want to quickly check your changes,
  you can create a single quick-and-dirty HMTL draft file with

    make src/of/the/xml-file.draft

  where the target is the path name with extension ".draft" instead
  of ".xml", or with

    make preview-src/of/the/xml-file.xml

  where the path name is preceded with "preview-".

  The name of the HMTL draft file depends on its id (not on the name
  of the XML source file!) and is displayed when the file is created.


  Hints for making good screenshots
  ---------------------------------

  * please make screenshots only with the system default theme, which
    is of course just the plain gtk+ default look
  * use default fonts like Bitstream Vera Sans
  * crop the window manager borders
  * before saving an image as PNG, check if you can convert it to indexed
    mode without loss of quality (saves space and bandwidth)
  * provide your source images (eg. for making new screenshots in other
    languages)

Creating a Release
==================

Before you create a release you'll need:

    * be a maintainer
    * have ssh access to cube.gtk.org
    * have access to http://www.gimp.org/admin/

Steps
-----

* Make sure that all XML is valid. Run:

    make validate-all

* Prepare the NEWS file, by adding an additional release, bugs fixed and
  contributors. You can use a little shortcut for compiling the
  contributors using git shortlog (<release tag> is the tag of the last
  release):

    git shortlog -sn <release tag>..HEAD


* Check if the authors.xml have to be adjusted for this release. (Not
  needed for every minor release).

* Bump the version number (help_(major, minor, micro)_version) in
  configure.ac, commit, push. Rule of thumb: It should be documented the
  current GIMP stable release. The minor version aligns therefore with
  the current stable release.

    vi configure.ac

* Create a distribution package:

    make dist

* Tag the release:

    git tag -s

  Rule of thumb: Use capital case, whitespace delimited by underscores.

* Copy the *.bz2 on to cube.gtk.org:/ftp/pub/gimp/help/:

    scp gimp-help-*.tar.* cube.gtk.org:/ftp/pub/gimp/help/

  Verify the tarball appears on:

    ftp://ftp.gimp.org/pub/gimp/help/

* Announce the release on http://www.gimp.org/admin/. Click on `Pending
  News` → `New News`, fill in the form (subject, announce), choose a
  reading wilber and press `Save`. Depending if it needs review (ask one
  of the developers), approve it to publish it.

* Announce the release on our mailing lists:

    GIMP Developer
    https://mail.gnome.org/mailman/listinfo/gimp-developer-list

    GIMP User
    https://mail.gnome.org/mailman/listinfo/gimp-user-list

    GIMP Docs
    https://mail.gnome.org/mailman/listinfo/gimp-docs-list


TODO
====

see Bugzilla:

  http://bugzilla.gnome.org/browse.cgi?product=GIMP-manual



OMF Files
=========

The directory omf holds documentation metadata that describes the user
manual and its localized versions. The format is described by the
Open Source Metadata Framework (OMF). A good resource on this subject
is the ScrollKeeper website:  http://scrollkeeper.sourceforge.net/


ODF Files
=========

You need docbook2odf installed to create ODF files. Although the
transformation process is very slow (because every picture is copied to
a temp directory), you can start the transformation by typing:

    make odf

Hint: Set the ALL_LINGUAS environment variable to create ODF files only
for a particular language. 
Docbook2ODF can be obtained from the following website:

    http://open.comsultia.com/docbook2odf/

HINT: If you get an error opening the created ODT files, open
docbook2odf (probably installed in /usr/bin/) in a text editor.
Uncomment the line:

    #use encoding 'utf-8';

and rerun 'make odf'.


History of the gimp-help-2 module
=================================

The development on the original gimp-help modules came pretty much to a
stop after the first few stable versions of GIMP 1.2 were released. This is
due to several reasons, one of them being that all of the original
documentation had been converted from HTML to DocBook/SGML and apart from a
bit new content, lots of markup and proofreading not too much happened to
the organisation of the complete mess.

Daniel Egger and Mel Boyce were not too happy about the quirks with 
this help system. So they started completely from scratch creating a new
manual based on Docbook/XML.
