Blame Manuals/Filesystem/filesystem-html/filesystem_59.html

ee1f37
ee1f37
<html>
ee1f37
ee1f37
ee1f37
Permission is granted to copy, distribute and/or modify this document
ee1f37
under the terms of the GNU Free Documentation License, Version 1.2 or
ee1f37
any later version published by the Free Software Foundation; with no
ee1f37
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
ee1f37
copy of the license is included in the section entitled GNU Free
ee1f37
Documentation License.  
ee1f37
-->
ee1f37
ee1f37
ee1f37
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
ee1f37
            Karl Berry  <karl@freefriends.org>
ee1f37
            Olaf Bachmann <obachman@mathematik.uni-kl.de>
ee1f37
            and many others.
ee1f37
Maintained by: Many creative people <dev@texi2html.cvshome.org>
ee1f37
Send bugs and suggestions to <users@texi2html.cvshome.org>
ee1f37
ee1f37
-->
ee1f37
<head>
db14a4
<title>CentOS Artwork Repository: 3.56 trunk/Scripts/Bash/Functions/Svg</title>
ee1f37
db14a4
<meta name="description" content="CentOS Artwork Repository: 3.56 trunk/Scripts/Bash/Functions/Svg">
db14a4
<meta name="keywords" content="CentOS Artwork Repository: 3.56 trunk/Scripts/Bash/Functions/Svg">
ee1f37
<meta name="resource-type" content="document">
ee1f37
<meta name="distribution" content="global">
ee1f37
<meta name="Generator" content="texi2html 1.76">
ee1f37
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
ee1f37
<style type="text/css">
ee1f37
ee1f37
@import "/home/centos/artwork/trunk/Identity/Models/Css/Texi2html/common.css";
ee1f37
ee1f37
a.summary-letter {text-decoration: none}
ee1f37
pre.display {font-family: serif}
ee1f37
pre.format {font-family: serif}
ee1f37
pre.menu-comment {font-family: serif}
ee1f37
pre.menu-preformatted {font-family: serif}
ee1f37
pre.smalldisplay {font-family: serif; font-size: smaller}
ee1f37
pre.smallexample {font-size: smaller}
ee1f37
pre.smallformat {font-family: serif; font-size: smaller}
ee1f37
pre.smalllisp {font-size: smaller}
ee1f37
span.sansserif {font-family:sans-serif; font-weight:normal;}
ee1f37
ul.toc {list-style: none}
ee1f37
-->
ee1f37
</style>
ee1f37
ee1f37
ee1f37
</head>
ee1f37
ee1f37
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
ee1f37
ee1f37
db14a4
[ < ]
ee1f37
[ > ]
ee1f37
   
db14a4
[ << ]
db14a4
[ Up ]
db14a4
[ >> ]
ee1f37
   
ee1f37
   
ee1f37
   
ee1f37
   
db14a4
[Top]
db14a4
[Contents]
db14a4
[Index]
db14a4
[ ? ]
ee1f37
ee1f37
ee1f37
ee1f37

3.56 trunk/Scripts/Bash/Functions/Svg

ee1f37
ee1f37
ee1f37
ee1f37

3.56.1 Goals

ee1f37
ee1f37

This section exists to organize files related to svg

ee1f37
functionality of <tt>`centos-art.sh'</tt> script.
ee1f37

ee1f37
ee1f37
ee1f37

3.56.2 Description

ee1f37
ee1f37

The svg functionality of <tt>`centos-art.sh'</tt> script helps you

ee1f37
to maintain scalable vector graphics (SVG) inside repository. For
ee1f37
example, suppose you've been working in CentOS default design models
ee1f37
under <tt>`trunk/Identity/Themes/Models/'</tt>, and you want to set common
ee1f37
metadata to all of them, and later remove all unused SVG defintions
ee1f37
from <samp>`*.svg'</samp> files. Doing so file by file may be a tedious task,
ee1f37
so the <tt>`centos-art.sh'</tt> script provides the svg
ee1f37
functionality to aid you maintain such actions.
ee1f37

ee1f37
ee1f37
ee1f37
ee1f37

3.56.2.1 Metadata maintainance

ee1f37
ee1f37

The metadata used is defined by Inkscape 0.46 using the SVG standard

ee1f37
markup. The <tt>`centos-art.sh'</tt> script replaces everything
ee1f37
in-between <metadata and </metadata> tags with a
ee1f37
predefined metadata template we've set for this purpose.
ee1f37

ee1f37

The metadata template was created using the metadata information of a

