|
|
051477 |
The CentOS Artwork Repository started during a discussion about how to
|
|
|
051477 |
automate the slide images of Anaconda, at CentOS Developers mailing
|
|
|
051477 |
list (@email{centos-devel@@centos.org}) around 2008. In such
|
|
|
051477 |
discussion, Ralph Angenendt rose up his hand to ask ---Do you have
|
|
|
051477 |
something to show?---.
|
|
|
051477 |
|
|
|
051477 |
To answer the question, I suggested a bash script which combined SVG
|
|
|
051477 |
and SED files in order to produce PNG images in different languages
|
|
|
051477 |
---in conjunction with the proposition of creating a Subversion
|
|
|
051477 |
repository where translations and image production could be
|
|
|
b32b45 |
distributed inside The CentOS Community---.
|
|
|
051477 |
|
|
|
b32b45 |
Karanbirn Sighn considered the idea intresting and provided the
|
|
|
051477 |
infrastructure necessary to support the effort. This way the CentOS
|
|
|
b32b45 |
Artwork SIG (@url{https://projects.centos.org/trac/artwork/}) and the
|
|
|
b32b45 |
CentOS Artwork Repository
|
|
|
b32b45 |
(@url{https://projects.centos.org/svn/artwork/}) were officially
|
|
|
b32b45 |
created.
|
|
|
051477 |
|
|
|
051477 |
Once the CentOS Artwork Repository was available, I uploaded the bash
|
|
|
051477 |
script for rendering Anaconda slides; Ralph Angenendt documented it
|
|
|
051477 |
very well; and people started to download working copies of CentOS
|
|
|
051477 |
Artwork Repository to produce slide images in their own languages.
|
|
|
051477 |
|
|
|
051477 |
Around 2009, the rendition script was at a very rustic state where
|
|
|
051477 |
only slide images could be produced, so it was redesigned to extend
|
|
|
051477 |
the image production to other areas, different from slide images. In
|
|
|
051477 |
this configuration, one SVG file was used as input to produce a
|
|
|
051477 |
translated instance of it which, in turn, was used to produce one
|
|
|
051477 |
translated PNG image as output. The SVG translated instance was
|
|
|
051477 |
created through SED replacement commands. The translated PNG image was
|
|
|
051477 |
created from the SVG translated instance using Inkscape command-line
|
|
|
051477 |
interface.
|
|
|
051477 |
|
|
|
b32b45 |
The repository directory structure was prepared to receive the
|
|
|
b32b45 |
rendition script using design templates and translation files in the
|
|
|
051477 |
same location. There was one directory structure for each artwork that
|
|
|
051477 |
needed to be produced. In this configuration, if you would want to
|
|
|
051477 |
produce the same artwork with a different visual style or structure,
|
|
|
051477 |
it was needed to create a new directory structure for it because both
|
|
|
051477 |
the image structure and the image visual style were together in the
|
|
|
051477 |
design template.
|
|
|
051477 |
|
|
|
b32b45 |
The rendition script was moved to a common place and linked from
|
|
|
b32b45 |
different directory structures. There was no need to have the same
|
|
|
b32b45 |
code in different directory structures if it could be in just one
|
|
|
b32b45 |
place and then be linked from different locations.
|
|
|
051477 |
|
|
|
051477 |
Corporate identity concepts began to be considered. As referece, it
|
|
|
051477 |
was used the book ``Corporate Identity'' by Wally Olins (1989) and
|
|
|
051477 |
Wikipedia related links (e.g.,
|
|
|
051477 |
@url{http://en.wikipedia.org/Corporate_identity}). This way, the
|
|
|
051477 |
rendition script main's goal becomes into: automate production of a
|
|
|
b32b45 |
monolithic corporate visual identity structure, based on the mission
|
|
|
b32b45 |
and the release schema of The CentOS Project.
|
|
|
051477 |
|
|
|
051477 |
The repository directory structures began to be documented by mean of
|
|
|
051477 |
flat text files. Later, documentation in flat text files was moved
|
|
|
051477 |
onto LaTeX format and this way the ``The CentOS Artwork Repository''
|
|
|
051477 |
documentation manual is initiated.
|
|
|
051477 |
|
|
|
051477 |
Around 2010, the rendition script changed its name from
|
|
|
051477 |
@command{render.sh} to @command{centos-art.sh} and became a collection
|
|
|
051477 |
of functionalities where rendition was just one among others (e.g.,
|
|
|
051477 |
documenting and localizing).
|
|
|
051477 |
|
|
|
0f7ec9 |
The @command{centos-art.sh} was initialy conceived to automate
|
|
|
0f7ec9 |
frequent tasks inside the repository based in the idea of Unix
|
|
|
0f7ec9 |
toolbox: @emph{to create small and specialized tools that do one thing
|
|
|
0f7ec9 |
well}. This way, functionalities inside @command{centos-art.sh} began
|
|
|
0f7ec9 |
to be identified and separated one another. For example, when images
|
|
|
0f7ec9 |
were rendered, there was no need to load functionalities related to
|
|
|
0f7ec9 |
documentation manual. This layout moved us onto ``common
|
|
|
0f7ec9 |
functionalities'' and ``specific functionalities'' inside
|
|
|
0f7ec9 |
@command{centos-art.sh} script. Common functionalities are loaded when
|
|
|
0f7ec9 |
@command{centos-art.sh} script is initiated and are available to
|
|
|
0f7ec9 |
specific functionalities.
|
|
|
051477 |
|
|
|
4fb317 |
Suddenly, no need was found to keep all the links spreaded around the
|
|
|
4fb317 |
repository which refer to @command{centos-art.sh} script. The
|
|
|
4fb317 |
@command{centos-art} command-line interface is used instead. The
|
|
|
4fb317 |
@command{centos-art} command-line interface is a symbolic link stored
|
|
|
4fb317 |
inside the @file{~/bin} directory pointing the @command{centos-art.sh}
|
|
|
4fb317 |
script. Inside The CentOS Distribution, the @file{~/bin} path is set
|
|
|
4fb317 |
in the @env{PATH} environment variable which is read by the shell to
|
|
|
4fb317 |
know where executable files are stored in; and this way let us to
|
|
|
4fb317 |
execute the @command{centos-art.sh} script from virtually anywhere
|
|
|
4fb317 |
inside the workstation.
|
|
|
051477 |
|
|
|
4fb317 |
Option parsing needs inside the @command{centos-art.sh} script became
|
|
|
4fb317 |
too complicated for the current implementation of parsing positional
|
|
|
4fb317 |
parameters passed from the command-line. The GNU @command{getopt}
|
|
|
4fb317 |
option parser was considered and configured inside
|
|
|
4fb317 |
@command{centos-art.sh} script as default option parser.
|
|
|
b32b45 |
|
|
|
b32b45 |
The repository directory structure was updated to improve the
|
|
|
051477 |
implementation of corporate visual identity concepts. Specially in
|
|
|
051477 |
the area related to themes. Having both structure and style in the
|
|
|
051477 |
same file introduced content duplication when producing art works.
|
|
|
051477 |
Because of this reason, they were divided out to separate directory
|
|
|
051477 |
structures: the design models and artistic motifs directory
|
|
|
051477 |
structures. From this point on, the @command{centos-art.sh} is able
|
|
|
051477 |
to produce themes as result of arbitrary combinations between design
|
|
|
051477 |
models (structures) and artistic motifs (visual styles).
|
|
|
051477 |
|
|
|
051477 |
In the documentation area, the documents in LaTeX format were migrated
|
|
|
051477 |
to Texinfo format. In this configuration, each directory structure in
|
|
|
051477 |
the repository has a documentation entry associated in a Texinfo
|
|
|
051477 |
structure which can be read, edited and administered (e.g., renamed,
|
|
|
051477 |
deleted and copied) interactively through @command{centos-art.sh}
|
|
|
051477 |
script. Additionally, the @command{texi2html} program was used to
|
|
|
051477 |
produced customized XHTML output in conjunction with CSS from The
|
|
|
051477 |
CentOS Webenv.
|
|
|
051477 |
|
|
|
051477 |
Around 2011, the @command{centos-art.sh} script was redesigned to
|
|
|
051477 |
start translating XML-based files (e.g., SVG and Docbook files)
|
|
|
051477 |
through @command{xml2po} program and shell scripts (e.g., Bash
|
|
|
051477 |
scripts) through GNU @command{gettext} tools. This configuration
|
|
|
051477 |
provided a stronger localization interface for graphic designers,
|
|
|
051477 |
translators and programmers. The SED replacement files are no longer
|
|
|
051477 |
used to handle localization.
|
|
|
051477 |
|
|
|
051477 |
The @code{render}, @code{help} and @code{locale} functionalities were
|
|
|
051477 |
consolidated as the most frequent tasks performed inside the
|
|
|
b32b45 |
repository. Additionally, the @code{prepare} and @code{tuneup}
|
|
|
051477 |
functionalities are also maintained as useful tasks.
|
|
|
051477 |
|
|
|
051477 |
In the documentation area, support for producing localized
|
|
|
11ac36 |
transformations of DocBook XML DTD instances was added through the
|
|
|
11ac36 |
@code{render} and @code{locale} functionalities. The @code{render}
|
|
|
11ac36 |
functionality uses the @command{xsltproc} command-line XSLT parser in
|
|
|
11ac36 |
conjunction with the styles provided by the @file{docbook-style-xsl}
|
|
|
11ac36 |
package, both of them included inside The CentOS Distribution. The
|
|
|
11ac36 |
@code{locale} functionality creates the localized @acronym{PO,Portable
|
|
|
11ac36 |
Objects} the @code{render} functionality needs to produce localized
|
|
|
61d6ff |
transformations of DocBook XML DTD instances.
|