Blame Automation/Modules/Render/render.asciidoc

Alain Reguera Delgado ca17d2
render(1)
Alain Reguera Delgado ca17d2
=========
Alain Reguera Delgado ca17d2
Alain Reguera Delgado ca17d2
Name
Alain Reguera Delgado ca17d2
----
Alain Reguera Delgado ca17d2
render - Standardize production tasks.
Alain Reguera Delgado ca17d2
Alain Reguera Delgado ca17d2
Synopsis
Alain Reguera Delgado ca17d2
--------
Alain Reguera Delgado c5c6d6
centos-art.sh render [OPTIONS] [DIRECTORY ...]
Alain Reguera Delgado ca17d2
Alain Reguera Delgado ca17d2
Description
Alain Reguera Delgado ca17d2
-----------
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
The *render* module looks for configuration files inside the DIRECTORY
Alain Reguera Delgado c5c6d6
specified in the command-line and renders content based on
Alain Reguera Delgado c5c6d6
configuration files found inside it, if any. When no DIRECTORY is
Alain Reguera Delgado c5c6d6
specified, the *render* module looks for configuration files inside
Alain Reguera Delgado c5c6d6
the current directory it was executed from. If the current directory
Alain Reguera Delgado c5c6d6
is out of the working copy or no configuration file is found inside
Alain Reguera Delgado c5c6d6
the working copy DIRECTORY, the *render* module ends its execution
Alain Reguera Delgado c5c6d6
with an error message.
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
Options
Alain Reguera Delgado c5c6d6
-------
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
The *render* module accepts the following options:
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
*--help*::
Alain Reguera Delgado c5c6d6
    This option shows the *render* module's documentation (this page).
Alain Reguera Delgado c5c6d6
*--version*::
Alain Reguera Delgado c5c6d6
    This option shows the *render* module's name and version.
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
Configuration Files
Alain Reguera Delgado c5c6d6
-------------------
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
The configuration files are regular files with the _.conf_ extension.
Alain Reguera Delgado c5c6d6
The name of configuration files is not relevant, though it might help
Alain Reguera Delgado c5c6d6
to remember what the configuration file is for. This way, and because
Alain Reguera Delgado c5c6d6
different modules can use configuration files for their own purposes,
Alain Reguera Delgado c5c6d6
the configuration files used by the *render* module are frequently
Alain Reguera Delgado c5c6d6
named as _render.conf_.
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
The format used by configuration files is common to all modules inside
Alain Reguera Delgado c5c6d6
*centos-art.sh* script. They all use configuration sections in the
Alain Reguera Delgado c5c6d6
form +[section-name]+ and configuration values in the form +option =
Alain Reguera Delgado c5c6d6
"value"+ to describe.  Based on the module being executed, the section
Alain Reguera Delgado c5c6d6
name and configuration values of configuration files might take
Alain Reguera Delgado c5c6d6
different meanings. In the specific case of *render* module, the
Alain Reguera Delgado c5c6d6
section name is always containing the name of the target file you want
Alain Reguera Delgado c5c6d6
to produce and the section-related configuration values always
Alain Reguera Delgado c5c6d6
describe the way you want to produce the file specified in the section
Alain Reguera Delgado c5c6d6
name.  Commentaries are also supported using the +#+ character a the
Alain Reguera Delgado c5c6d6
beginning of lines.  Commentaries defined this way are excluded from
Alain Reguera Delgado c5c6d6
processing so you can use them freely.
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
The configuration files can be divided in smaller configuration files
Alain Reguera Delgado c5c6d6
using name conventions. For example, if you have the file
Alain Reguera Delgado c5c6d6
_render.conf_, you can divide its content in _render-1.conf_,
Alain Reguera Delgado c5c6d6
_render-2.conf_ and so on. This sort of division is very useful when
Alain Reguera Delgado c5c6d6
the configuration file begins to grow, or you want to control the
Alain Reguera Delgado c5c6d6
order in which specific groups of files are produced inside the
Alain Reguera Delgado c5c6d6
DIRECTORY.
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
To describe the file's production, the *render* module's configuration
Alain Reguera Delgado c5c6d6
files accept the following configuration options:
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
*render-type*::
Alain Reguera Delgado c5c6d6
    Optional. This variable specifies the type or rendition the
Alain Reguera Delgado c5c6d6
    *render* module will perform. Possible values to this variable
Alain Reguera Delgado c5c6d6
    include _svg_, _asciidoc_, _symlink_. When this value is not
Alain Reguera Delgado c5c6d6
    specified or no value is set to it, the *render* module reads the