ee1f37
file which, using Inkscape 0.46, all metadata fields were set. This
ee1f37
created a complete markup representation of how SVG metadata would
ee1f37
look like. Later, we replaced every single static value with a
ee1f37
translation marker in the form <samp>`=SOMETEXT='</samp>, where
ee1f37
SOMETEXT is the name of its main opening tag. Later, we
ee1f37
transform the metadata template into a sed replacement set of commads
ee1f37
escaping new lines at the end of each line.
ee1f37

ee1f37

With metadata template in place, the <tt>`centos-art.sh'</tt> script uses

ee1f37
it to create a metadata template instance for the file being processed
ee1f37
currently.  The metadata template instance contains the metadata
ee1f37
portion of sed replacement commands with translation markers already
ee1f37
traduced.  In this action, instance creation, is where we take
ee1f37
advantage of automation and generate metadata values like title, date,
ee1f37
keywords, source, identifier, and relation dynamically, based on the
ee1f37
file path <tt>`centos-art.sh'</tt> script is currently creating metadata
ee1f37
information for.
ee1f37

ee1f37

With metadata template instance in place, the <tt>`centos-art.sh'</tt>

ee1f37
script uses it to replace real values inside all <samp>`.svg'</samp> files
ee1f37
under the current location you're running the <tt>`centos-art.sh'</tt>
ee1f37
script on.  Default behaviour is to ask user to enter each metadatum
ee1f37
required, one by one. If user leaves metadatum empty, by pressing
ee1f37
RET key, <tt>`centos-art.sh'</tt> uses its default value.
ee1f37

ee1f37

The <tt>`centos-art.sh'</tt> script modifies the following metadata:

ee1f37

ee1f37
ee1f37
<samp>`Title'</samp>
ee1f37

Name by which this document is formally known. If no value is set

ee1f37
here, <tt>`centos-art.sh'</tt> script uses the file name as title.
ee1f37

ee1f37
ee1f37
<samp>`Date'</samp>
ee1f37

Date associated with the creation of this document (YYYY-MM-DD). If no

ee1f37
value is set here, <tt>`centos-art.sh'</tt> script uses the current date
ee1f37
information as in date +%Y-%m-%d.
ee1f37

ee1f37
ee1f37
<samp>`Creator'</samp>
ee1f37

Name of entity primarily responsible for making the content of this

ee1f37
document. If no value is set here, <tt>`centos-art.sh'</tt> script uses
ee1f37
the string <samp>`The CentOS Project'</samp>.
ee1f37

ee1f37
ee1f37
<samp>`Rights'</samp>
ee1f37

Name of entity with rights to the intellectual Property of this

ee1f37
document. If no value is set here, <tt>`centos-art.sh'</tt> script uses
ee1f37
the string <samp>`The CentOS Project'</samp>.
ee1f37

ee1f37
ee1f37
<samp>`Publisher'</samp>
ee1f37

Name of entity responsible for making this document available. If no

ee1f37
value is set here, <tt>`centos-art.sh'</tt> script uses the string
ee1f37
<samp>`The CentOS Project'</samp>.
ee1f37

ee1f37
ee1f37
<samp>`Identifier'</samp>
ee1f37

Unique URI to reference this document. If no value is set here,

ee1f37
<tt>`centos-art.sh'</tt> script uses the current file path to build the
ee1f37
related url that points to current file location inside repository
ee1f37
central server.
ee1f37

ee1f37
ee1f37
<samp>`Source'</samp>
ee1f37

Unique URI to reference the source of this document. If no value is

ee1f37
set here, <tt>`centos-art.sh'</tt> script uses current file path to build
ee1f37
the related url that points to current file location inside repository
ee1f37
central server.
ee1f37

ee1f37
ee1f37
<samp>`Relation'</samp>
ee1f37

Unique URI to a related document. If no value is set here,

ee1f37
<tt>`centos-art.sh'</tt> script uses current file path to build the
ee1f37
related url that points to current file location inside repository
ee1f37
central server.
ee1f37

ee1f37
ee1f37
<samp>`Language'</samp>
ee1f37

Two-letter language tag with optional subtags for the language of this

