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

    <title>Standardizing Content Rendition</title>

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

    <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>
    <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>--dont-commit-changes</option></term>
    <listitem>
    <para>
        This option supresses all commit and update actions realized
        over files, before and after the action itself had took place
        over files in the working copy.
    </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>

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

    <sect2 id="scripts-bash-render-dir">
    <title>Renderable Directories</title>
    <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>

    <sect3 id="scripts-bash-render-dir-direct">
    <title>Direct Production</title>
    <para>
        ...
    </para>
    </sect3>

    <sect3 id="scripts-bash-render-dir-theme">
    <title>Theme Production</title>
    <para>
        ...
    </para>
    </sect3>

    </sect2>

    <sect2 id="scripts-bash-render-flows">
    <title>Rendition Flows</title>

    <sect3 id="scripts-bash-render-br">
    <title>Base-Rendition</title>
    <para>
        ...
    </para>
    </sect3>

    <sect3 id="scripts-bash-render-pr">
    <title>Post-Rendition</title>
    <para>
        ...
    </para>
    </sect3>

    <sect3 id="scripts-bash-render-lr">
    <title>Last-Rendition</title>
    <para>
        ...
    </para>
    </sect3>

    <sect3 id="scripts-bash-render-dsr">
    <title>Directory-Specific Rendition</title>
    <para>
        ...
    </para>
    </sect3>
    </sect2>

</sect1>