| @subheading Name |
| |
| The @strong{@code{render}} functionlity is part of |
| @command{centos-art.sh} script and standardizes rendition tasks inside |
| the working copy of CentOS Artwork Repository. |
| |
| @subheading Synopsis |
| |
| @command{centos-art} @code{@strong{render}} @code{[OPTION] path/to/dir} |
| |
| The @file{path/to/dir} parameter refers the path information related |
| to the directory structure inside the working copy of CentOS Artwork |
| Repository you'r going to produce. This path information defines |
| whether to perform direct or theme-specific rendition. |
| |
| You can use the @file{path/to/dir} information to control the amount |
| of components you'll produce inside a specific renderable location. |
| The more deep you go inside the path the more specific you are when |
| producing theme components. Sometimes, you can also combine the use of |
| @file{path/to/dir} with the @option{--filter} option to have a finer |
| control over the files you produce. |
| |
| The @code{render} functionality of @command{centos-art.sh} script |
| accepts the following options: |
| |
| @table @option |
| @item --quiet |
| |
| Supress all output messages, including confirmation question. Use this |
| option with care. |
| |
| @item --filter="REGEX" |
| |
| Reduce the list of files to process using @samp{REGEX} as pattern. |
| |
| @item --answer-yes |
| |
| Assume `yes' to all confirmation questions. |
| |
| @item --dont-commit-changes |
| |
| Supress all commit and update actions realized over files already |
| processed, before and after the action itself had took place in the |
| working copy. |
| |
| @item --releasever="STRING" |
| |
| Produce content for the release version specified in @samp{STRING}. |
| This option is generaly used in direct rendition, where design models |
| aren't organized using release versions and architectures as |
| reference. |
| |
| @item --basearch="STRING" |
| |
| Produce content for the architecture specified in @samp{STRING}. This |
| option is generaly used in direct rendition, where design models aren't |
| organized using release versions and architectures as reference. |
| |
| @item --convert="STRING" |
| |
| Uses post-rendition to convert output produced by base-rendition to |
| any image format specified in @samp{STRING}. This option is an |
| interface for the @command{convert} command of ImageMagick tool set, |
| so it is applicable to images output only. |
| |
| @item --rotate="STRING" |
| |
| Uses post-rendition to rotate output produced by base-rendition to any |
| angle specified in @samp{STRING}. This option is an interface for the |
| @command{convert} command of ImageMagick tool set, so it is |
| applicable to images output only. |
| |
| @item --resize="STRING" |
| |
| Uses post-rendition to resize the base-rendition output to any angle |
| specified in @samp{STRING}. This option is an interface for the |
| @command{convert} command of ImageMagick tool set, so it is applicable |
| to images output only. |
| |
| @item --group-by="STRING" |
| |
| Group base output files inside directories. Directories used to stored |
| base output files are named using the file extension of base output |
| files. For example: if the base output file is a @file{.png} file, it |
| is moved inside a @file{Png/} directory; if the current file is a |
| @file{.jpg} file, it is stored inside a @file{Jpg/} directory, and so |
| on. |
| |
| Directories used to group files are created in the same location that |
| base output files would normaly do. |
| |
| @item --theme-model="STRING" |
| Specify, in the @samp{STRING}, the name of the theme model you want to |
| use to produce theme motifs. By default, if this option is not passed, |
| the @samp{Default} theme model is used as reference to produce theme |
| motifs. |
| @end table |
| |
| @subheading Description |
| |
| Inside the working copy of CentOS Artwork Repository, rendition tasks |
| take place inside renderable directories. Inside the @code{render} |
| functionality of @command{centos-art.sh} script, you can control |
| rendition tasks through different flows of rendition named |
| base-rendition, post-rendition, last-rendition and directory-specific |
| rendition. |
| |
| @subsubheading Renderable directories |
| |
| In order for a directory structure to be considered renderable, it |
| should have one directory structure for input files and one directory |
| structure for output files. Optionally, a third directory structure |
| might be available for storing translation files. |
| |
| Renderable directories are very tied to the way content is produced |
| inside the working copy of CentOS Artwork Repository. Presently, |
| content is produced through the following organizations: |
| |
| @table @strong |
| @item Direct rendition |
| |
| In direct rendition, there is one directory structure for input files |
| (@file{trunk/Identity/Models}) and one directory structure for output |
| files (e.g., @file{trunk/Identity/Images}). Optionally, a third |
| directory structure is available to store the input related |
| translation files (e.g., @file{trunk/Locales/Identity/Models}). |
| |
| In direct rendition, when the @code{render} functionality of |
| @command{centos-art.sh} script is executed, it uses the input |
| directory structure to build a list of files to process, which is used |
| as reference to determine the location of the translation file and the |
| location of the output file, as well. |
| |
| @item Theme-specific rendition |
| |
| In theme-specific rendition, there is one directory structure to store |
| input files @file{trunk/Identity/Themes/Models}, one directory |
| structure to store translation files |
| (@file{trunk/Locales/Identity/Themes/Models/}), one directory structure |
| to store artistic motifs (@file{trunk/Identity/Images/Themes}) and one |
| directory structure to store output files |
| (@file{trunk/Identity/Images/Themes}). |
| |
| In theme-specific rendition, when the @code{render} functionality of |
| @command{centos-art.sh} script is executed, it uses the input |
| directory structure to build a list of files to process, which is used |
| as reference to determine the location of the translation file and the |
| location of the output file, as well. |
| |
| In contrast with direct rendition, when we use theme-specific |
| rendition, it is possible to combine both design models and artistic |
| motifs to produce output in an arbitrary way. This configuration is |
| specially interesting because it is possible to create different |
| artistic motifs and one unique design model in order to produce one |
| unique theme structure with different visual styles. Or the opposite, |
| to create different theme structures and apply one unique visual style |
| to produce different visual styles with the same theme structure. Or |
| even push a bit farther and experiment with arbitrary combinations |
| among them all. |
| |
| @end table |
| |
| In both direct and theme-specific rendition, if the location where the |
| output file should be stored doesn't exist, the @code{render} |
| functionality of @command{centos-art.sh} script will create it for |
| you. |
| |
| In both direct and theme-specific rendition, if the input related |
| translation file doesn't exist, the @code{render} functionality of |
| @command{centos-art.sh} script will produce the output in the same |
| language of its input file. |
| |
| @subsubheading The base-rendition flow |
| |
| The base-rendition flow is the first rendition flow of all rendition |
| flows available and takes place immediatly after executing the |
| @code{render} functionality of @command{centos-art.sh} script. |
| |
| The base-rendition consist on producing different output formats in |
| different languages from one single input format. This is, one input |
| file produces one output file. Inside the @code{render} functionality |
| of @command{centos-art.sh} script, the input format is always an XML |
| file (e.g., SVG, XHTML, Docbook) and the output format depends on the |
| input file provided. |
| |
| For example, when the input format is a SVG file, the base output is a |
| PNG file; when the input format is XHTML the base output is an XHTML |
| file; when the input format is a Docbook file the base output is an |
| XHTML file. |
| |
| @subsubheading The post-rendition flow |
| |
| The post-rendition flow takes place after base-rendition and is |
| applied to create modified copies of the file produced by |
| base-rendition in the same directory structure. |
| |
| For example, when the input format is a SVG file and the output is a |
| PNG file, we can use post-rendition to extend the base output to other |
| image formats. In fact, it is possible to do anything permitted by the |
| ImageMagick and Netpbm programs (e.g., resize, rotate, reduce color, |
| etc.) over the base output. |
| |
| @subsubheading The last-rendition flow |
| |
| The last-rendition flow takes place after post-rendition and is |
| applied to all files produced as result of both base-rendition and |
| post-rendition flows in the same directory structure, just before |
| passing to process a different directory structure. |
| |
| For example, consider the @file{Preview.png} image of Ksplash which is |
| made of three different images. In order to build the |
| @file{Preview.png} image, we need to create the three images the |
| @file{Preview.png} image is made of first (e.g., through |
| base-rendition) and then, combine them all together into one new |
| image, the @file{Preview.png} image in this case. |
| |
| Another example of using last-rendition flow is that related to GDM |
| and KDM @file{tar.gz} file construction. Each @file{tar.gz} file is |
| made of several files that need to be put together in order to make |
| them installable. In the very specific case of GDM and KDM some of the |
| required files are retrived from design models directory structure and |
| others from artistic motifs directory structure after had been |
| produced through base-rendition. In this case, the action of grouping |
| files and packing them is realized through last-rendition action. This |
| couldn't be possible through post-rendition because we need to wait to |
| have two images first (produced through base-rendition) before we |
| could grouping them all into the @file{tar.gz} package. |
| |
| @subsubheading The directory-specific rendition flow |
| |
| The directory-specific rendition flow isn't a rendition flow by itself |
| but a combination of rendition flows that are applied to specific |
| directories at rendition time. |
| |
| Inside the working copy of CentOS Artwork Repository there are some |
| directories structures that exist to achieve specific tasks every time |
| they are produced. The directory-specific rendition flow provides a |
| way for the @code{render} functionality of @command{centos-art.sh} |
| script to know what actions to apply to what directory structure when |
| producing them. |
| |
| The directory-specific rendition flow combines the base-rendition, |
| post-rendition and last-rendition flows in specific ways and applies |
| them to specific directory structures when they are detected. Using |
| this configuration can speed up production of different components |
| like Syslinux, Grub, Gdm, Kdm and Ksplash that require intermediate |
| formats or even several independent files, in order for the final |
| content to be created. |
| |
| @subsubheading Translations |
| |
| To translate output files, the @code{render} functionality of |
| @command{centos-art.sh} script creates a translated instance of the |
| input file and uses it then to create the base output file. The |
| translated instance is created using the related translation messages |
| of the input file. Translation messages are stored under |
| @file{trunk/Locales} and are created using the @code{locale} |
| functionality of @command{centos-art.sh} script (@pxref{Directories |
| trunk Scripts Functions Locale}). |
| |
| @subheading Examples |
| |
| @verbatim |
| centos-art render trunk/Identity/Images/Brands |
| @end verbatim |
| |
| @verbatim |
| centos-art render trunk/Identity/Images/Brands --filter="symbol" |
| @end verbatim |
| |
| @verbatim |
| centos-art render trunk/Identity/Images/Themes/Flame/2 |
| @end verbatim |
| |
| @subheading Author |
| |
| Written by Alain Reguera Delgado. |
| |
| @subheading Reporting bugs |
| |
| Report bugs to @email{centos-artwork@@centos.org} mailing list. |
| |
| @subheading Copyright |
| |
| Copyright @copyright{} 2009, 2010, 2011 The CentOS Project. |
| |
| This is free software. You may redistribute copies of it under the |
| terms of the GNU General Public License (@pxref{GNU General Public |
| License}). There is NO WARRANTY, to the extent permitted by law. |
| |
| @subheading See also |
| |
| @itemize |
| @item @ref{Directories trunk Scripts Functions} |
| @item @ref{Directories trunk Scripts} |
| @item @ref{Directories trunk} |
| @end itemize |
| |