| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd"> |
| <html> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <head> |
| <title>The CentOS Artwork Repository: 3.45 trunk/Scripts/Bash/Functions/Svg</title> |
| |
| <meta name="description" content="The CentOS Artwork Repository: 3.45 trunk/Scripts/Bash/Functions/Svg"> |
| <meta name="keywords" content="The CentOS Artwork Repository: 3.45 trunk/Scripts/Bash/Functions/Svg"> |
| <meta name="resource-type" content="document"> |
| <meta name="distribution" content="global"> |
| <meta name="Generator" content="texi2html 1.76"> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <style type="text/css"> |
| <!-- |
| @import "/home/centos/artwork/trunk/Identity/Models/Css/Texi2html/common.css"; |
| |
| a.summary-letter {text-decoration: none} |
| pre.display {font-family: serif} |
| pre.format {font-family: serif} |
| pre.menu-comment {font-family: serif} |
| pre.menu-preformatted {font-family: serif} |
| pre.smalldisplay {font-family: serif; font-size: smaller} |
| pre.smallexample {font-size: smaller} |
| pre.smallformat {font-family: serif; font-size: smaller} |
| pre.smalllisp {font-size: smaller} |
| span.sansserif {font-family:sans-serif; font-weight:normal;} |
| ul.toc {list-style: none} |
| --> |
| </style> |
| |
| |
| </head> |
| |
| <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> |
| |
| <table cellpadding="1" cellspacing="1" border="0"> |
| <tr><td valign="middle" align="left">[<a href="repository_47.html#SEC265" title="Previous section in reading order"> < </a>]</td> |
| <td valign="middle" align="left">[<a href="#SEC267" title="Next section in reading order"> > </a>]</td> |
| <td valign="middle" align="left"> </td> |
| <td valign="middle" align="left">[<a href="repository_3.html#SEC3" title="Beginning of this chapter or previous chapter"> << </a>]</td> |
| <td valign="middle" align="left">[<a href="repository_3.html#SEC3" title="Up section"> Up </a>]</td> |
| <td valign="middle" align="left">[<a href="repository_64.html#SEC364" title="Next chapter"> >> </a>]</td> |
| <td valign="middle" align="left"> </td> |
| <td valign="middle" align="left"> </td> |
| <td valign="middle" align="left"> </td> |
| <td valign="middle" align="left"> </td> |
| <td valign="middle" align="left">[<a href="repository.html#SEC_Top" title="Cover (top) of document">Top</a>]</td> |
| <td valign="middle" align="left">[<a href="repository_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td> |
| <td valign="middle" align="left">[<a href="repository_64.html#SEC364" title="Index">Index</a>]</td> |
| <td valign="middle" align="left">[<a href="repository_abt.html#SEC_About" title="About (help)"> ? </a>]</td> |
| </tr></table> |
| <a name="trunk-Scripts-Bash-Functions-Svg"></a> |
| <a name="SEC266"></a> |
| <h2 class="section"> 3.45 trunk/Scripts/Bash/Functions/Svg </h2> |
| |
| |
| <a name="SEC267"></a> |
| <h3 class="subsection"> 3.45.1 Goals </h3> |
| |
| <p>This section exists to organize files related to <code>svg</code> |
| functionality of <tt>`centos-art.sh'</tt> script. |
| </p> |
| |
| <a name="SEC268"></a> |
| <h3 class="subsection"> 3.45.2 Description </h3> |
| |
| <p>The <code>svg</code> functionality of <tt>`centos-art.sh'</tt> script helps you |
| to maintain scalable vector graphics (SVG) inside repository. For |
| example, suppose you've been working in CentOS default design models |
| under <tt>`trunk/Identity/Themes/Models/'</tt>, and you want to set common |
| metadata to all of them, and later remove all unused SVG defintions |
| from <samp>`*.svg'</samp> files. Doing so file by file may be a tedious task, |
| so the <tt>`centos-art.sh'</tt> script provides the <code>svg</code> |
| functionality to aid you maintain such actions. |
| </p> |
| <a name="IDX32"></a> |
| |
| <a name="SEC269"></a> |
| <h4 class="subsubsection"> 3.45.2.1 Metadata maintainance </h4> |
| |
| <p>The metadata used is defined by Inkscape 0.46 using the SVG standard |
| markup. The <tt>`centos-art.sh'</tt> script replaces everything |
| in-between <code><metadata</code> and <code></metadata></code> tags with a |
| predefined metadata template we've set for this purpose. |
| </p> |
| <p>The metadata template was created using the metadata information of a |
| file which, using Inkscape 0.46, all metadata fields were set. This |
| created a complete markup representation of how SVG metadata would |
| look like. Later, we replaced every single static value with a |
| translation marker in the form <samp>`=SOMETEXT='</samp>, where |
| <code>SOMETEXT</code> is the name of its main opening tag. Later, we |
| transform the metadata template into a sed replacement set of commads |
| escaping new lines at the end of each line. |
| </p> |
| <p>With metadata template in place, the <tt>`centos-art.sh'</tt> script uses |
| it to create a metadata template instance for the file being processed |
| currently. The metadata template instance contains the metadata |
| portion of sed replacement commands with translation markers already |
| traduced. In this action, instance creation, is where we take |
| advantage of automation and generate metadata values like title, date, |
| keywords, source, identifier, and relation dynamically, based on the |
| file path <tt>`centos-art.sh'</tt> script is currently creating metadata |
| information for. |
| </p> |
| <p>With metadata template instance in place, the <tt>`centos-art.sh'</tt> |
| script uses it to replace real values inside all <samp>`.svg'</samp> files |
| under the current location you're running the <tt>`centos-art.sh'</tt> |
| script on. Default behaviour is to ask user to enter each metadatum |
| required, one by one. If user leaves metadatum empty, by pressing |
| <kbd>RET</kbd> key, <tt>`centos-art.sh'</tt> uses its default value. |
| </p> |
| <p>The <tt>`centos-art.sh'</tt> script modifies the following metadata: |
| </p> |
| <dl compact="compact"> |
| <dt> <samp>`Title'</samp></dt> |
| <dd><p>Name by which this document is formally known. If no value is set |
| here, <tt>`centos-art.sh'</tt> script uses the file name as title. |
| </p> |
| </dd> |
| <dt> <samp>`Date'</samp></dt> |
| <dd><p>Date associated with the creation of this document (YYYY-MM-DD). If no |
| value is set here, <tt>`centos-art.sh'</tt> script uses the current date |
| information as in <code>date +%Y-%m-%d</code>. |
| </p> |
| </dd> |
| <dt> <samp>`Creator'</samp></dt> |
| <dd><p>Name of entity primarily responsible for making the content of this |
| document. If no value is set here, <tt>`centos-art.sh'</tt> script uses |
| the string <samp>`The CentOS Project'</samp>. |
| </p> |
| </dd> |
| <dt> <samp>`Rights'</samp></dt> |
| <dd><p>Name of entity with rights to the intellectual Property of this |
| document. If no value is set here, <tt>`centos-art.sh'</tt> script uses |
| the string <samp>`The CentOS Project'</samp>. |
| </p> |
| </dd> |
| <dt> <samp>`Publisher'</samp></dt> |
| <dd><p>Name of entity responsible for making this document available. If no |
| value is set here, <tt>`centos-art.sh'</tt> script uses the string |
| <samp>`The CentOS Project'</samp>. |
| </p> |
| </dd> |
| <dt> <samp>`Identifier'</samp></dt> |
| <dd><p>Unique URI to reference this document. If no value is set here, |
| <tt>`centos-art.sh'</tt> script uses the current file path to build the |
| related url that points to current file location inside repository |
| central server. |
| </p> |
| </dd> |
| <dt> <samp>`Source'</samp></dt> |
| <dd><p>Unique URI to reference the source of this document. If no value is |
| set here, <tt>`centos-art.sh'</tt> script uses current file path to build |
| the related url that points to current file location inside repository |
| central server. |
| </p> |
| </dd> |
| <dt> <samp>`Relation'</samp></dt> |
| <dd><p>Unique URI to a related document. If no value is set here, |
| <tt>`centos-art.sh'</tt> script uses current file path to build the |
| related url that points to current file location inside repository |
| central server. |
| </p> |
| </dd> |
| <dt> <samp>`Language'</samp></dt> |
| <dd><p>Two-letter language tag with optional subtags for the language of this |
| document. (e.g. <samp>`en-GB'</samp>). If no value is set here, |
| <tt>`centos-art.sh'</tt> script uses the current locale information as in |
| <code>cli_getCurrentLocale</code> function. |
| </p> |
| </dd> |
| <dt> <samp>`Keywords'</samp></dt> |
| <dd><p>The topic of this document as comma-separated key words, prhases, or |
| classifications. If no value is set here, <tt>`centos-art.sh'</tt> script |
| uses file path to build |
| </p> |
| </dd> |
| <dt> <samp>`Coverage'</samp></dt> |
| <dd><p>Extent or scope of this document. If no value is set here, |
| <tt>`centos-art.sh'</tt> script uses the string <samp>`The CentOS Project'</samp>. |
| </p> |
| </dd> |
| <dt> <samp>`Description'</samp></dt> |
| <dd><p>Description about the document. If no value is set here, |
| <tt>`centos-art.sh'</tt> script uses uses empty value as default. |
| </p> |
| </dd> |
| <dt> <samp>`Contributors'</samp></dt> |
| <dd><p>People that contributes in the creation/maintainance of the document. |
| If no value is set here, <tt>`centos-art.sh'</tt> script uses uses empty |
| value as default. |
| </p></dd> |
| </dl> |
| |
| <p>The <samp>`License'</samp> metadatum is not set as a choise, by now. It is |
| fixed <a class="www" href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Common Attribution Share-Alike 3.0 License</a>. This is done in order to |
| grant license consistency among all SVG files we manage inside CentOS |
| Artwork Repository. |
| </p> |
| <a name="IDX33"></a> |
| |
| <a name="SEC270"></a> |
| <h4 class="subsubsection"> 3.45.2.2 Unused definitions </h4> |
| |
| <p>Many of the no-longer-used gradients, patterns, and markers (more |
| precisely, those which you edited manually) remain in the |
| corresponding palettes and can be reused for new objects. However if |
| you want to optimize your document, use the <samp>`Vacuum Defs'</samp> command |
| in <samp>`File'</samp> menu. It will remove any gradients, patterns, or |
| markers which are not used by anything in the document, making the |
| file smaller. |
| </p> |
| <p>If you have one or two couple of files, removing unused definitions |
| using the graphical interface may be enough to you. In contrast, if |
| you have dozens or even houndreds of scalable vector graphics files to |
| maintain it is not a fun task to use the graphical interface to remove |
| unused definitions editing those files one by one. |
| </p> |
| <p>To remove unused definitions from several scalable vector graphics |
| files, the <tt>`centos-art.sh'</tt> script uses Inkscape's command-line |
| interface, specifically with the <samp>`--vaccum-defs'</samp> option. |
| </p> |
| |
| <a name="SEC271"></a> |
| <h3 class="subsection"> 3.45.3 Usage </h3> |
| |
| <dl compact="compact"> |
| <dt> <code>centos-art svg --update-metadata='path/to/dir'</code></dt> |
| <dt> <code>centos-art svg --update-metadata='path/to/dir' --filter='regex'</code></dt> |
| <dd><p>Use these commands to update metadata information to <samp>`.svg'</samp> files |
| under <samp>`path/to/dir'</samp> directory. |
| </p> |
| </dd> |
| <dt> <code>centos-art svg --vacuum-defs='path/to/dir'</code></dt> |
| <dt> <code>centos-art svg --vacuum-defs='path/to/dir' --filter='regex'</code></dt> |
| <dd><p>Use these commands to remove unused definitions inside <samp>`.svg'</samp> |
| files under <samp>`path/to/dir'</samp> directory. |
| </p></dd> |
| </dl> |
| |
| <p>When you provide <samp>`--filter='regex''</samp> argument, the list of files |
| to process is reduced as specified in <samp>`regex'</samp> regular expression. |
| Inside <tt>`centos-art.sh'</tt> script, the <samp>`regex'</samp> regular |
| expression is used in combination with <code>find</code> command to look |
| for files matching the regular expression path pattern. |
| </p> |
| <blockquote class="orange"><img src="/home/centos/artwork/trunk/Identity/Widgets/Img/icon-admonition-alert.png" alt="Warning"><h3>Warning</h3><p> In order for <samp>`regex'</samp> regular expression to match |
| a file, the <samp>`regex'</samp> regular expresion must match the whole file |
| path not just the file name. |
| </p></blockquote> |
| |
| <p>For example, if you want to match all <tt>`summary.svg'</tt> files inside |
| <tt>`path/to/dir'</tt>, use the <code>.+/summary</code> regular expression. |
| Later, <tt>`centos-art.sh'</tt> script uses this value inside |
| <code>^$REGEX\.svg$</code> expression in order to build the final regular |
| expression (i.e., <code>^.+/summary\.svg$</code>) that is evaluated against |
| available file paths inside the list of files to process. |
| </p> |
| <p>Exceptionally, when you provide <samp>`--filter='regex''</samp> in the way |
| that <samp>`regex'</samp>, appended to <samp>`path/to/dir/'</samp> (i.e. |
| <samp>`path/to/dir/regex'</samp>), matches a regular file; the |
| <tt>`centos-art.sh'</tt> script uses the file matching as only file in the |
| list of files to process. |
| </p> |
| |
| <a name="SEC272"></a> |
| <h3 class="subsection"> 3.45.4 See also </h3> |
| |
| <table class="menu" border="0" cellspacing="0"> |
| <tr><td align="left" valign="top"><a href="repository_39.html#SEC209">3.36 trunk/Scripts/Bash</a></td><td> </td><td align="left" valign="top"> |
| </td></tr> |
| <tr><td align="left" valign="top"><a href="repository_40.html#SEC214">3.37 trunk/Scripts/Bash/Functions</a></td><td> </td><td align="left" valign="top"> |
| </td></tr> |
| </table> |
| |
| |
| <table cellpadding="1" cellspacing="1" border="0"> |
| <tr><td valign="middle" align="left">[<a href="#SEC271" title="Previous section in reading order"> < </a>]</td> |
| <td valign="middle" align="left">[<a href="repository_49.html#SEC273" title="Next section in reading order"> > </a>]</td> |
| <td valign="middle" align="left"> </td> |
| <td valign="middle" align="left">[<a href="repository_3.html#SEC3" title="Beginning of this chapter or previous chapter"> << </a>]</td> |
| <td valign="middle" align="left">[<a href="#SEC266" title="Up section"> Up </a>]</td> |
| <td valign="middle" align="left">[<a href="repository_64.html#SEC364" title="Next chapter"> >> </a>]</td> |
| </tr></table> |
| <p> |
| <font size="-1"> |
| This document was generated on <i>January, 4 2011</i> using <a class="www" href="http://texi2html.cvshome.org/"><i>texi2html 1.76</i></a>. |
| </font> |
| <br> |
| |
| </p> |
| </body> |
| </html> |