Alain Reguera Delgado c5c6d6
    value of *render-from* variable and determines what kind of
Alain Reguera Delgado c5c6d6
    rendition to perform based on the MIME information of the file
Alain Reguera Delgado c5c6d6
    provided.
Alain Reguera Delgado c5c6d6
*render-from*::
Alain Reguera Delgado c5c6d6
    Required. This variable specifies the file name of the source file
Alain Reguera Delgado c5c6d6
    (design model) used to produce the final file specified in the
Alain Reguera Delgado c5c6d6
    section line. This option can receive absolute paths and relative
Alain Reguera Delgado c5c6d6
    paths.  Absolute paths begin with a slash (+/+) character while
Alain Reguera Delgado c5c6d6
    relative paths begin with the dot slash (+./+) characters or no
Alain Reguera Delgado c5c6d6
    character at all.
Alain Reguera Delgado c5c6d6
*formats*::
Alain Reguera Delgado c5c6d6
    Optional. This variable specifies the different formats you want
Alain Reguera Delgado c5c6d6
    to create copies of the final file. The values specified in this
Alain Reguera Delgado c5c6d6
    variable are separated by white space and should be consequent
Alain Reguera Delgado c5c6d6
    with the production environment (e.g., image formats supported by
Alain Reguera Delgado c5c6d6
    ImageMagick when +render-type = "svg"+ and documentation formats
Alain Reguera Delgado c5c6d6
    supported by asciidoc when +render-type = "asciidoc"+). When this
Alain Reguera Delgado c5c6d6
    variable is not provided no duplicate copies in different formats
Alain Reguera Delgado c5c6d6
    are created,
Alain Reguera Delgado c5c6d6
    just the base file in its format.
Alain Reguera Delgado c5c6d6
*comment*::
Alain Reguera Delgado c5c6d6
    Optional. This variable specifies a section-specific comment
Alain Reguera Delgado c5c6d6
    describeing it.
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
Using Paths
Alain Reguera Delgado c5c6d6
~~~~~~~~~~~
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
When you provide absolute paths inside configuration files, there
Alain Reguera Delgado c5c6d6
isn't confusion about the location where the file is or should be.
Alain Reguera Delgado c5c6d6
However, it introduces rigidity to directory structures inside the
Alain Reguera Delgado c5c6d6
working copy when it is necessary to move directories from one place
Alain Reguera Delgado c5c6d6
to another inside the working copy.  To eliminate this mobility
Alain Reguera Delgado c5c6d6
restrictions, relative paths can be used to create modular directory
Alain Reguera Delgado c5c6d6
structures.
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
When you use relative paths inside configuration files, paths are
Alain Reguera Delgado c5c6d6
relative to the location where the configuration file is stored in.
Alain Reguera Delgado c5c6d6
This way it is possible to move whole directory structures without
Alain Reguera Delgado c5c6d6
touching the configuration file and still have a render-able
Alain Reguera Delgado c5c6d6
structures inside the working copy.  However, relative paths get
Alain Reguera Delgado c5c6d6
limited in situations where the production process needs files outside
Alain Reguera Delgado c5c6d6
the directory where the configuration file is stored in. In such
Alain Reguera Delgado c5c6d6
cases, a combination of relative and absolute paths is the solution to
Alain Reguera Delgado c5c6d6
apply.
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
When we need to use absolute paths to several files in the same
Alain Reguera Delgado c5c6d6
directory (e.g., we are combining them all to produce a new image) but
Alain Reguera Delgado c5c6d6
outside the current directory the configuration file is stored in, it
Alain Reguera Delgado c5c6d6
is possible to use a list of absolute paths one beside another
Alain Reguera Delgado c5c6d6
separated by space or we can use path expansion which is shorter and
Alain Reguera Delgado c5c6d6
easier to read.  Path expansion is interpreted when you enclose a list
Alain Reguera Delgado c5c6d6
of file names in curly brackets using comma as separator without
Alain Reguera Delgado c5c6d6
spaces (e.g., +{file1,file2,file3}+). In order for path expansion to
Alain Reguera Delgado c5c6d6
work correctly, all the file names you put inside the curly brackets'
Alain Reguera Delgado c5c6d6
list must exist in the location specified first.
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
Using Environment Variables
Alain Reguera Delgado c5c6d6
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
The configuration files let you to use environment variables inside
Alain Reguera Delgado c5c6d6
them. This might be very useful in situation where you need to provide
Alain Reguera Delgado c5c6d6
absolute paths based on specific information (e.g., your home
Alain Reguera Delgado c5c6d6
directory or the current locale information). To use environment
Alain Reguera Delgado c5c6d6
variables inside the configuration file you need to know the
Alain Reguera Delgado c5c6d6
environment variables used by *centos-art.sh* script and write them in
Alain Reguera Delgado c5c6d6
the form +${VARNAME}+, where +VARNAME+ is the name of the variable you
Alain Reguera Delgado c5c6d6
want to expand. Some of the most important environment variables used
Alain Reguera Delgado c5c6d6
by *centos-art.sh* script -and its configuration files- are described
Alain Reguera Delgado c5c6d6
below:
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
+TCAR_BASEDIR+::
Alain Reguera Delgado c5c6d6
    This variable contains the absolute path to your repository's