ee1f37
document. (e.g. <samp>`en-GB'</samp>). If no value is set here,
ee1f37
<tt>`centos-art.sh'</tt> script uses the current locale information as in
ee1f37
cli_getCurrentLocale function.
ee1f37

ee1f37
ee1f37
<samp>`Keywords'</samp>
ee1f37

The topic of this document as comma-separated key words, prhases, or

ee1f37
classifications. If no value is set here, <tt>`centos-art.sh'</tt> script
ee1f37
uses file path to build 
ee1f37

ee1f37
ee1f37
<samp>`Coverage'</samp>
ee1f37

Extent or scope of this document. If no value is set here,

ee1f37
<tt>`centos-art.sh'</tt> script uses the string <samp>`The CentOS Project'</samp>.
ee1f37

ee1f37
ee1f37
<samp>`Description'</samp>
ee1f37

Description about the document. If no value is set here,

ee1f37
<tt>`centos-art.sh'</tt> script uses uses empty value as default.
ee1f37

ee1f37
ee1f37
<samp>`Contributors'</samp>
ee1f37

People that contributes in the creation/maintainance of the document.

ee1f37
If no value is set here, <tt>`centos-art.sh'</tt> script uses uses empty
ee1f37
value as default.
ee1f37

ee1f37
ee1f37
ee1f37

The <samp>`License'</samp> metadatum is not set as a choise, by now. It is

ee1f37
fixed Creative Common Attribution Share-Alike 3.0 License. This is done in order to
ee1f37
grant license consistency among all SVG files we manage inside CentOS
ee1f37
Artwork Repository.
ee1f37

ee1f37
ee1f37
ee1f37
ee1f37

3.56.2.2 Unused definitions

ee1f37
ee1f37

Many of the no-longer-used gradients, patterns, and markers (more

ee1f37
precisely, those which you edited manually) remain in the
ee1f37
corresponding palettes and can be reused for new objects. However if
ee1f37
you want to optimize your document, use the <samp>`Vacuum Defs'</samp> command
ee1f37
in <samp>`File'</samp> menu. It will remove any gradients, patterns, or
ee1f37
markers which are not used by anything in the document, making the
ee1f37
file smaller. 
ee1f37

ee1f37

If you have one or two couple of files, removing unused definitions

ee1f37
using the graphical interface may be enough to you.  In contrast, if
ee1f37
you have dozens or even houndreds of scalable vector graphics files to
ee1f37
maintain it is not a fun task to use the graphical interface to remove
ee1f37
unused definitions editing those files one by one.
ee1f37

ee1f37

To remove unused definitions from several scalable vector graphics

ee1f37
files, the <tt>`centos-art.sh'</tt> script uses Inkscape command-line
ee1f37
interface, specifically with the <samp>`--vaccum-defs'</samp> option.
ee1f37

ee1f37
ee1f37
ee1f37

3.56.3 Usage

ee1f37
ee1f37
ee1f37
centos-art svg --update-metadata='path/to/dir'
ee1f37
centos-art svg --update-metadata='path/to/dir' --filter='regex'
ee1f37

Use these commands to update metadata information to <samp>`.svg'</samp> files

ee1f37
under <samp>`path/to/dir'</samp> directory.
ee1f37

ee1f37
ee1f37
centos-art svg --vacuum-defs='path/to/dir'
ee1f37
centos-art svg --vacuum-defs='path/to/dir' --filter='regex'
ee1f37

Use these commands to remove unused definitions inside <samp>`.svg'</samp>

ee1f37
files under <samp>`path/to/dir'</samp> directory. 
ee1f37

ee1f37
ee1f37
ee1f37

When you provide <samp>`--filter='regex''</samp> argument, the list of files

ee1f37
to process is reduced as specified in <samp>`regex'</samp> regular expression.
ee1f37
Inside <tt>`centos-art.sh'</tt> script, the <samp>`regex'</samp> regular
ee1f37
expression is used in combination with find command to look
ee1f37
for files matching the regular expression path pattern.
ee1f37

ee1f37
Warning

Warning

In order for <samp>`regex'</samp> regular expression to match

ee1f37
a file, the <samp>`regex'</samp> regular expresion must match the whole file
ee1f37
path not just the file name. 
ee1f37

ee1f37
ee1f37

For example, if you want to match all <tt>`summary.svg'</tt> files inside

ee1f37
<tt>`path/to/dir'</tt>, use the .+/summary regular expression.
ee1f37
Later, <tt>`centos-art.sh'</tt> script uses this value inside
ee1f37
^$REGEX\.svg$ expression in order to build the final regular
ee1f37
expression (i.e., ^.+/summary\.svg$) that is evaluated against
ee1f37
available file paths inside the list of files to process.
ee1f37

ee1f37

Exceptionally, when you provide <samp>`--filter='regex''</samp> in the way

ee1f37
that <samp>`regex'</samp>, appended to <samp>`path/to/dir/'</samp> (i.e.
ee1f37
<samp>`path/to/dir/regex'</samp>), matches a regular file; the
ee1f37
<tt>`centos-art.sh'</tt> script uses the file matching as only file in the
ee1f37
list of files to process. 
ee1f37

ee1f37
ee1f37
ee1f37

3.56.4 See also

ee1f37
ee1f37
db14a4
3.47 trunk/Scripts/Bash  
ee1f37
db14a4
3.48 trunk/Scripts/Bash/Functions  
ee1f37
ee1f37
ee1f37
ee1f37
ee1f37
ee1f37
[ < ]
db14a4
[ > ]
ee1f37
   
db14a4
[ << ]
ee1f37
[ Up ]
db14a4
[ >> ]
ee1f37
ee1f37

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

ee1f37
</body>
ee1f37
</html>