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

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