Blame Manuals/Repository/repository-html/repository_57.html

4c79b5
4c79b5
<html>
ccb7a3
4c79b5
4c79b5
Permission is granted to copy, distribute and/or modify this document
4c79b5
under the terms of the GNU Free Documentation License, Version 1.2 or
4c79b5
any later version published by the Free Software Foundation; with no
4c79b5
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
4c79b5
copy of the license is included in the section entitled GNU Free
4c79b5
Documentation License.  
4c79b5
-->
acd47b
4c79b5
4c79b5
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
4c79b5
            Karl Berry  <karl@freefriends.org>
4c79b5
            Olaf Bachmann <obachman@mathematik.uni-kl.de>
4c79b5
            and many others.
4c79b5
Maintained by: Many creative people <dev@texi2html.cvshome.org>
4c79b5
Send bugs and suggestions to <users@texi2html.cvshome.org>
4c79b5
4c79b5
-->
4c79b5
<head>
166893
<title>CentOS Artwork Repository: 3.54 trunk/Scripts/Bash/Functions/Render</title>
4c79b5
166893
<meta name="description" content="CentOS Artwork Repository: 3.54 trunk/Scripts/Bash/Functions/Render">
166893
<meta name="keywords" content="CentOS Artwork Repository: 3.54 trunk/Scripts/Bash/Functions/Render">
4c79b5
<meta name="resource-type" content="document">
4c79b5
<meta name="distribution" content="global">
4c79b5
<meta name="Generator" content="texi2html 1.76">
4c79b5
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4c79b5
<style type="text/css">
4c79b5
1e9202
@import "/home/centos/artwork/trunk/Identity/Models/Css/Texi2html/common.css";
4c79b5
4c79b5
a.summary-letter {text-decoration: none}
4c79b5
pre.display {font-family: serif}
4c79b5
pre.format {font-family: serif}
4c79b5
pre.menu-comment {font-family: serif}
4c79b5
pre.menu-preformatted {font-family: serif}
4c79b5
pre.smalldisplay {font-family: serif; font-size: smaller}
4c79b5
pre.smallexample {font-size: smaller}
4c79b5
pre.smallformat {font-family: serif; font-size: smaller}
4c79b5
pre.smalllisp {font-size: smaller}
4c79b5
span.sansserif {font-family:sans-serif; font-weight:normal;}
4c79b5
ul.toc {list-style: none}
4c79b5
-->
4c79b5
</style>
4c79b5
4c79b5
4c79b5
</head>
4c79b5
4c79b5
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
4c79b5
300762
166893
[ < ]
166893
[ > ]
4c79b5
   
4c79b5
[ << ]
4c79b5
[ Up ]
166893
[ >> ]
4c79b5
   
4c79b5
   
4c79b5
   
4c79b5
   
4c79b5
[Top]
4c79b5
[Contents]
166893
[Index]
4c79b5
[ ? ]
4c79b5
166893
166893
166893

3.54 trunk/Scripts/Bash/Functions/Render

b0644c
166893

The render functionality exists to produce both identity and

166893
translation files on different levels of information (i.e., different
166893
languages, release numbers, architectures, etc.).
ec5f63

166893

The render functionality relies on "renderable directory

166893
structures" to produce files. Renderable directory structures can be
166893
either "identity directory structures" or "translation directory
166893
structures" with special directories inside.
4a9d2a

4a9d2a
fa7cae
166893

3.54.1 Renderable identity directory structures

166893
166893

Renderable identity directory structures are the starting point of

166893
identity rendition. Whenever we want to render a component of CentOS
166893
corporate visual identity, we need to point <tt>`centos-art.sh'</tt> to a
166893
renderable identity directory structure. If such renderable identity
166893
directory structure doesn't exist, then it is good time to create it. 
166893

166893

Inside the working copy, one renderable identity directory structures

166893
represents one visual manifestation of CentOS corporate visual
166893
identity, or said differently, each visual manifestation of CentOS
166893
corporate visual identity should have one renderable identity
166893
directory structure.
166893

166893

Inside renderable identity directory structures, <tt>`centos-art.sh'</tt>

166893
can render both image-based and text-based files. Specification of
166893
whether a renderable identity directory structure produces image-based
166893
or text-based content is a configuration action that takes place in
166893
the pre-rendition configuration script of that renderable identity
166893
directory structure.
166893

166893

