<section id="repo-convs-directories">
<title>Repository Directory Structure</title>
<para>
This section describes the directory structure of &TCAR;. You
can use this section as reference to know where the files you
are looking at are stored in and where you can store new
files, as well. This section organizes directories'
description using the same hierarchy the repository has. This
section begins describing the first level of directories in
the repository and continues with each relevant sub-directory
in the hierarchy, one by one.
</para>
<para>
The directory structure this section describes is based on the
document <quote><emphasis>&TCAR; Directory
Structure</emphasis>,</quote> available at:
<filename>Documentation/Models/Svg/Repository/directory-structure.svgz</filename>
</para>
<section id="repo-convs-directories-artworks">
<title>The <filename class="directory">Artworks</filename> Directory</title>
<para>
This directory contains the files used to produce the
corporate visual identity of &TCP;. The information in this
directory is organized in Brushes, Gradients, Fonts, Images,
Models, Palettes, Patterns and Webenv directories.
</para>
<variablelist>
<varlistentry>
<term><filename class="directory">Artworks/Brushes/</filename></term>
<listitem>
<para>
This directory contains GIMP brushes. Brushes stored in this
directory will be available inside GIMP's brushes dialog.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Patterns/</filename></term>
<listitem>
<para>
This directory contains GIMP patterns. Patterns stored in this
directory will be available inside GIMP's patterns dialog.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Gradients/</filename></term>
<listitem>
<para>
This directory contains GIMP gradients. Gradients stored in
this directory will be available inside GIMP's gradients
dialog.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Fonts/</filename></term>
<listitem>
<para>
This directory contains font files. Font files stored in this
directory will be available to be used from applications like
GIMP and Inkscape.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Images/</filename></term>
<listitem>
<para>
This directory contains final images. The directory structure
used to organize files here is rather similar to that used in
<filename class="directory">Artworks/Models/</filename>
directory structure.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Images/Themes/</filename></term>
<listitem>
<para>
This directory contains image files rendered from design
models that use theme background images. In this location you
can also find design models used to create the background
images, too.
</para>
<caution>
<para>
Design models used to build themes' background images must not
be moved to <filename
class="directory">Artworks/Models/Themes/</filename> directory
structure. Design models used to build themes' background
images are theme-specific, so they must be inside <filename
class="directory">Artworks/Images/Themes/</filename> directory
structure.
</para>
</caution>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Images/Themes/${THEME_NAME}/</filename></term>
<listitem>
<para>
This directory contains theme directory structure
organized in version number. Here, ${THEME_NAME} is a
string of letters representing the name of the theme. In
this string, all letters are written in lowercase except
the first one which must be written in uppercase.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Images/Themes/${THEME_NAME}/${THEME_VERSION}/</filename></term>
<listitem>
<para>
This directory contains the theme directory structure
organized in theme components. Here, ${THEME_VERSION} is a
string with the form M.N, where M and N are integer
numbers from 0 to 9. M is required and .N is optional.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Images/Themes/${THEME_NAME}/${THEME_VERSION}/Backgrounds/</filename></term>
<listitem>
<para>
This directory contains theme-specific background images
and design models used to build them. This directory is a
key component of theme concept. It provides background
images to different sizes which are use on different theme
components, as defined by theme design models stored at
<filename
class="directory">Artworks/Models/Themes</filename>
directory.
</para>
<table id="repo-convs-directories-tb1">
<title>Theme-specific background files</title>
<tgroup cols='2' align='left' colsep='1' rowsep='1'>
<thead>
<row>
<entry>Images/</entry>
<entry>Models/</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><filename>160x600-final.png</filename>, <filename>160x600-final.jpg</filename></entry>
<entry><filename>160x600-final.svgz</filename>,
<filename>160x600-final.xcf</filename></entry>
<entry>Graphic design at 160x600 pixels, used to
produce the left-side bar of <quote>Firstboot</quote>
theme component.</entry>
</row>
<row>
<entry><filename>200x150-final.png</filename>, <filename>200x150-final.jpg</filename></entry>
<entry><filename>200x150-final.svgz</filename>, <filename>200x150-final.xcf</filename></entry>
<entry>Graphic design at 200x150 pixels, used to produce
the screenshot of both
<quote>Gdm</quote> and <quote>Kdm</quote> theme
components.
</entry>
</row>
<row>
<entry><filename>400x300-final.png</filename>, <filename>400x300-final.jpg</filename></entry>
<entry><filename>400x300-final.svgz</filename>, <filename>400x300-final.xcf</filename></entry>
<entry>Graphic design at 400x300 pixels, used to
produce the splash component of both
<quote>Gnome</quote> and <quote>Kde</quote> theme
components.</entry>
</row>
<row>
<entry><filename>490x200-final.png</filename>, <filename>490x200-final.jpg</filename></entry>
<entry><filename>490x200-final.svgz</filename>, <filename>490x200-final.xcf</filename></entry>
<entry>Graphic design at 490x200 pixels, used to
produce the splash image of <quote>Anaconda</quote>
theme component.</entry>
</row>
<row>
<entry><filename>510x300-final.png</filename>, <filename>510x300-final.jpg</filename></entry>
<entry><filename>510x300-final.svgz</filename>, <filename>510x300-final.xcf</filename></entry>
<entry>Graphic design at 510x300 pixels, used to
produce the slide images of <quote>Anaconda</quote> theme component.</entry>
</row>
<row>
<entry><filename>640x300-final.png</filename>, <filename>640x300-final.jpg</filename></entry>
<entry><filename>640x300-final.svgz</filename>, <filename>640x300-final.xcf</filename></entry>
<entry>Graphic design at 640x300 pixels, used to
produce the splash image of <quote>Syslinux</quote>
theme component.</entry>
</row>
<row>
<entry><filename>640x480-final.png</filename>, <filename>640x480-final.jpg</filename></entry>
<entry><filename>640x480-final.svgz</filename>, <filename>640x480-final.xcf</filename></entry>
<entry>Graphic design at 640x480 pixels, used to
produce the splash image of <quote>Grub</quote> theme
component.</entry>
</row>
<row>
<entry><filename>744x1052-final.png</filename>, <filename>744x1052-final.jpg</filename></entry>
<entry><filename>744x1052-final.svgz</filename>, <filename>744x1052-final.xcf</filename></entry>
<entry>Graphic design at 744x1052 pixels, used to
produce the <quote>Posters</quote> theme components.</entry>
</row>
<row>
<entry><filename>800x600-final.png</filename>, <filename>800x600-final.jpg</filename></entry>
<entry><filename>800x600-final.svgz</filename>, <filename>800x600-final.xcf</filename></entry>
<entry>Graphic design at 800x600 pixels, used to
produce the <quote>Concept</quote> theme component.</entry>
</row>
<row>
<entry><filename>800x88-final.png</filename>, <filename>800x88-final.jpg</filename></entry>
<entry><filename>800x88-final.svgz</filename>, <filename>800x88-final.xcf</filename></entry>
<entry>Graphic design at 800x88 pixels, used to
produce the heading image of <quote>Anaconda</quote>
theme component.</entry>
</row>
</tbody>
</tgroup>
</table>
<para>
Besides background files described in <xref
linkend="repo-convs-directories-tb1" />, you'll also find
background files for specific screen resolutions. The
number of files you find here may vary depending the
screen resolutions demanded by &TCD; at <filename
class="directory">/usr/share/backgrounds/</filename>.
Resolution-specific background files follow the same name
convention described in the table above but change the
resolution numbers to show the screen resolution they
represent (e.g., <filename>1360x768-final.png</filename>
for 1360x768 screen resolutions.).
</para>
<para>
The word <quote>-final</quote> is used on background files
to mark them as ready for applying. When you design
background images, you might need to create intermediate
images so as to reach desired effects by combining them
into a final one. Such intermediate images do not use the
word <quote>-final</quote>. Only the result of all your
combinations and tests must have the word
<quote>-final</quote> on its name.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Images/Themes/${THEME_NAME}/${THEME_VERSION}/Backgrounds/Images/</filename></term>
<listitem>
<para>
This directory contains theme-specific background images,
mostly in PNG and JPG formats. The files in this
directory are used by <command>centos-art.sh</command>
script to produce theme components. The relation between
image files and theme component is described in <xref
linkend="repo-convs-directories-tb1" />.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Images/Themes/${THEME_NAME}/${THEME_VERSION}/Backgrounds/Models/</filename></term>
<listitem>
<para>
This directory contains theme-specific background design
models, mostly in SVGZ and XCF formats. The files in this
directory are used to produce theme-specific background
images, only.
</para>
<para>
Design models in this directory must not be confused with
design models stored in <filename
class="directory">Artworks/Models/Theme/</filename>
directory. Design models stored in this directory are
theme-specific while design models stored in <filename
class="directory">Artworks/Models/Theme/</filename> are
common to all themes.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Images/Themes/${THEME_NAME}/${THEME_VERSION}/Concept/</filename></term>
<listitem>
<para>
This directory contains theme-specific conceptual ideas.
The images in this directory can be used to present the
theme's artistic motif in the community. These images
include can include theme name, theme version, theme
author, theme license, theme copyright and similar
information.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Images/Themes/${THEME_NAME}/${THEME_VERSION}/Distro/</filename></term>
<listitem>
<para>
This directory contains theme-specific images for each
component of &TCD;. In this location, images are organized
in distribution major release, distribution component and
language, if the current locale is different from English
language.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Images/Themes/${THEME_NAME}/${THEME_VERSION}/Gradients/</filename></term>
<listitem>
<para>
This directory contains theme-specific GIMP gradients.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Images/Themes/${THEME_NAME}/${THEME_VERSION}/Palettes/</filename></term>
<listitem>
<para>
This directory contains theme-specific GIMP palettes.
The centos-art.sh script uses theme-specific palettes to produce indexed
images with reduced number of colors used by specific
theme components, like <quote>Syslinux</quote> and
<quote>Grub</quote>. These components have specific color
requirements which we must comply with.
</para>
<para>
<xref linkend="repo-convs-directories-tb2" />, describes
the palettes files used inside themes and the number of
colors they require.
</para>
<table id="repo-convs-directories-tb2">
<title>Theme-specific palette files</title>
<tgroup cols='2' align='left' colsep='1' rowsep='1'>
<thead>
<row>
<entry>File</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><filename>syslinux.gpl</filename></entry>
<entry>
This palette is used to produce Syslinux final image.
This palette must be created to hold 16 colors using GIMP's
palette format. Inside the palette file, the color
information is organized in an index that begins at 0
and ends at 15. In this index, the color information
set at position 0 must be the background color used in
the image (e.g., the darkest color in the list) and
the color information set at position 7 must be the
foreground color used in the image (e.g., the lightest
color in the list).
</entry>
</row>
<row>
<entry><filename>grub.gpl</filename></entry>
<entry>This palette is used to produce Grub final image.
This palette must be created to hold 14 colors using
GIMP's palette format. Inside the palette file, color
information can be set in any order.</entry>
</row>
</tbody>
</tgroup>
</table>
<tip>
<para>
To produce optimum palettes of colors, open with GIMP the
full-colored PNG image you need to reduce colors to and
reduce colors using GIMP's indexing tool at
<guimenuitem>Mode</guimenuitem> →
<guimenuitem>Indexed...</guimenuitem> from
<guimenu>Image</guimenu> menu. Later, you import the set
of colors into a new palette using the GIMP palettes
editor and save it here. This way, you can grantee
<command>centos-art.sh</command> script will use the
correct color information when it produces images with
reduced colors for theme-specific components.
</para>
</tip>
<caution>
<para>
When you create theme-specific palettes, it is necessary
that you fill the comment field of palette file using the
related color information in hexadecimal format.
Otherwise, centos-art.sh script won't be able to realize
image conversion from PNG to LSS format.
</para>
</caution>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Images/Themes/${THEME_NAME}/${THEME_VERSION}/Patterns/</filename></term>
<listitem>
<para>
This directory contains theme-specific GIMP patterns.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Images/Themes/${THEME_NAME}/${THEME_VERSION}/Screenshots/</filename></term>
<listitem>
<para>
This directory contains theme-specific screenshots. It is
a series of images illustrating the theme already in
place. Here you'll find one screenshot for each relevant
component inside &TCD;.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Models/</filename></term>
<listitem>
<para>
This directory contains design models (e.g., scalable vector
graphics using the <filename
class="extension">.svgz</filename> extension) and image
configuration files (e.g., plain text using the <filename
class="extension">.conf</filename> extension) used by
<command>centos-art.sh</command> script to produce images
inside <filename
class="directory">Artworks/Images/</filename>. Relevant
components inside this directory include Brands, Icons, Themes
and Webenv.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Models/Brands/</filename></term>
<listitem>
<para>
This directory organizes branding information for &TCP;.
Relevant components inside this directory include Logos/,
Symbols/, and Types/ directories. If you need to tune up &TCP;
branding information, this is the directory you need to go to.
To know more about &TCB;, see <xref linkend="identity-brand" />.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Models/Icons/</filename></term>
<listitem>
<para>
This directory organizes icon design models for &TCP;. By
default, &TCD; uses the same icons set packaged inside the
SRPMs the upstream provider makes available. Only icons related
to branding information are changed in order to identify
&TCP; and comply with upstream redistribution guidelines. This
directory is not very used by now, it presently contains
design models for Tango's icons set.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Models/Themes/</filename></term>
<listitem>
<para>
This directory contains design models organized by categories.
When you are producing theme-specific images, you can use the
option <option>--theme-model</option> to instruct the
<command>centos-art.sh</command> script what of these
categories you want to use as reference to produce
theme-specific images.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Models/Themes/Default/</filename></term>
<listitem>
<para>
This directory contains default design models used to produce
theme-specific images, when the
<option>--theme-option</option> is not provided to
<command>centos-art.sh</command> script at theme-specific
images rendition time. This directory is also used as
reference by <command>centos-art.sh</command> script to build
the theme-specific directory structures inside <filename
class="directory">Artworks/Images/Themes/${THEME_NAME}/${THEME_VERSION}/</filename>
directory, when the <xref linkend="scripts-bash-prepare" />
functionality is executed. So, if you find that some
directories in this location are empty, don't remove them.
They should be present in order for
<command>centos-art.sh</command> script to prepare
theme-specific directory structures correctly.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Models/Themes/Default/Concept/</filename></term>
<listitem>
<para>
This directory contains design models used to produce the
conceptual presentation of each theme. This is a 800x600px
image that illustrate the background artistic motif along the
license and copyright information. All images produced from
this design model use the CC-SA license and &TCP; as copyright
holder.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Models/Themes/Default/Distro/</filename></term>
<listitem>
<para>
This directory contains design models used to produce the
visual style of each component inside &TCD; for all its major
releases. The first sub-directory level under this directory
will contain the major release which components will be
produced for. Inside the release-specific directory you will
find one directory for each related distribution component,
including <application>Grub</application>,
<application>Anaconda</application>,
<application>Gdm</application>,
<application>Syslinux</application>,
<application>Firstboot</application> and others.
</para>
<para>
The components you find inside &TCD; may vary from one major
release to another. They might be added or removed as required
in each new major release. Thus, it is very important to keep
the relation between components and major releases accurate
inside this directory.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Models/Themes/Default/Media/</filename></term>
<listitem>
<para>
This directory contains design models used to produce visual
style for installation media, including CDs, DVDs, LiveCDs and
LiveDVDs. We don't use release-specific directories in this
location because it is determined automatically from the
<filename>/etc/redhat-release</filename> file or the
<option>--releasever</option> option through the command-line
of <command>centos-art.sh</command> script.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Models/Themes/Default/Palettes/</filename></term>
<listitem>
<para>
This directory contains the palettes of colors used by
<command>centos-art.sh</command> script when no one is found
inside <filename
class="directory">Artworks/Images/Themes/${THEME_NAME}/${THEME_VERSION}/Palettes/</filename>
directory.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Models/Themes/Default/Gradients/</filename></term>
<listitem>
<para>
This directory is empty. It is used to build theme-specific
directory structures. Don't remove it.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Models/Themes/Default/Patterns/</filename></term>
<listitem>
<para>
This directory is empty. It is used to build theme-specific
directory structures. Don't remove it.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Models/Themes/Default/Posters/</filename></term>
<listitem>
<para>
This directory contains design models used by
<command>centos-art.sh</command> script to produce posters.
Posters are promotional stuff, generally printed in different
media and sizes to be shown on events.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Models/Webenv/</filename></term>
<listitem>
<para>
This directory contains common design models used by &TCWE;.
These images include, admonition icons, heading backgrounds,
html backgrounds, admonition backgrounds and whatever
graphical information &TCWE; could need.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Palettes/</filename></term>
<listitem>
<para>
This directory contains GIMP palettes that you always want to
have available in GIMP sessions.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Patterns/</filename></term>
<listitem>
<para>
This directory contains GIMP patterns that you always want to
have available in GIMP sessions.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Artworks/Webenv/</filename></term>
<listitem>
<para>
This directory contains customizations for specific web
applications. The kind of files you find here vary from one
web application to another. Generally, you find <filename
class="extension">.css</filename> and <filename
class="extension">.html</filename> files here. Relevant
components inside this directory include Docbook, Httpd,
Mantis, Moin, PhpBB, Punbb, Puntal, Style-guide, Texi2html and
Trac.
</para>
</listitem>
</varlistentry>
</variablelist>
</section>
<section id="repo-convs-directories-documentation">
<title>The <filename class="directory">Documentation</filename> Directory</title>
<para>
This directory contains documentation related to &TCAR;
written in different formats. This directory is organized in
Models and Manuals. Models contain the documentation source
files and Manuals the final documentation ready to be read
through different media (e.g., online and paper). Here, the
language used to write documentation manuals is English.
</para>
<variablelist>
<varlistentry>
<term><filename class="directory">Documentation/Models/</filename></term>
<listitem>
<para>
This directory contains documentation source formats used
inside &TCAR;.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Documentation/Models/${MANUAL_FORMAT}/</filename></term>
<listitem>
<para>
This directory contains documentation manuals' name for
specific documentation formats.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Documentation/Models/${MANUAL_FORMAT}/${MANUAL_NAME}/</filename></term>
<listitem>
<para>
This directory contains the documentation manual directory
structure. Here is where source files are stored in. If you
want to modify content from a documentation manual, this is
the directory level you need to go to.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename class="directory">Documentation/Manuals/</filename></term>
<listitem>
<para>
This directory organizes documentation final files, organized
by documentation format, documentation manual name and
documentation language, if documentation files were produced
to a language different from English.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
Several documentation formats have been used to write &TCAR;
documentation manuals through time, including
<application>Texinfo</application>,
<application>LaTeX</application> and finally
<application>DocBook</application>. From these documentation
formats, DocBook is addressed to be the one adopted in the
near future as default documentation format inside &TCAR;.
Support for other documentation formats will remain inside
<command>centos-art.sh</command> script without further
improvements. This in order to dedicate more attention to
DocBook documentation format.
</para>
<para>
The directory structure used by each documentation format is
not described in this section. To know more about
documentation formats and the directory structure used by
documentation manuals, read <xref linkend="manuals-formats"
/>.
</para>
</section>
<section id="repo-convs-directories-localization">
<title>The <filename class="directory">Localization</filename> Directory</title>
<para>
...
</para>
</section>
<section id="repo-convs-directories-automation">
<title>The <filename class="directory">Automation</filename> Directory</title>
<para>
...
</para>
</section>
<section id="repo-convs-directories-packages">
<title>The <filename class="directory">Packages</filename> Directory</title>
<para>
...
</para>
</section>
</section>