Blob Blame History Raw
<sect1 id="scripts-bash-render">

    <title>Standardizing Rendition Tasks</title>
    <indexterm type="specific-function">
        <primary>render</primary>
    </indexterm>

    <para>
        The <function>render</function> functionality is the interface
        the <command>centos-art.sh</command> script provides to
        standardize the content production tasks inside the working
        copy.
    </para>

    <simplesect id="script-bash-render-syntax">
    <title>Syntax</title>
    <screen>centos-art render [OPTIONS] [DIRECTORY]</screen>

    <para>
        The <varname>DIRECTORY</varname> parameter specifies the
        directory path, inside the working copy of &TCAR;, where the
        files you want to process are stored in.  This paramter can be
        provided more than once in order to process more than one
        directory path in a single command execution.  When this
        parameter is not provided, the current directory path where
        the command was called from is used instead.
    </para>
    </simplesect>

    <simplesect id="script-bash-render-option">
    <title>Options</title>

    <para>
        The <function>render</function> functionality accepts the
        following options: 
    </para>

    <variablelist>
    <varlistentry>
    <term><option>--quiet</option></term>
    <listitem>
    <para>
        This option supresses all output messages except error
        messages.  When this option is passed, all confirmation
        requests are supressed and a possitive answer is assumed for
        them, just as if the <option>--answer-yes</option> option
        would have been provided.
    </para>
    </listitem>
    </varlistentry>

    <varlistentry>
    <term><option>--answer-yes</option></term>
    <listitem>
    <para>
       Assume <emphasis>yes</emphasis> to all confirmation requests.
    </para>
    </listitem>
    </varlistentry>

    <varlistentry>
    <term><option>--filter="REGEX"</option></term>
    <listitem>
    <para>
        This option reduces the list of files to process inside
        <varname>DIRECTORY</varname> using <varname>REGEX</varname> as
        pattern.  You can use this option to control the amount of
        files you want to render.  The deeper you go into the
        directory structure the more specific you'll be about the
        files you want to render.  When you cannot go deeper into the
        directory structure through <varname>DIRECTORY</varname>
        specification, use this option to reduce the list of files
        therein.
    </para>
    </listitem>
    </varlistentry>

    <varlistentry>
    <term><option>--sync-changes</option></term>
    <listitem>
    <para>
        Synchronizes available changes between the working copy and
        the central repository.
    </para>
    </listitem>
    </varlistentry>

    <varlistentry>
    <term><option>--releasever="NUMBER"</option></term>
    <listitem>
    <para>
        This option expands the <code>=\RELEASE=</code>,
        <code>=\MAJOR_RELEASE=</code>, and
        <code>=\MINOR_RELEASE=</code> translation makers based on
        <varname>NUMBER</varname> value.  Notice that translation
        markers here were escaped using a backslash (<code>\</code>)
        in order to prevent their expansion. Use this option when you
        need to produce release-specific contents, but no release
        information can be retrived from the directory path you are
        currently rendering.
    </para>
    </listitem>
    </varlistentry>

    <varlistentry>
    <term><option>--basearch="ARCH"</option></term>
    <listitem>
    <para>
        This option expands the <code>=\ARCHITECTURE=</code>,
        translation makers based on <varname>ARHC</varname> value.
        Notice that translation markers here were escaped using a
        backslash (<code>\</code>) in order to prevent their
        expansion. Use this option when you need to produce
        architecture-sepecific contents but no architecture
        information can be retrived from the directory path you are
        currently rendering.
    </para>
    </listitem>
    </varlistentry>

    <varlistentry>
    <term><option>--theme-model="NAME"</option></term>
    <listitem>
    <para>
        This option specifies the name of theme model you want to use
        when producing theme artistic motifs. By default, if this
        option is not provided, the <literal>Default</literal> theme
        model is used as reference to produce theme artistic motifs.
        To know what values does the <varname>NAME</varname> variable
        can have, run <command>ls
        ~/artwork/trunk/Identity/Models/Themes</command> command.
    </para>
    </listitem>
    </varlistentry>

    <varlistentry>
    <term><option>--post-rendition="COMMAND"</option></term>
    <listitem>
    <para>
        This option lets you apply a command as post-rendition action.
        In this case, the <varname>COMMAND</varname> represents the
        command-line you want to execute in order to perform in-place
        modifications to base-rendition output.
    </para>
    </listitem>
    </varlistentry>

    <varlistentry>
    <term><option>--last-rendition="COMMAND"</option></term>
    <listitem>
    <para>
        This option lets you apply a command as last-rendition action.
        In this case, the <varname>COMMAND</varname> argument
        represents the command string you want to execute in order to
        perform in-place modifications to base-rendition,
        post-rendition and directory-specific rendition outputs. 
    </para>
    </listitem>
    </varlistentry>
    </variablelist>
    </simplesect>

    <simplesect id="script-bash-render-description">
    <title>Description</title>

    <para>
        Inside the working copy of &TCAR;, rendition tasks take place
        inside renderable directories. The rendition itself is
        performed through a serie of rendition flows named
        base-rendition, post-rendition, last-rendition and
        directory-specific rendition.
    </para>

    <para>
        Renderable directories are convenctional locations inside the
        working copy where you can find source files, output files and
        auxiliar files. Source files are used to produce output files.
        Auxiliar files are used to modify the way output files are
        produced from source files (e.g., to produce localized
        output). Auxiliar files are optionals.
    </para>
    <para>
        Renderable directories are made of several directories but
        only the output dirctory path is passed to
        <function>render</function> functionality as
        <varname>DIRECTORY</varname> parameter in the command-line.
        The directories related to source and auxiliar files are
        automatically constructed based on a directory organization
        convenction. This way, the <function>render</function>
        functionality collects all the information it needs to work
        with.
    </para>

    <para>
        Inside the working copy, renderable directories are divided in
        two categories in a way differences between them can be
        preserved. These categories are named <quote>direct
        production</quote> and <quote>theme production</quote>. These
        categories provide the file organization convenction the
        <function>render</function> functionality needs, to produce
        content based on rendition flows.
    </para>

    <para>Direct Production </para>
    <para>Theme Production</para>
    <para>Base Rendition Flow</para>
    <para>Post Rendition Flow</para>
    <para>Last Rendition Flow</para>
    <para>Directory-Specific Rendition Flow</para>
    </simplesect>

    <simplesect id="script-bash-render-environment">
    <title>Function Specific Environment</title>
    <para>
        ...
    </para>
    </simplesect>

    <simplesect id="scripts-bash-render-authors">
    <title>Authors</title>
    <para>
        The following people have worked in the
        <function>render</function> functionality:
    </para>
    <itemizedlist>
    <listitem>
    <para>
        Alain Reguera Delgado &lt;<ulink url="mailto:alain.reguera@gmail.com">alain.reguera@gmail.com</ulink>&gt;, =COPYRIGHT_YEAR_LIST=
    </para>
    </listitem>
    </itemizedlist>
    </simplesect>

    <simplesect id="scripts-bash-render-licence">
    <title>License</title>

    <para>
        Copyright &copy; =COPYRIGHT_YEAR_LIST= The CentOS Project
    </para>
 
    <para>
        This program is free software; you can redistribute it and/or
        modify it under the terms of the GNU General Public License as
        published by the Free Software Foundation; either version 2 of
        the License, or (at your option) any later version.
    </para>
 
    <para>
        This program is distributed in the hope that it will be
        useful, but WITHOUT ANY WARRANTY; without even the implied
        warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
        PURPOSE.  See the GNU General Public License for more details.
    </para>
 
    <para>
        You should have received a copy of the GNU General Public
        License along with this program; if not, write to the Free
        Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
        USA.
    </para>
    </simplesect>

</sect1>