Blame Documentation/Models/Docbook/Tcar-ug/Scripts/Bash/render.docbook

33e0a3
<section id="scripts-bash-render">
0ace69
dbaea9
    <title>Standardizing Rendition Tasks</title>
8fa07d
    <indexterm type="specific-function">
8fa07d
        <primary>render</primary>
8fa07d
    </indexterm>
0ace69
0ace69
    <para>
0ace69
        The <function>render</function> functionality is the interface
0ace69
        the <command>centos-art.sh</command> script provides to
0ace69
        standardize the content production tasks inside the working
0ace69
        copy.
0ace69
    </para>
0ace69
515dd1
    <simplesect id="script-bash-render-syntax">
6104cf
    <title>Syntax</title>
0ace69
    <screen>centos-art render [OPTIONS] [DIRECTORY]</screen>
0ace69
0ace69
    <para>
0ace69
        The <varname>DIRECTORY</varname> parameter specifies the
0ace69
        directory path, inside the working copy of &TCAR;, where the
0ace69
        files you want to process are stored in.  This paramter can be
0ace69
        provided more than once in order to process more than one
0ace69
        directory path in a single command execution.  When this
0ace69
        parameter is not provided, the current directory path where
0ace69
        the command was called from is used instead.
0ace69
    </para>
515dd1
    </simplesect>
6104cf
515dd1
    <simplesect id="script-bash-render-option">
6104cf
    <title>Options</title>
6104cf
0ace69
    <para>
0ace69
        The <function>render</function> functionality accepts the
0ace69
        following options: 
0ace69
    </para>
0ace69
0ace69
    <variablelist>
0ace69
    <varlistentry>
0ace69
    <term><option>--quiet</option></term>
0ace69
    <listitem>
0ace69
    <para>
0ace69
        This option supresses all output messages except error
0ace69
        messages.  When this option is passed, all confirmation
0ace69
        requests are supressed and a possitive answer is assumed for
0ace69
        them, just as if the <option>--answer-yes</option> option
0ace69
        would have been provided.
0ace69
    </para>
0ace69
    </listitem>
0ace69
    </varlistentry>
0ace69
0ace69
    <varlistentry>
0ace69
    <term><option>--answer-yes</option></term>
0ace69
    <listitem>
0ace69
    <para>
0ace69
       Assume <emphasis>yes</emphasis> to all confirmation requests.
0ace69
    </para>
0ace69
    </listitem>
0ace69
    </varlistentry>
0ace69
0ace69
    <varlistentry>
0ace69
    <term><option>--filter="REGEX"</option></term>
0ace69
    <listitem>
0ace69
    <para>
0ace69
        This option reduces the list of files to process inside
0ace69
        <varname>DIRECTORY</varname> using <varname>REGEX</varname> as
0ace69
        pattern.  You can use this option to control the amount of
0ace69
        files you want to render.  The deeper you go into the
0ace69
        directory structure the more specific you'll be about the
0ace69
        files you want to render.  When you cannot go deeper into the
0ace69
        directory structure through <varname>DIRECTORY</varname>
0ace69
        specification, use this option to reduce the list of files
0ace69
        therein.
0ace69
    </para>
0ace69
    </listitem>
0ace69
    </varlistentry>
0ace69
0ace69
    <varlistentry>
464f9a
    <term><option>--sync-changes</option></term>
0ace69
    <listitem>
0ace69
    <para>
464f9a
        Synchronizes available changes between the working copy and
464f9a
        the central repository.
0ace69
    </para>
0ace69
    </listitem>
0ace69
    </varlistentry>
0ace69
0ace69
    <varlistentry>
0ace69
    <term><option>--releasever="NUMBER"</option></term>
0ace69
    <listitem>
0ace69
    <para>
0ace69
        This option expands the =\RELEASE=,
0ace69
        =\MAJOR_RELEASE=, and
0ace69
        =\MINOR_RELEASE= translation makers based on
0ace69
        <varname>NUMBER</varname> value.  Notice that translation
0ace69
        markers here were escaped using a backslash (\)
0ace69
        in order to prevent their expansion. Use this option when you
0ace69
        need to produce release-specific contents, but no release
0ace69
        information can be retrived from the directory path you are
0ace69
        currently rendering.
0ace69
    </para>
0ace69
    </listitem>
0ace69
    </varlistentry>
0ace69
0ace69
    <varlistentry>
0ace69
    <term><option>--basearch="ARCH"</option></term>
0ace69
    <listitem>
0ace69
    <para>
0ace69
        This option expands the =\ARCHITECTURE=,
0ace69
        translation makers based on <varname>ARHC</varname> value.
0ace69
        Notice that translation markers here were escaped using a
0ace69
        backslash (\) in order to prevent their
0ace69
        expansion. Use this option when you need to produce
0ace69
        architecture-sepecific contents but no architecture
0ace69
        information can be retrived from the directory path you are
0ace69
        currently rendering.
0ace69
    </para>
0ace69
    </listitem>
0ace69
    </varlistentry>
0ace69
0ace69
    <varlistentry>
0ace69
    <term><option>--theme-model="NAME"</option></term>
0ace69
    <listitem>
0ace69
    <para>
0ace69
        This option specifies the name of theme model you want to use
0ace69
        when producing theme artistic motifs. By default, if this
0ace69
        option is not provided, the <literal>Default</literal> theme
0ace69
        model is used as reference to produce theme artistic motifs.
0ace69
        To know what values does the <varname>NAME</varname> variable
0ace69
        can have, run <command>ls
