Blame Manual/repository-html/repository_62.html

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

2.58 The <tt>`trunk/Scripts/Bash/Cli/Functions/Render'</tt> Directory

f66721
671838

The render functionality exists to produce both identity and

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

671838

The render functionality relies on "renderable directory

671838
structures" to produce files. Renderable directory structures can be
671838
either "identity directory structures" or "translation directory
671838
structures" with special directories inside.
063806

063806
063806
671838

2.58.1 Renderable identity directory structures

671838
671838

Renderable identity directory structures are the starting point of

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

671838

Inside the working copy, one renderable identity directory structures

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

671838

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

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

671838

Inside renderable identity directory structures, content production is

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

063806
063806
671838

2.58.1.1 Design template without translation

671838
671838

The design template without translation configuration is based on a

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

671838

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

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

671838
671838
One renderable identity directory structure:
671838
671838

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

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

671838

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

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

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

Inside design template directory, design template files are based on

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

671838

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

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

671838

The CENTOSARTWORK word itself is a convenction name we use to

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

671838
info

Note

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

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

b9dbd3
671838

When a renderable identity directory structure is configured to

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

671838

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

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

671838

See section The <tt>`trunk/Identity'</tt> Directory, for more information.

671838

671838
671838
One translation directory structure:
671838
671838

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

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

671838

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

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

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

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

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

671838

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

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

671838

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

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

671838

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

010b2d

671838
671838
One pre-rendition configuration script:
671838
671838

In order to make an identity directory structure renderable, a

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

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

In this configuration the pre-rendition configuration script

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

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

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

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

671838

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

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

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

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

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

671838

-- Removed(xref:trunk Scripts Bash Functions Render Config) --, for more

671838
information.
671838

671838
671838
063806
063806
671838

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

671838
671838

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

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

671838

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

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

671838

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

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

671838

The pre-rendition configuration script used to produce untranslated

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

671838
info

Note

If we use no translation file in the translation entry

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

b130a0
671838

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

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

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

2.58.1.3 Design template with translation (optimized)

671838
671838

Producing translated images satisfies almost all our production images

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

671838

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

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

671838

The MATCHINGLIST variable is set in the pre-rendition

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

671838

For example, consider the following configuration:

671838

671838
671838
One entry under <tt>`trunk/Identity/'</tt>:
671838
671838

In this configuration we want to produce three images using a

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

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

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

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

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

In order to produce different translated images using specific design

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

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

In this configuration the pre-rendition configuration script

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

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

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

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

671838
010b2d
063806
671838
671838

2.58.1.4 Design template with translation (optimized+flexibility)

671838
671838

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

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

671838

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

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

671838

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

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

671838

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

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

671838

At this point there are two independent worklines: one directory

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

671838

For example, consider the following configuration:

671838

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

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

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

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

Inisde design models, dynamic backgrounds are required in order for

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

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

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

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

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

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

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

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

There is one pre-rendition configuration script for each theme

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

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

In this configuration the pre-rendition configuration script

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

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

The production flow of "optimize+flexibility" configuration…

671838

671838
671838

2.58.2 Renderable translation directory structures

671838
671838

Translation directory structures are auxiliar structures of renderable

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

671838

In order to aliviate production of translation file, we made

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

671838

If for some reason, translation files get far from translation

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

671838

Inside renderable translation directory structures,

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

671838
671838
671838

2.58.3 Copying renderable directory structures

671838
671838

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

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

671838

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

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

671838

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

671838
directory structure copied should match the following conditions:
671838

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

    As convenction, the render_doCopy function uses

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

    671838

    Design templates + No translation:

    671838

    671838

    Command:

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

    671838

    Sources:

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

    671838

    Targets:

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

    671838

    Renderable layout 2:

    671838

    671838

    Command:

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

    671838

    Sources:

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

    671838

    Targets:

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

    671838

    Notice that design models are not included in source or target

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

    671838

    Notice how translations and pre-rendition configuration scripts may

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

    671838

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

    671838
      copy a directory structure to itself.
    671838

    671838

    - The common directory structures represent the default value to use

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

    671838

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

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

    671838

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

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

    671838

    - The specific auxiliar directories are optional.

    671838

    671838

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

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

    671838

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

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

    671838

    The `render_doCopy' functionality does duplicate directory structures

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

    063806
    063806
    671838

    2.58.4 Usage

    671838
    671838
      671838
    • ...
    • 671838
      671838
      671838
      671838
      671838

      2.58.5 See also

      ee1f37
      ee1f37
      ee1f37
      ee1f37
      671838
      [ < ]
      671838
      [ > ]
      ee1f37
         
      671838
      [ << ]
      671838
      [ Up ]
      671838
      [ >> ]
      ee1f37
      ee1f37

      ee1f37
       <font size="-1">
      406f69
        This document was generated on March, 1 2011 using texi2html 1.76.
      ee1f37
       </font>
      ee1f37
       
      ee1f37
      ee1f37

      ee1f37
      </body>
      ee1f37
      </html>