Alain Reguera Delgado c5c6d6
    working copy. The value of this variable is defined as read-only
Alain Reguera Delgado c5c6d6
    inside *centos-art.sh* script and cannot be modified later. As a
Alain Reguera Delgado c5c6d6
    matter of convenience, users make use of their +~/.bash_profile+
Alain Reguera Delgado c5c6d6
    file to define this variable there and, this way, skip the
Alain Reguera Delgado c5c6d6
    sometimes annoyance absolute path questioning the *centos-art.sh*
Alain Reguera Delgado c5c6d6
    script does in order to know the absolute path of the working copy
Alain Reguera Delgado c5c6d6
    it is going to work with.
Alain Reguera Delgado c5c6d6
+
Alain Reguera Delgado c5c6d6
Whenever you set absolute paths inside configuration files to refer
Alain Reguera Delgado c5c6d6
locations inside your working copy, it is necessary that you use the
Alain Reguera Delgado c5c6d6
+TCAR_BASEDIR+ environment variable in front of each path definition
Alain Reguera Delgado c5c6d6
you set.
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
+HOME+::
Alain Reguera Delgado c5c6d6
    This variable contains the absolute path to current user's home
Alain Reguera Delgado c5c6d6
    directory.  The value of this variable is set by the operating
Alain Reguera Delgado c5c6d6
    system when the user opens a terminal session.
Alain Reguera Delgado c5c6d6
+
Alain Reguera Delgado c5c6d6
Whenever you need to set user-specific absolute paths inside
Alain Reguera Delgado c5c6d6
configuration files, use this variable.
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
Rendering SVG Files
Alain Reguera Delgado c5c6d6
~~~~~~~~~~~~~~~~~~~
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
When the *render-type* variable is set to _svg_, the following
Alain Reguera Delgado c5c6d6
complementary variables can be used inside the configuration file:
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
*heights*::
Alain Reguera Delgado c5c6d6
    Optional. This variable specifies the different image heights you
Alain Reguera Delgado c5c6d6
    want to create copies of the final PNG image. The values specified
Alain Reguera Delgado c5c6d6
    in this variable are separated by white space and should be
Alain Reguera Delgado c5c6d6
    understandable by ImageMagick tool set. When this variable is not
Alain Reguera Delgado c5c6d6
    provided no duplicate copies in different heights will be
Alain Reguera Delgado c5c6d6
    produced. In this case the height information is taken from source
Alain Reguera Delgado c5c6d6
    file and just one PNG image is produced with it.
Alain Reguera Delgado c5c6d6
*fgcolors*::
Alain Reguera Delgado c5c6d6
    Optional. This variable specifies the different forground colors
Alain Reguera Delgado c5c6d6
    you want to create copies of the final PNG image. To do this, the
Alain Reguera Delgado c5c6d6
    image you want to copy should be rendered with black color
Alain Reguera Delgado c5c6d6
    (000000) so the color replacement can be performed. The values
Alain Reguera Delgado c5c6d6
    specified in this variable are separated by white space and should
Alain Reguera Delgado c5c6d6
    be understandable by ImageMagick tool set. When this variable is
Alain Reguera Delgado c5c6d6
    not provided no duplicate copies in different foreground colors
Alain Reguera Delgado c5c6d6
    are created.
Alain Reguera Delgado c5c6d6
*bgcolors*::
Alain Reguera Delgado c5c6d6
    Optional. This variable specifies the different background colors
Alain Reguera Delgado c5c6d6
    you want to create copies of the final PNG image. This variable
Alain Reguera Delgado c5c6d6
    plays with Inkscape's _--export-background_ and
Alain Reguera Delgado c5c6d6
    _--export-background-opacity_ options. Possible values to this
Alain Reguera Delgado c5c6d6
    functions take the form XXXXXX-X, where the first six X represent