0ace69
        ~/artwork/trunk/Identity/Models/Themes</command> command.
0ace69
    </para>
0ace69
    </listitem>
0ace69
    </varlistentry>
0ace69
0ace69
    <varlistentry>
0ace69
    <term><option>--post-rendition="COMMAND"</option></term>
0ace69
    <listitem>
0ace69
    <para>
0ace69
        This option lets you apply a command as post-rendition action.
0ace69
        In this case, the <varname>COMMAND</varname> represents the
0ace69
        command-line you want to execute in order to perform in-place
0ace69
        modifications to base-rendition output.
0ace69
    </para>
0ace69
    </listitem>
0ace69
    </varlistentry>
0ace69
0ace69
    <varlistentry>
0ace69
    <term><option>--last-rendition="COMMAND"</option></term>
0ace69
    <listitem>
0ace69
    <para>
0ace69
        This option lets you apply a command as last-rendition action.
0ace69
        In this case, the <varname>COMMAND</varname> argument
0ace69
        represents the command string you want to execute in order to
0ace69
        perform in-place modifications to base-rendition,
0ace69
        post-rendition and directory-specific rendition outputs. 
0ace69
    </para>
0ace69
    </listitem>
0ace69
    </varlistentry>
0ace69
    </variablelist>
515dd1
    </simplesect>
6104cf
515dd1
    <simplesect id="script-bash-render-description">
6104cf
    <title>Description</title>
0ace69
0ace69
    <para>
0ace69
        Inside the working copy of &TCAR;, rendition tasks take place
0ace69
        inside renderable directories. The rendition itself is
0ace69
        performed through a serie of rendition flows named
0ace69
        base-rendition, post-rendition, last-rendition and
0ace69
        directory-specific rendition.
0ace69
    </para>
0ace69
0ace69
    <para>
0ace69
        Renderable directories are convenctional locations inside the
0ace69
        working copy where you can find source files, output files and
0ace69
        auxiliar files. Source files are used to produce output files.
0ace69
        Auxiliar files are used to modify the way output files are
0ace69
        produced from source files (e.g., to produce localized
0ace69
        output). Auxiliar files are optionals.
0ace69
    </para>
0ace69
    <para>
0ace69
        Renderable directories are made of several directories but
0ace69
        only the output dirctory path is passed to
0ace69
        <function>render</function> functionality as
0ace69
        <varname>DIRECTORY</varname> parameter in the command-line.
0ace69
        The directories related to source and auxiliar files are
0ace69
        automatically constructed based on a directory organization
0ace69
        convenction. This way, the <function>render</function>
0ace69
        functionality collects all the information it needs to work
0ace69
        with.
0ace69
    </para>
515dd1
0ace69
    <para>
0ace69
        Inside the working copy, renderable directories are divided in
0ace69
        two categories in a way differences between them can be
0ace69
        preserved. These categories are named <quote>direct
0ace69
        production</quote> and <quote>theme production</quote>. These
0ace69
        categories provide the file organization convenction the
0ace69
        <function>render</function> functionality needs, to produce
0ace69
        content based on rendition flows.
0ace69
    </para>
0ace69
515dd1
    <para>Direct Production </para>
515dd1
    <para>Theme Production</para>
515dd1
    <para>Base Rendition Flow</para>
515dd1
    <para>Post Rendition Flow</para>
515dd1
    <para>Last Rendition Flow</para>
515dd1
    <para>Directory-Specific Rendition Flow</para>
515dd1
    </simplesect>
6104cf
515dd1
    <simplesect id="script-bash-render-environment">
515dd1
    <title>Function Specific Environment</title>
6104cf
    <para>
6104cf
        ...
6104cf
    </para>
515dd1
    </simplesect>
6104cf
515dd1
    <simplesect id="scripts-bash-render-authors">
6104cf
    <title>Authors</title>
6104cf
    <para>
6104cf
        The following people have worked in the
6104cf
        <function>render</function> functionality:
6104cf
    </para>
6104cf
    <itemizedlist>
6104cf
    <listitem>
6104cf
    <para>
515dd1
        Alain Reguera Delgado <<ulink url="mailto:alain.reguera@gmail.com">alain.reguera@gmail.com</ulink>>, =COPYRIGHT_YEAR_LIST=
6104cf
    </para>
6104cf
    </listitem>
6104cf
    </itemizedlist>
515dd1
    </simplesect>
6104cf
515dd1
    <simplesect id="scripts-bash-render-licence">
6104cf
    <title>License</title>
515dd1
6104cf
    <para>
515dd1
        Copyright © =COPYRIGHT_YEAR_LIST= The CentOS Project
515dd1
    </para>
6104cf
 
515dd1
    <para>
515dd1
        This program is free software; you can redistribute it and/or
515dd1
        modify it under the terms of the GNU General Public License as
515dd1
        published by the Free Software Foundation; either version 2 of
515dd1
        the License, or (at your option) any later version.
515dd1
    </para>
6104cf
 
515dd1
    <para>
515dd1
        This program is distributed in the hope that it will be
515dd1
        useful, but WITHOUT ANY WARRANTY; without even the implied
515dd1
        warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
515dd1
        PURPOSE.  See the GNU General Public License for more details.
515dd1
    </para>
6104cf
 
515dd1
    <para>
515dd1
        You should have received a copy of the GNU General Public
515dd1
        License along with this program; if not, write to the Free
515dd1
        Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
515dd1
        USA.
6104cf
    </para>
515dd1
    </simplesect>
0ace69
33e0a3
</section>