Inside renderable identity directory structures, content production is

166893
organized in different configurations. A content production
166893
configuration is a unique combination of the components that make an
166893
identity directory structure renderable. One content production
166893
configuration does one thing only (e.g., to produce untranslated
166893
images), but it can be extended (e.g., adding translation files) to
166893
achieve different needs (e.g., to produce translated images).
166893

166893
166893
166893

3.54.1.1 Design template without translation

4a9d2a
166893

The design template without translation configuration is based on a

166893
renderable identity directory structure with an empty translation
166893
directory structure. In this configuration, one design template
166893
produces one untranslated file. Both design templates and final
166893
untranslated files share the same file name, but they differ one
166893
another in file-type and file-extension.
2dc146

166893

For example, to produce images without translations (there is no much

166893
use in producing text-based files without translations), consider the
166893
following configuration:
2dc146

166893
166893
One renderable identity directory structure:
166893
166893

In this example we used <tt>`Identity/Path/To/Dir'</tt> as the identity

166893
component we want to produce untranslated images for.  Identity
166893
components can be either under <tt>`trunk/'</tt> or <tt>`branches/'</tt>
166893
directory structure.
166893

166893

The identity component (i.e., <tt>`Identity/Path/To/Dir'</tt>, in this

166893
case) is also the bond component we use to connect the identity
166893
directory structures with their respective auxiliar directories (i.e.,
166893
translation directory structres and pre-rendition configuration
166893
structures).  The bond component is the path convenction that
166893
<tt>`centos-art.sh'</tt> uses to know where to look for related
166893
translations, configuration scripts and whatever auxiliar thing a
166893
renderable directory structure may need to have.
166893

166893
      | The bond component
166893
      |----------------->|
166893
trunk/Identity/Path/To/Dir  <-- Renderable identity directory structure.
166893
|-- Tpl                     <-- Design template directory.
166893
|   `-- file.svg            <-- Design template file.
166893
`-- Img                     <-- Directory used to store final files.
166893
    `-- file.png            <-- Final image-based file produced from
166893
                                design template file.
166893
166893

Inside design template directory, design template files are based on

166893
SVG (Scalable Vector Graphics) and use the extension
166893
.svg.  Design template files can be organized using several
166893
directory levels to create a simple but extensible configuration,
166893
specially if translated images are not required.
166893

166893

In order for SVG (Scalable Vector Graphics) files to be

166893
considered "design template" files, they should be placed under the
166893
design template directory and to have set a CENTOSARTWORK
166893
object id inside.
166893

166893

The CENTOSARTWORK word itself is a convenction name we use to

166893
define which object/design area, inside a design template, the
166893
<tt>`centos-art.sh'</tt> script will use to export as
166893
PNG (Portable Network Graphic) image at rendition time.
166893
Whithout such object id specification, the <tt>`centos-art.sh'</tt> script
166893
cannot know what object/design area you (as designer) want to export
166893
as PNG (Portable Network Graphic) image file.
166893

166893
info

Note

At rendition time, the content of <tt>`Img/'</tt> directory

166893
structure is produced by <tt>`centos-art.sh'</tt> automatically.
166893

4a9d2a
166893

When a renderable identity directory structure is configured to

166893
produce image-based content, <tt>`centos-art.sh'</tt> produces
166893
PNG (Portable Network Graphics) files with the .png
166893
extension. Once the base image format has been produced, it is
166893
possible for <tt>`centos-art.sh'</tt> to use it in order to automatically
166893
create other image formats that may be needed (see section trunk/Scripts/Bash/Functions/Render/Config).
166893

166893

Inside the working copy, you can find an example of "design template

166893
without translation" configuration at <tt>`trunk/Identity/Models/'</tt>.
166893

166893

See section trunk/Identity, for more information.

166893

166893
166893
One translation directory structure:
166893
166893

In order for an identity entry to be considered an identity renderable

166893
directory structure, it should have a translation entry. The content
166893
of the translation entry is relevant to determine how to process the
166893
identity renderable directory entry.
166893

166893

If the translation entry is empty (i.e., there is no file inside it),

166893
<tt>`centos-art.sh'</tt> interprets the identity renderable directory
166893
structure as a "design templates without translation" configuration.
166893

166893
                   | The bond component
166893
                   |----------------->|
166893
trunk/Translations/Identity/Path/To/Dir
166893
`-- (empty)
166893
166893

If the translation entry is not empty, <tt>`centos-art.sh'</tt> can

166893
interpret the identity renderable directory structure as one of the
166893
following configurations: "design template with translation
166893
(one-to-one)" or "design template with translation (optimized)".
166893
Which one of these configurations is used depends on the value
166893
assigned to the matching list (MATCHINGLIST) variable in the
166893
pre-rendition configuration script of the renderable identity
166893
directory structure we are producing images for.
166893

166893

If the matching list variable is empty (as it is by default), then

166893
"design template with translation (one-to-one)" configuration is
166893
used. In this configuration it is required that both design templates
166893
and translation files have the same file names. This way, one
166893
translation files is applied to one design template, to produce
166893
one translated image.
166893

166893

If the matching list variable is not empty (because you redefine it in

166893
the pre-rendition configuration script), then "design template with
166893
translation (optimized)" configuration is used instead. In this
166893
configuration, design templates and translation files don't need to
166893
have the same names since such name relationship between them is
166893
specified in the matching list properly.
166893

166893

-- Removed(xref:trunk Translations) --, for more information.

166893

166893
166893
One pre-rendition configuration script:
166893
166893

In order to make an identity directory structure renderable, a

166893
pre-rendition configuration script should exist for it.  The
166893
pre-rendition configuration script specifies what type of rendition
166893
does <tt>`centos-art.sh'</tt> will perform over the identity directory
166893
structure and how does it do that.
166893

166893
                                           | The bond component
166893
                                           |----------------->|
166893
trunk/Scripts/Bash/Functions/Render/Config/Identity/Path/To/Dir
166893
`-- render.conf.sh
4a9d2a
166893

In this configuration the pre-rendition configuration script

166893
(<tt>`render.conf.sh'</tt>) would look like the following:
4a9d2a

166893
function render_loadConfig {
166893
166893
    # Define rendition actions.
166893
    ACTIONS[0]='BASE:renderImage'
166893
166893
}
166893
166893

Since translation directory structure is empty, <tt>`centos-art.sh'</tt>

166893
assumes a "design template without translation" configuration to
166893
produce untranslated images.
166893

166893

To produce untranslated images, <tt>`centos-art.sh'</tt> takes one design

166893
template and creates one temporal instance from it.  Later,
166893
<tt>`centos-art.sh'</tt> uses the temporal design template instance as
166893
source file to export the final untranslated image. The action of
166893
exporting images from SVG (Scalable Vector Graphics) to
166893
PNG (Portable Network Graphics) is possible thanks to
166893
Inkscape's command-line interface and the CENTOSARTWORK object
166893
id we previously set inside design templates.
166893

166893
centos-art.sh render --identity=trunk/Identity/Path/To/Dir
166893
-------------------------------------------------
166893
0 | Execute centos-art.sh on renderable identity directory structure.
166893
--v----------------------------------------------
166893
trunk/Identity/Path/To/Dir/Tpl/file.svg
166893
-------------------------------------------------
166893
1 | Create instance from design template.
166893
--v----------------------------------------------
166893
/tmp/centos-art.sh-a07e824a-5953-4c21-90ae-f5e8e9781f5f-file.svg
166893
-------------------------------------------------
166893
2 | Render untranslated image from design template instance.
166893
--v----------------------------------------------
166893
trunk/Identity/NewDir/Img/file.png
166893
-------------------------------------------------
166893
3 | Remove design template instance.
166893
166893

Finally, when the untranslated image has been created, the temporal

166893
design template instance is removed. At this point,
166893
<tt>`centos-art.sh'</tt> takes the next design template and repeats the
166893
whole production flow once again (design template by design template),
166893
until all design templates be processed.
166893

166893

See section trunk/Scripts/Bash/Functions/Render/Config, for more

166893
information.
166893

166893
166893
4a9d2a
fa7cae
166893

3.54.1.2 Design template with translation (one-to-one)

166893
166893

Producing untranslated images is fine in many cases, but not always.

166893
Sometimes it is required to produce images in different languages and
166893
that is something that untrasnlated image production cannot achieve.
166893
However, if we fill its empty translation entry with translation files
166893
(one for each design template) we extend the production flow from
166893
untranslated image production to translated image production.
166893

166893

In order for <tt>`centos-art.sh'</tt> to produce images correctly, each

166893
design template should have one translation file and each translation
166893
file should have one design template.  Otherwise, if there is a
166893
missing design template or a missing translation file,
166893
<tt>`centos-art.sh'</tt> will not produce the final image related to the
166893
missing component.
166893

166893

In order for <tt>`centos-art.sh'</tt> to know which is the relation

166893
between translation files and design templates the translation
166893
directory structure is taken as reference.  For example, the
166893
<tt>`trunk/Translations/Identity/Path/To/Dir/file.sed'</tt> translation
166893
file does match <tt>`trunk/Identity/Path/To/Dir/Tpl/file.svg'</tt> design
166893
template, but it doesn't match
166893
<tt>`trunk/Identity/Path/To/Dir/File.svg'</tt> or
166893
<tt>`trunk/Identity/Path/To/Dir/Tpl/File.svg'</tt> or
166893
<tt>`trunk/Identity/Path/To/Dir/Tpl/SubDir/file.svg'</tt> design
166893
templates.
166893

166893

The pre-rendition configuration script used to produce untranslated

166893
images is the same we use to produce translated images. There is no
166893
need to modify it. So, as we are using the same pre-rendition
166893
configuration script, we can say that translated image production is
166893
somehow an extended/improved version of untranslated image production.
166893

166893
info

Note

If we use no translation file in the translation entry

166893
(i.e., an empty directory), <tt>`centos-art.sh'</tt> assumes the
166893
untranslated image production. If we fill the translation entry with
166893
translation files, <tt>`centos-art.sh'</tt> assumes the translated image
166893
production.  
166893

166893
166893

To produce final images, <tt>`centos-art.sh'</tt> applies one translation

166893
file to one design template and produce a translated design template
166893
instance. Later, <tt>`centos-art.sh'</tt> uses the translated template
166893
instance to produce the translated image. Finally, when the translated
166893
image has been produced, <tt>`centos-art.sh'</tt> removes the translated
166893
design template instance. This production flow is repeated for each
166893
translation file available in the translatio entry. 
166893

166893
centos-art.sh render --identity=trunk/Identity/Path/To/Dir
166893
-------------------------------------------------
166893
0 | Execute centos-art.sh on directory structure.
166893
--v----------------------------------------------
166893
trunk/Translations/Identity/Path/To/Dir/file.sed
166893
-------------------------------------------------
166893
1 | Apply translation to design template.
166893
--v----------------------------------------------
166893
trunk/Identity/Path/To/Dir/Tpl/file.svg
166893
-------------------------------------------------
166893
2 | Create design template instance.
166893
--v----------------------------------------------
166893
/tmp/centos-art.sh-a07e824a-5953-4c21-90ae-f5e8e9781f5f-file.svg
166893
-------------------------------------------------
166893
3 | Render PNG image from template instance.
166893
--v----------------------------------------------
166893
trunk/Identity/NewDir/Img/file.png
166893
-------------------------------------------------
166893
4 | Remove design template instance.
166893
ec5f63
166893
166893

3.54.1.3 Design template with translation (optimized)

166893
166893

Producing translated images satisfies almost all our production images

166893
needs, but there is still a pitfall in them. In order to produce
166893
translated images as in the "one-to-one" configuration describes
166893
previously, it is required that one translation file has one design
166893
template. That's useful in many cases, but what would happen if we
166893
need to apply many different translation files to the same design
166893
template?  Should we have to duplicate the same design template file
166893
for each translation file, in order to satisfy the "one-to-one"
166893
relation? What if we need to assign translation files to design
166893
templates arbitrarily?
166893

166893

Certenly, that's something the "one-to-one" configuration cannot

166893
handle.  So, that's why we had to "optimize" it. The optimized
166893
configuration consists on using a matching list (MATCHINGLIST)
166893
variable that specifies the relationship between translation files and
166893
design templates in an arbitrary way. Using such matching list between
166893
translation files and design templates let us use as many assignment
166893
combinations as translation files and design templates we are working
166893
with.
166893

166893

The MATCHINGLIST variable is set in the pre-rendition

166893
configuration script of the component we want to produce images for.
166893
By default, the MATCHINGLIST variable is empty which means no
166893
matching list is used. Otherwise, if MATCHINGLIST variable has a
166893
value different to empty value then, <tt>`centos-art.sh'</tt> interprets
166893
the matching list in order to know how translation files are applied
166893
to design templates.
166893

166893

For example, consider the following configuration:

166893

4a9d2a
166893
One entry under <tt>`trunk/Identity/'</tt>:
4a9d2a
166893

In this configuration we want to produce three images using a

166893
paragraph-based style, controlled by <tt>`paragraph.svg'</tt> design
166893
template; and one image using a list-based style, controlled by
166893
<tt>`list.svg'</tt> design template.
166893

166893
trunk/Identity/Path/To/Dir
166893
|-- Tpl
166893
|   |-- paragraph.svg
166893
|   `-- list.svg
166893
`-- Img
166893
    |-- 01-welcome.png
166893
    |-- 02-donate.png
166893
    |-- 03-docs.png
166893
    `-- 04-support.png
166893
4a9d2a
166893
One entry under <tt>`trunk/Translations/'</tt>:
4a9d2a
166893

In order to produce translated images we need to have one translation

166893
file for each translated image we want to produce. Notice how
166893
translation names do match final image file names, but how translation
166893
names do not match design template names. When we use matching list
166893
there is no need for translation files to match the names of design
166893
templates, such name relation is set inside the matching list itself.
166893

166893
trunk/Translations/Identity/Path/To/Dir
166893
|-- 01-welcome.sed
166893
|-- 02-donate.sed
166893
|-- 03-docs.sed
166893
`-- 04-support.sed
166893
fa7cae
166893
One entry under <tt>`trunk/trunk/Scripts/Bash/Functions/Render/Config/'</tt>:
166893
166893

In order to produce different translated images using specific design

166893
templates, we need to specify the relation between translation files
166893
and design templates in a way that <tt>`centos-art.sh'</tt> could know
166893
exactly what translation file to apply to what design template. This
166893
relation between translation files and design templates is set using
166893
the matching list MATCHINGLIST variable inside the pre-rendition
166893
configuration script of the component we want to produce images for.  
166893

166893
trunk/Scripts/Bash/Functions/Render/Config/Identity/Path/To/Dir
166893
`-- render.conf.sh
166893
166893

In this configuration the pre-rendition configuration script

166893
(<tt>`render.conf.sh'</tt>) would look like the following:
166893

166893
function render_loadConfig {
166893
166893
    # Define rendition actions.
166893
    ACTIONS[0]='BASE:renderImage'
166893
166893
    # Define matching list.
166893
    MATCHINGLIST="\
166893
    paragraph.svg:\
166893
        01-welcome.sed\
166893
        02-donate.sed\
166893
        04-support.sed
166893
    list.svg:\
166893
        03-docs.sed
166893
    "
166893
166893
}
166893
166893

As result, <tt>`centos-art.sh'</tt> will produce <tt>`01-welcome.png'</tt>,

166893
<tt>`02-donate.png'</tt> and <tt>`04-support.png'</tt> using the
166893
paragraph-based design template, but <tt>`03-docs.png'</tt> using the
166893
list-based design template.
166893

4a9d2a
4a9d2a
fa7cae
166893
166893

3.54.1.4 Design template with translation (optimized+flexibility)

166893
166893

In the production models we've seen so far, there are design templates

166893
to produce untranslated images and translation files which combiend
166893
with design templates produce translated images. That may seems like
166893
all our needs are covered, doesn't it? Well, it almost does.
166893

166893

Generally, we use design templates to define how final images will

166893
look like. Generally, each renderable directory structure has one
166893
<tt>`Tpl/'</tt> directory where we organize design templates for that
166893
identity component. So, we can say that there is only one unique
166893
design template definition for each identity component; or what is the
166893
same, said differently, identity components can be produced in one way
166893
only, the way its own design template directory specifies.  This is
166893
not enough for theme production. It is a limitation, indeed.
166893

166893

Initially, to create one theme, we created one renderable directory

166893
structure for each theme component. When we found ourselves with many
166893
themes, and components inside them, it was obvious that the same
166893
design model was duplicated inside each theme. As design models were
166893
independently one another, if we changed one theme's design model,
166893
that change was useless to other themes. So, in order to reuse design
166893
model changes, we unified design models into one common directory
166893
structure.
166893

166893

With design models unified in a common structure, another problem rose

166893
up. As design models also had the visual style of theme components,
166893
there was no difference between themes, so there was no apparent need
166893
to have an independent theme directory structure for each different
166893
theme.  So, it was also needed to separate visual styles from design
166893
models.
166893

166893

At this point there are two independent worklines: one directory

166893
structure to store design models (the final image characteristics
166893
[i.e., dimensions, translation markers, etc.]) and one directory
166893
structure to store visual styles (the final image visual style [i.e.,
166893
the image look and feel]).  So, it is possible to handle both
166893
different design models and different visual styles independtly one
166893
another and later create combinations among them using
166893
<tt>`centos-art.sh'</tt>. 
166893

166893

For example, consider the following configuration:

166893

166893
166893
One entry under <tt>`trunk/Identity/Themes/Models/'</tt>:
166893
166893

The design model entry exists to organize design model files (similar

166893
to design templates). Both design models and design templates are very
166893
similar; they both should have the CENTOSARTWORK export id
166893
present to identify the exportation area, translation marks, etc.
166893
However, design models do use dynamic backgrounds inclusion while
166893
design templates don't.
166893

166893
                        THEMEMODEL | | The bond component
166893
                             |<----| |--------------------->|
166893
trunk/Identity/Themes/Models/Default/Distro/Anaconda/Progress/
166893
|-- paragraph.svg
166893
`-- list.svg
166893
166893

Inisde design models, dynamic backgrounds are required in order for

166893
different artistic motifs to reuse common design models. Firstly, in
166893
order to create dynamic backgrounds inside design models, we import a
166893
bitmap to cover design model's background and later, update design
166893
model's path information to replace fixed values to dynamic values.
166893

166893
166893
One entry under <tt>`trunk/Identity/Themes/Motifs/'</tt>:
166893
166893

The artistic motif entry defines the visual style we want to produce

166893
images for, only. Final images (i.e., those built from combining both
166893
design models and artistic motif backrounds) are not stored here, but
166893
under branches directory structure. In the artistic motif entry, we
166893
only define those images that cannot be produced automatically by
166893
<tt>`centos-art.sh'</tt> (e.g., Backgrounds, Color information,
166893
Screenshots, etc.).
166893

166893
                  Artistic motif name | | Artistic motif backgrounds
166893
                             |<-------| |-------->|
166893
trunk/Identity/Themes/Motifs/TreeFlower/Backgrounds/
166893
|-- Img
166893
|   |-- Png
166893
|   |   |-- 510x300.png
166893
|   |   `-- 510x300-final.png
166893
|   `-- Jpg
166893
|       |-- 510x300.jpg
166893
|       `-- 510x300-final.jpg
166893
|-- Tpl
166893
|   `-- 510x300.svg
166893
`-- Xcf
166893
    `-- 510x300.xcf
166893
166893
166893
One entry under <tt>`trunk/Translations/'</tt>:
166893
166893

The translation entry specifies, by means of translation files, the

166893
language-specific information we want to produce image for. When we
166893
create the translation entry we don't use the name of neither design
166893
model nor artistic motif, just the design model component we want to
166893
produce images for.
166893

166893
                                   | The bond component
166893
                                   |--------------------->|
166893
trunk/Translations/Identity/Themes/Distro/Anaconda/Progress/
166893
`-- 5
166893
    |-- en
166893
    |   |-- 01-welcome.sed
166893
    |   |-- 02-donate.sed
166893
    |   `-- 03-docs.sed
166893
    `-- es
166893
        |-- 01-welcome.sed
166893
        |-- 02-donate.sed
166893
        `-- 03-docs.sed
166893
166893
166893
One entry under <tt>`trunk/Scripts/Bash/Functions/Render/Config/'</tt>:
166893
166893

There is one pre-rendition configuration script for each theme

166893
component. So, each time a theme component is rendered, its
166893
pre-rendition configuration script is evaluated to teach
166893
<tt>`centos-art.sh'</tt> how to render the component.
166893

166893
trunk/Scripts/Bash/Functions/Render/Config/Identity/Themes/Distro/Anaconda/Progress/
166893
`-- render.conf.sh
166893
166893

In this configuration the pre-rendition configuration script

166893
(<tt>`render.conf.sh'</tt>) would look like the following:
166893

166893
function render_loadConfig {
166893
166893
    # Define rendition actions.
166893
    ACTIONS[0]='BASE:renderImage'
166893
166893
    # Define matching list.
166893
    MATCHINGLIST="\
166893
    paragraph.svg:\
166893
        01-welcome.sed\
166893
        02-donate.sed
166893
    list.svg:\
166893
        03-docs.sed
166893
        "
166893
166893
    # Deifne theme model.
166893
    THEMEMODEL='Default'
166893
166893
}
166893
166893
166893
166893

The production flow of "optimize+flexibility" configuration…

166893

166893
166893

3.54.2 Renderable translation directory structures

166893
166893

Translation directory structures are auxiliar structures of renderable

166893
identity directory structures. There is one translation directory
166893
structure for each renderable identity directory structure.  Inside
166893
translation directory structures we organize translation files used by
166893
renderable identity directory structures that produce translated
166893
images. Renderable identity directory structures that produce
166893
untranslated images don't use translation files, but they do use a
166893
translation directory structure, an empty translation directory
166893
structure, to be precise.
166893

166893

In order to aliviate production of translation file, we made

166893
translation directory structures renderable adding a template
166893
(<tt>`Tpl/'</tt>) directory structure to handle common content inside
166893
translation files.  This way, we work on translation templates and
166893
later use <tt>`centos-art.sh'</tt> to produce specific translation files
166893
(based on translation templates) for different information (e.g.,
166893
languages, release numbers, architectures, etc.).  
166893

166893

If for some reason, translation files get far from translation

166893
templates and translation templates become incovenient to produce such
166893
translation files then, care should be taken to avoid replacing the
166893
content of translation files with the content of translation templates
166893
when <tt>`centos-art.sh'</tt> is executed to produce translation files
166893
from translation templates.
166893

166893

Inside renderable translation directory structures,

166893
<tt>`centos-art.sh'</tt> can produce text-based files only.
166893

166893
166893
166893

3.54.3 Copying renderable directory structures

166893
166893

A renderable layout is formed by design models, design images,

166893
pre-rendition configuration scripts and translations files. This way,
166893
when we say to duplicate rendition stuff we are saying to duplicate
166893
these four directory structures (i.e., design models, design images,
166893
pre-rendition configuration scripts, and related translations files).
166893

166893

When we duplicate directories, inside `trunk/Identity' directory

166893
structure, we need to be aware of renderable layout described above
166893
and the source location used to perform the duplication action.  The
166893
source location is relevant to centos-art.sh script in order to
166893
determine the required auxiliar information inside directory
166893
structures that need to be copied too (otherwise we may end up with
166893
orphan directory structures unable to be rendered, due the absence of
166893
required information).
166893

166893

In order for a renderable directory structure to be valid, the new

166893
directory structure copied should match the following conditions:
166893

166893
    166893
  1. To have a unique directory structure under
  2. 166893
    <tt>`trunk/Identity'</tt>, organized by any one of the above
    166893
    organizational designs above.
    166893
    166893
  3. To have a unique directory structure under
  4. 166893
    <tt>`trunk/Translations'</tt> to store translation files.
    166893
    166893
  5. To have a unique directory structure under
  6. 166893
    <tt>`trunk/Scripts/Bash/Functions/Render/Config'</tt> to set pre-rendition
    166893
    configuration script.
    166893
    166893
    166893

    As convenction, the render_doCopy function uses

    166893
    <tt>`trunk/Identity'</tt> directory structure as source location.  Once
    166893
    the <tt>`trunk/Identity'</tt> directory structure has been specified and
    166893
    verified, the related path information is built from it and copied
    166893
    automatically to the new location specified by FLAG_TO variable.
    166893

    166893

    Design templates + No translation:

    166893

    166893

    Command:

    166893
    - centos-art render -copy=trunk/Identity/Path/To/Dir -to=trunk/Identity/NewPath/To/Dir
    166893

    166893

    Sources:

    166893
    - trunk/Identity/Path/To/Dir
    166893
    - trunk/Translations/Identity/Path/To/Dir
    166893
    - trunk/Scripts/Bash/Functions/Render/Config/Identity/Path/To/Dir
    166893

    166893

    Targets:

    166893
    - trunk/Identity/NewPath/To/Dir
    166893
    - trunk/Translations/Identity/NewPath/To/Dir
    166893
    - trunk/Scripts/Bash/Functions/Render/Config/Identity/NewPath/To/Dir
    166893

    166893

    Renderable layout 2:

    166893

    166893

    Command:

    166893
    - centos-art render -copy=trunk/Identity/Themes/Motifs/TreeFlower \
    166893
                        -to=trunk/Identity/Themes/Motifs/NewPath/To/Dir
    166893

    166893

    Sources:

    166893
    - trunk/Identity/Themes/Motifs/TreeFlower
    166893
    - trunk/Translations/Identity/Themes
    166893
    - trunk/Translations/Identity/Themes/Motifs/TreeFlower
    166893
    - trunk/Scripts/Bash/Functions/Render/Config/Identity/Themes
    166893
    - trunk/Scripts/Bash/Functions/Render/Config/Identity/Themes/Motifs/TreeFlower
    166893

    166893

    Targets:

    166893
    - trunk/Identity/Themes/Motifs/NewPath/To/Dir
    166893
    - trunk/Translations/Identity/Themes
    166893
    - trunk/Translations/Identity/Themes/Motifs/NewPath/To/Dir
    166893
    - trunk/Scripts/Bash/Functions/Render/Config/Identity/Themes
    166893
    - trunk/Scripts/Bash/Functions/Render/Config/Identity/Themes/Motifs/NewPath/To/Dir
    166893

    166893

    Notice that design models are not included in source or target

    166893
    locations. This is intentional. In "Renderable layout 2", design
    166893
    models live by their own, they just exist, they are there, available
    166893
    for any artistic motif to use. By default `Themes/Models/Default'
    166893
    design model directory structure is used, but other design models
    166893
    directory structures (under Themes/Models/) can be created and used
    166893
    changing the value of THEMEMODEL variable inside the pre-rendition
    166893
    configuration script of the artistic motif source location you want to
    166893
    produce.
    166893

    166893

    Notice how translations and pre-rendition configuration scripts may

    166893
    both be equal in source and target. This is because such structures
    166893
    are common to all artistic motifs (the default values to use when no
    166893
    specific values are provided).
    166893

    166893

    - The common directory structures are not copied or deleted. We cannot

    166893
      copy a directory structure to itself.
    166893

    166893

    - The common directory structures represent the default value to use

    166893
      when no specific translations and/or pre-rendition configuration
    166893
      script are provided inside source location.
    166893

    166893

    - The specific directory structures, if present, are both copiable and

    166893
      removable. This is, when you perform a copy or delete action from
    166893
      source, that source specific auxiliar directories are transfered in
    166893
      the copy action to a new location (that specified by FLAG_TO
    166893
      variable).
    166893

    166893

    - When translations and/or pre-rendition configuration scripts are

    166893
      found inside the source directory structure, the centos-art.sh
    166893
      script loads common auxiliar directories first and later specific
    166893
      auxiliar directories.  This way, identity rendition of source
    166893
      locations can be customized idividually over the base of common
    166893
      default values.
    166893

    166893

    - The specific auxiliar directories are optional.

    166893

    166893

    - The common auxiliar directories should be present always. This is,

    166893
      in order to provide the information required by render functionality
    166893
      (i.e., to make it functional in the more basic level of its
    166893
      existence).
    166893

    166893

    Notice how the duplication process is done from `trunk/Identity' on,

    166893
    not the oposite. If you try to duplicate a translation structure (or
    166893
    similar auxiliar directory structures like pre-rendition configuration
    166893
    scripts), the `trunk/Identity' for that translation is not created.
    166893
    This limitation is impossed by the fact that many `trunk/Identity'
    166893
    directory structures may reuse/share the same translation directory
    166893
    structure. We cannot delete one translation (or similar) directory
    166893
    structures while a related `trunk/Identity/' directory structure is
    166893
    still in need of it.
    166893

    166893

    The `render_doCopy' functionality does duplicate directory structures

    166893
    directly involved in rendition process only. Once such directories
    166893
    have been duplicated, the functionality stops thereat. 
    166893

    166893
    166893
    166893

    3.54.4 Usage

    166893
    166893
      166893
    • ...
    • 166893
      166893
      166893
      166893
      166893

      3.54.5 See also

      300762
      ec5f63
      166893
      3.55 trunk/Scripts/Bash/Functions/Render/Config  
      ec5f63
      ec5f63
      ec5f63
      300762
      300762
      166893
      [ < ]
      166893
      [ > ]
      300762
         
      300762
      [ << ]
      166893
      [ Up ]
      166893
      [ >> ]
      300762
      4c79b5

      4c79b5
       <font size="-1">
      acd47b
        This document was generated on February, 26 2011 using texi2html 1.76.
      4c79b5
       </font>
      4c79b5
       
      4c79b5
      4c79b5

      4c79b5
      </body>
      4c79b5
      </html>