Alain Reguera Delgado c5c6d6
    a color in hexadeciamal format and the final X might be 1 or 0. 1
Alain Reguera Delgado c5c6d6
    for full opacity and 0 for full transparency.  Intermediate values
Alain Reguera Delgado c5c6d6
    between 0 and 1 (e.g., 0.55) can be given to control the
Alain Reguera Delgado c5c6d6
    background opacity. When this variable is not provided no
Alain Reguera Delgado c5c6d6
    duplicate copies in different background colors are created.
Alain Reguera Delgado c5c6d6
*command*::
Alain Reguera Delgado c5c6d6
    Optional. This variable specifies the command used to perform the
Alain Reguera Delgado c5c6d6
    image manipulation. There are two options we've been using here
Alain Reguera Delgado c5c6d6
    both from ImageMagick tool set. The first option is
Alain Reguera Delgado c5c6d6
    +/usr/bin/convert+ command. This command creates copies of the
Alain Reguera Delgado c5c6d6
    image produced which is useful to create modified copies or
Alain Reguera Delgado c5c6d6
    combination of already existent images.  The second option is
Alain Reguera Delgado c5c6d6
    +/usr/bin/mogrify+ command.  This command modifies the PNG image
Alain Reguera Delgado c5c6d6
    inplace which might be useful when no modified duplications need
Alain Reguera Delgado c5c6d6
    to be created but just one modified image.  When this variable is
Alain Reguera Delgado c5c6d6
    not provided +/usr/bin/convert+ is used as default. Note that you
