|
|
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
|