Blame Manuals/Repository/repository-html/repository_56.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
-->
bf28e1
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>
1023f4
<title>CentOS Artwork Repository: 3.53 trunk/Scripts/Bash/Functions/Render</title>
4c79b5
1023f4
<meta name="description" content="CentOS Artwork Repository: 3.53 trunk/Scripts/Bash/Functions/Render">
1023f4
<meta name="keywords" content="CentOS Artwork Repository: 3.53 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
4c79b5
1023f4
[ < ]
1023f4
[ > ]
4c79b5
   
300762
[ << ]
300762
[ Up ]
1023f4
[ >> ]
4c79b5
   
4c79b5
   
4c79b5
   
4c79b5
   
4c79b5
[Top]
4c79b5
[Contents]
1023f4
[Index]
4c79b5
[ ? ]
4c79b5
1023f4
1023f4
1023f4

3.53 trunk/Scripts/Bash/Functions/Render

42563b
1023f4

The render functionality exists to produce both identity and

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

1023f4

The render functionality relies on "renderable directory

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

42563b
1023f4
1023f4

3.53.1 Renderable identity directory structures

42563b
1023f4

Renderable identity directory structures are the starting point of

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

1023f4

Inside the working copy, one renderable identity directory structures

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

1023f4

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

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

1023f4

Inside renderable identity directory structures, content production is

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

70ef27
1023f4
1023f4

3.53.1.1 Design template without translation

42563b
1023f4

The design template without translation configuration is based on a

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

1023f4

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

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

1023f4
1023f4
One renderable identity directory structure:
1023f4
1023f4

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

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

1023f4

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

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

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

Inside design template directory, design template files are based on

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

1023f4

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

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

1023f4

The CENTOSARTWORK word itself is a convenction name we use to

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

1023f4
info

Note

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

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

42563b
1023f4

When a renderable identity directory structure is configured to

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

1023f4

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

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

1023f4

See section trunk/Identity, for more information.

1023f4

1023f4
1023f4
One translation directory structure:
1023f4
1023f4

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

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

1023f4

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

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

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

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

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

1023f4

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

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

1023f4

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

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

1023f4

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

1023f4

1023f4
1023f4
One pre-rendition configuration script:
1023f4
1023f4

In order to make an identity directory structure renderable, a

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

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

In this configuration the pre-rendition configuration script

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

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

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

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

1023f4

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

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

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

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

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

1023f4

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

1023f4
information.
1023f4

1023f4
1023f4
1023f4
1023f4
1023f4

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

1023f4
1023f4

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

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

1023f4

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

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

1023f4

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

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

1023f4

The pre-rendition configuration script used to produce untranslated

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

1023f4
info

Note

If we use no translation file in the translation entry

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

1023f4
1023f4

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

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

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

3.53.1.3 Design template with translation (optimized)

1023f4
1023f4

Producing translated images satisfies almost all our production images

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

1023f4

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

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

1023f4

The MATCHINGLIST variable is set in the pre-rendition

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

1023f4

For example, consider the following configuration:

1023f4

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

In this configuration we want to produce three images using a

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

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

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

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

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

In order to produce different translated images using specific design

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

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

In this configuration the pre-rendition configuration script

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

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

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

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

1023f4
1023f4
1023f4
1023f4
1023f4

3.53.1.4 Design template with translation (optimized+flexibility)

1023f4
1023f4

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

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

1023f4

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

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

1023f4

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

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

1023f4

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

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

1023f4

At this point there are two independent worklines: one directory

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

1023f4

For example, consider the following configuration:

1023f4

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

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

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

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

Inisde design models, dynamic backgrounds are required in order for

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

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

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

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

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

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

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

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

There is one pre-rendition configuration script for each theme

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

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

In this configuration the pre-rendition configuration script

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

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

The production flow of "optimize+flexibility" configuration…

1023f4

1023f4
1023f4

3.53.2 Renderable translation directory structures

1023f4
1023f4

Translation directory structures are auxiliar structures of renderable

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

1023f4

In order to aliviate production of translation file, we made

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

1023f4

If for some reason, translation files get far from translation

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

1023f4

Inside renderable translation directory structures,

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

1023f4
1023f4
1023f4

3.53.3 Copying renderable directory structures

1023f4
1023f4

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

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

1023f4

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

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

1023f4

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

1023f4
directory structure copied should match the following conditions:
1023f4

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

    As convenction, the render_doCopy function uses

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

    1023f4

    Design templates + No translation:

    1023f4

    1023f4

    Command:

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

    1023f4

    Sources:

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

    1023f4

    Targets:

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

    1023f4

    Renderable layout 2:

    1023f4

    1023f4

    Command:

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

    1023f4

    Sources:

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

    1023f4

    Targets:

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

    1023f4

    Notice that design models are not included in source or target

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

    1023f4

    Notice how translations and pre-rendition configuration scripts may

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

    1023f4

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

    1023f4
      copy a directory structure to itself.
    1023f4

    1023f4

    - The common directory structures represent the default value to use

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

    1023f4

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

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

    1023f4

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

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

    1023f4

    - The specific auxiliar directories are optional.

    1023f4

    1023f4

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

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

    1023f4

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

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

    1023f4

    The `render_doCopy' functionality does duplicate directory structures

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

    7e35dc
    1023f4
    1023f4

    3.53.4 Usage

    6a8116
    70ef27
      70ef27
    • ...
    • 70ef27
      c12cdc
      42563b
      1023f4
      1023f4

      3.53.5 See also

      300762
      1023f4
      1023f4
      3.54 trunk/Scripts/Bash/Functions/Render/Config  
      1023f4
      1023f4
      4c79b5
      4c79b5
      4c79b5
      1023f4
      [ < ]
      1023f4
      [ > ]
      4c79b5
         
      300762
      [ << ]
      1023f4
      [ Up ]
      1023f4
      [ >> ]
      4c79b5
      4c79b5

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

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