Blame Manuals/Texinfo/en_US/Directories/trunk/Scripts/Functions/Help/Backends.texinfo

0ab861
@subheading Goals
0ab861
23f9e7
The @file{trunk/Scripts/Functions/Help/Backends} directory organizes
23f9e7
documentation backends used by @code{help} functionality of
a658b8
@command{centos-art.sh} script.
0ab861
0ab861
@subheading Description
0ab861
a658b8
Documentation backends are organized inside directories. There is one
aef50f
directory for each documentation backend. Inside backend directories,
aef50f
documentation actions are implemented by mean of shell functions.
aef50f
There is one shell function for each documentation action (e.g.,
aef50f
reading, editing, updating output, etc.) and auxiliar shell functions
aef50f
to backup documentation actions.
a658b8
a658b8
Inside backend directories, shell functions must have the same
a658b8
structure in their names. The name structure used by shell functions
a658b8
here is: @code{suffix_funcname.sh}, were @code{suffix} is the name of
a658b8
the directory backend in lowercase and @code{funcname} is the name of
a658b8
the function. Assuming, both @samp{texinfo} and @samp{docbook}
a658b8
backends have been already implemented, they must have a structure
a658b8
similar to the following:
a658b8
a658b8
@verbatim
a658b8
trunk/Scripts/Functions/Help/Backends
a658b8
|-- Docbook
a658b8
|   |-- Templates
a658b8
|   |   |-- en_US
a658b8
|   |   `-- ...
a658b8
|   |-- docbook_editEntry.sh
a658b8
|   |-- docbook_updateOutputFiles.sh
a658b8
|   `-- ...
a658b8
`-- Texinfo
a658b8
    |-- Templates
a658b8
    |   |-- en_US
a658b8
    |   `-- ...
a658b8
    |-- texinfo_editEntry.sh
a658b8
    |-- texinfo_updateOutputFiles.sh
a658b8
    `-- ...
a658b8
@end verbatim
0ab861
23f9e7
The repository documentation entries are organized as sections inside
23f9e7
a chapter named @samp{The repository directories}. Each section
23f9e7
contains three subsections (e.g., Goals, Description, Usage and See
23f9e7
also) and optionally one or more subsubsections inside them to
23f9e7
describe what the related repository directory is for. The first three
23f9e7
section are created in blank for you to fill with information, but the
23f9e7
last one is created automatically and contains a list of links to
23f9e7
previous sections.
23f9e7
3c1432
The internal document organization and language used in repository
3c1432
documentation entries are both defined through templates.  Templates
3c1432
are organized in the @file{Templates} directory which is located
4b2c3d
inside the backend directory. Templates are used when a new
4b2c3d
documentation structure is created and later, when a new documentation
4b2c3d
entry is created inside it.  There is one documentation manual
4b2c3d
structure for each language supported and one documentation entry
4b2c3d
inside the documentation manual for each directory inside the
4b2c3d
repositroy.
3c1432
23f9e7
The relation between template files and repository paths is set in the
3c1432
@file{repository.conf} file. In this file, all lines begining with a
4b2c3d
@samp{#} character are considered comments. Both comments and empty
3c1432
lines are removed from the configuration file before evaluating it, so
4b2c3d
only configuration lines will remain to be evaluated.  Configuration
4b2c3d
lines must be in the form @samp{template = "path-regex"}, where
4b2c3d
@samp{template} is the relative path to section template and
4b2c3d
@samp{"path-regex"} a regular expression describing the path
4b2c3d
information where you want to apply the template on. Empty spaces are
4b2c3d
irrelevant around the equal sign. As example, consider the following
4b2c3d
configuration file:
23f9e7
23f9e7
@verbatim
23f9e7
# This file defines the relation between section templates and
23f9e7
# repository paths. Here you can customize the section template of
23f9e7
# specific directories inside the repository. The first match wins.
23f9e7
# ----------------------------------------------------------------------
23f9e7
# $Id: repository.conf 3222 2011-06-04 19:35:00Z al $
23f9e7
# ----------------------------------------------------------------------
23f9e7
23f9e7
Directories/section-functions.texinfo   = "(trunk|branches|tags)/Scripts/Functions/[[:alnum:]]+\.texinfo$"
23f9e7
Directories/section.texinfo             = "(trunk|branches|tags).*\.texinfo$"
23f9e7
@end verbatim
23f9e7
0ab861
@subheading Usage
0ab861
3c1432
The following documentation backends are available:
3c1432
0ab861
@itemize
a658b8
@item @ref{Directories trunk Scripts Functions Help Backends Texinfo}
a658b8
@item @ref{Directories trunk Scripts Functions Help Backends Docbook}
a658b8
@item @ref{Directories trunk Scripts Functions Help Backends Linuxdoc}
0ab861
@end itemize
0ab861
0ab861
@subheading See also
0ab861
0ab861
@itemize
0ab861
@item @ref{Directories trunk Scripts Functions Help} 
0ab861
@item @ref{Directories trunk Scripts Functions} 
0ab861
@item @ref{Directories trunk Scripts} 
0ab861
@item @ref{Directories trunk}
0ab861
@end itemize