Alain Reguera Delgado c5c6d6
    can use this variable to pass options to image production (e.g.,
Alain Reguera Delgado c5c6d6
    to control whether images are combined horizotally or
Alain Reguera Delgado c5c6d6
    veritcally.).
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
Rendering Asciidoc Files
Alain Reguera Delgado c5c6d6
~~~~~~~~~~~~~~~~~~~~~~~~
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
When the *render-type* variable is set to _asciidoc_, the following
Alain Reguera Delgado c5c6d6
complementary variables can be used inside the configuration file:
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
Examples
Alain Reguera Delgado c5c6d6
--------
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
Here are some practical configuration files' examples you can use as
Alain Reguera Delgado c5c6d6
reference to create your own configuration files.
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
----------------------------------------------------------------------
Alain Reguera Delgado c5c6d6
[corporate.docbook]
Alain Reguera Delgado c5c6d6
render-type = "asciidoc"
Alain Reguera Delgado c5c6d6
render-from = "corporate.asciidoc"
Alain Reguera Delgado c5c6d6
formats     = "xhtml pdf"
Alain Reguera Delgado c5c6d6
comment     = "The CentOS project corporate visual identity manual."
Alain Reguera Delgado c5c6d6
----------------------------------------------------------------------
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
{asciidoc-br}
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
When the *render* module reads this configuration file, it creates the
Alain Reguera Delgado c5c6d6
+corporate.docbook+ file from +corporate.asciidoc+ file and later,
Alain Reguera Delgado c5c6d6
transforms the +corporate.docbook_ file into +corporate.html+ and
Alain Reguera Delgado c5c6d6
+corporate.pdf+ formats. The creation of files take place in the same
Alain Reguera Delgado c5c6d6
directory the configuration file was found. To control the location of
Alain Reguera Delgado c5c6d6
final files, you can use the section name of configuration files.
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
----------------------------------------------------------------------
Alain Reguera Delgado c5c6d6
[centos-artwork.png]
Alain Reguera Delgado c5c6d6
render-from = "${TCAR_BASEDIR}/Artworks/Brands/Types/Webenv/centos.org/{centos,artwork}.svgz"
Alain Reguera Delgado c5c6d6
formats     = "xpm pdf jpg tif"
Alain Reguera Delgado c5c6d6
heights     = "16 20 22 24 32 36 38 40 48 64 72 78 96 112 124 128 148 164 196 200 512"
Alain Reguera Delgado c5c6d6
fgcolors    = "000000 ffffff"
Alain Reguera Delgado c5c6d6
bgcolors    = "ffffff-0"
Alain Reguera Delgado c5c6d6
command     = "/usr/bin/convert +append"
Alain Reguera Delgado c5c6d6
----------------------------------------------------------------------
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
{asciidoc-br}
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
When the *render* module reads this configuration file, it takes the
Alain Reguera Delgado c5c6d6
+centos.svgz+ and +artwork.svgz+ files as source to produce the
Alain Reguera Delgado c5c6d6
+centos.png+ and +artwork.png+ files considering the first value in
Alain Reguera Delgado c5c6d6
the list of background and foreground colors specified in the
Alain Reguera Delgado c5c6d6
configuration file.  Then, it takes these PNG files and reduces their
Alain Reguera Delgado c5c6d6
sizes based on the *heights* variable and combines the results
Alain Reguera Delgado c5c6d6
horizontally to create the +centos-artwork.png+ file. Later, the
Alain Reguera Delgado c5c6d6
+centos-artwork.png+ file is converted to produce one image file for
Alain Reguera Delgado c5c6d6
each image format specified in the configuration file. At this point,
Alain Reguera Delgado c5c6d6
all the process repeats again but for the next height and color values
Alain Reguera Delgado c5c6d6
in the list.
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
{asciidoc-br}
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
----------------------------------------------------------------------
Alain Reguera Delgado c5c6d6
[${HOME}/bin/centos-art]
Alain Reguera Delgado c5c6d6
render-type = "symbolic-link"
Alain Reguera Delgado c5c6d6
render-from = "centos-art.sh"
Alain Reguera Delgado c5c6d6
comment     = "The centos-art.sh script command."
Alain Reguera Delgado c5c6d6
----------------------------------------------------------------------
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
When the *render* module reads this configuration file, it tries to
Alain Reguera Delgado c5c6d6
create the +${HOME}/bin/centos-art+ symbolic link from +centos-art.sh+
Alain Reguera Delgado c5c6d6
file. In case the +${HOME}/bin+ directory doesn't exist, it will be
Alain Reguera Delgado c5c6d6
created to favor the symbolic link creation. The *comment* variable
Alain Reguera Delgado c5c6d6
here hasn't any use here (except to describe what the section is for)
Alain Reguera Delgado c5c6d6
and you can get rid of it, if you want to.
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
Note how in this example we used an environment variable in the
Alain Reguera Delgado c5c6d6
section name definition.  This value will be expanded before the
Alain Reguera Delgado c5c6d6
*render* module could process the section name definition itself.  The
Alain Reguera Delgado c5c6d6
environment variables definitions can be used inside variable's
Alain Reguera Delgado c5c6d6
values, as well, but it is less common because most path references
Alain Reguera Delgado c5c6d6
inside configuration files are relative to the current location.
Alain Reguera Delgado c5c6d6
Alain Reguera Delgado c5c6d6
To identify a file is relative to current location, the repository
Alain Reguera Delgado c5c6d6
working copy or the system it is necessary to use a convention when
Alain Reguera Delgado c5c6d6
writing configuration files. 
Alain Reguera Delgado ca17d2
Alain Reguera Delgado ca17d2
Reporting Bugs
Alain Reguera Delgado ca17d2
--------------
Alain Reguera Delgado ca17d2
Report bugs on the *automation* category of *centos-artwork* project
Alain Reguera Delgado ca17d2
at the https://centos.org.cu/bugs/[The CentOS Bugs] website.
Alain Reguera Delgado ca17d2
Alain Reguera Delgado ca17d2
Author
Alain Reguera Delgado ca17d2
------
Alain Reguera Delgado ca17d2
Written by mailto:al@centos.org.cu[Alain Reguera Delgado]
Alain Reguera Delgado ca17d2
Alain Reguera Delgado ca17d2
Copyright
Alain Reguera Delgado ca17d2
---------
Alain Reguera Delgado ca17d2
Copyright (C) 2013 The CentOS Project
Alain Reguera Delgado ca17d2
Alain Reguera Delgado ca17d2
This program is free software; you can redistribute it and/or modify
Alain Reguera Delgado ca17d2
it under the terms of the GNU General Public License as published by
Alain Reguera Delgado ca17d2
the Free Software Foundation; either version 2 of the License, or (at
Alain Reguera Delgado ca17d2
your option) any later version.
Alain Reguera Delgado ca17d2
Alain Reguera Delgado ca17d2
This program is distributed in the hope that it will be useful, but
Alain Reguera Delgado ca17d2
WITHOUT ANY WARRANTY; without even the implied warranty of
Alain Reguera Delgado ca17d2
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Alain Reguera Delgado ca17d2
General Public License for more details.
Alain Reguera Delgado ca17d2
Alain Reguera Delgado ca17d2
You should have received a copy of the GNU General Public License
Alain Reguera Delgado ca17d2
along with this program; if not, write to the Free Software
Alain Reguera Delgado ca17d2
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Alain Reguera Delgado ca17d2
Alain Reguera Delgado ca17d2
// vim: set syntax=asciidoc: