|
|
4c79b5 |
|
|
|
4c79b5 |
<html>
|
|
|
09d4f2 |
|
|
|
09d4f2 |
|
|
|
09d4f2 |
The CentOS Artwork Repository exists to organize and automate The
|
|
|
09d4f2 |
CentOS Project corporate visual identity (, to
|
|
|
09d4f2 |
start on).
|
|
|
4c79b5 |
|
|
|
6c4982 |
Copyright C 2009, 2010 Alain Reguera Delgado. All rights
|
|
|
4c79b5 |
reserved.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
Permission is granted to copy, distribute and/or modify this document
|
|
|
4c79b5 |
under the terms of the GNU Free Documentation License, Version 1.2 or
|
|
|
4c79b5 |
any later version published by the Free Software Foundation; with no
|
|
|
4c79b5 |
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
|
|
|
4c79b5 |
copy of the license is included in the section entitled GNU Free
|
|
|
4c79b5 |
Documentation License.
|
|
|
4c79b5 |
-->
|
|
|
008ee0 |
|
|
|
4c79b5 |
|
|
|
4c79b5 |
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
|
|
|
4c79b5 |
Karl Berry <karl@freefriends.org>
|
|
|
4c79b5 |
Olaf Bachmann <obachman@mathematik.uni-kl.de>
|
|
|
4c79b5 |
and many others.
|
|
|
4c79b5 |
Maintained by: Many creative people <dev@texi2html.cvshome.org>
|
|
|
4c79b5 |
Send bugs and suggestions to <users@texi2html.cvshome.org>
|
|
|
4c79b5 |
|
|
|
4c79b5 |
-->
|
|
|
4c79b5 |
<head>
|
|
|
60c152 |
<title>CentOS Artwork Repository: 3.44 trunk/Scripts/Bash/Functions/Svg</title>
|
|
|
4c79b5 |
|
|
|
60c152 |
<meta name="description" content="CentOS Artwork Repository: 3.44 trunk/Scripts/Bash/Functions/Svg">
|
|
|
60c152 |
<meta name="keywords" content="CentOS Artwork Repository: 3.44 trunk/Scripts/Bash/Functions/Svg">
|
|
|
4c79b5 |
<meta name="resource-type" content="document">
|
|
|
4c79b5 |
<meta name="distribution" content="global">
|
|
|
4c79b5 |
<meta name="Generator" content="texi2html 1.76">
|
|
|
4c79b5 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
|
4c79b5 |
<style type="text/css">
|
|
|
4c79b5 |
|
|
|
1e9202 |
@import "/home/centos/artwork/trunk/Identity/Models/Css/Texi2html/common.css";
|
|
|
4c79b5 |
|
|
|
4c79b5 |
a.summary-letter {text-decoration: none}
|
|
|
4c79b5 |
pre.display {font-family: serif}
|
|
|
4c79b5 |
pre.format {font-family: serif}
|
|
|
4c79b5 |
pre.menu-comment {font-family: serif}
|
|
|
4c79b5 |
pre.menu-preformatted {font-family: serif}
|
|
|
4c79b5 |
pre.smalldisplay {font-family: serif; font-size: smaller}
|
|
|
4c79b5 |
pre.smallexample {font-size: smaller}
|
|
|
4c79b5 |
pre.smallformat {font-family: serif; font-size: smaller}
|
|
|
4c79b5 |
pre.smalllisp {font-size: smaller}
|
|
|
4c79b5 |
span.sansserif {font-family:sans-serif; font-weight:normal;}
|
|
|
4c79b5 |
ul.toc {list-style: none}
|
|
|
4c79b5 |
-->
|
|
|
4c79b5 |
</style>
|
|
|
4c79b5 |
|
|
|
4c79b5 |
|
|
|
4c79b5 |
</head>
|
|
|
4c79b5 |
|
|
|
4c79b5 |
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
|
|
|
4c79b5 |
|
|
|
4c79b5 |
|
|
|
60c152 |
[ < ]
|
|
|
60c152 |
[ > ]
|
|
|
4c79b5 |
|
|
|
4c79b5 |
[ << ]
|
|
|
4c79b5 |
[ Up ]
|
|
|
60c152 |
[ >> ]
|
|
|
4c79b5 |
|
|
|
4c79b5 |
|
|
|
4c79b5 |
|
|
|
4c79b5 |
|
|
|
4c79b5 |
[Top]
|
|
|
4c79b5 |
[Contents]
|
|
|
60c152 |
[Index]
|
|
|
4c79b5 |
[ ? ]
|
|
|
4c79b5 |
|
|
|
60c152 |
|
|
|
60c152 |
|
|
|
60c152 |
3.44 trunk/Scripts/Bash/Functions/Svg
|
|
|
008ee0 |
|
|
|
ef356a |
|
|
|
60c152 |
|
|
|
54b5a5 |
3.44.1 Goals
|
|
|
54b5a5 |
|
|
|
60c152 |
This section exists to organize files related to svg
|
|
|
63f275 |
functionality of <tt>`centos-art.sh'</tt> script.
|
|
|
63f275 |
|
|
|
008ee0 |
|
|
|
60c152 |
|
|
|
54b5a5 |
3.44.2 Description
|
|
|
54b5a5 |
|
|
|
60c152 |
The svg functionality of <tt>`centos-art.sh'</tt> script helps you
|
|
|
60c152 |
to maintain scalable vector graphics (SVG) inside repository. For
|
|
|
60c152 |
example, suppose you've been working in CentOS default design models
|
|
|
60c152 |
under <tt>`trunk/Identity/Themes/Models/'</tt>, and you want to set common
|
|
|
60c152 |
metadata to all of them, and later remove all unused SVG defintions
|
|
|
60c152 |
from <samp>`*.svg'</samp> files. Doing so file by file may be a tedious task,
|
|
|
60c152 |
so the <tt>`centos-art.sh'</tt> script provides the svg
|
|
|
60c152 |
functionality to aid you maintain such actions.
|
|
|
e68a7a |
|
|
|
60c152 |
|
|
|
60c152 |
|
|
|
60c152 |
|
|
|
60c152 |
3.44.2.1 Metadata maintainance
|
|
|
60c152 |
|
|
|
60c152 |
The metadata used is defined by Inkscape 0.46 using the SVG standard
|
|
|
60c152 |
markup. The <tt>`centos-art.sh'</tt> script replaces everything
|
|
|
60c152 |
in-between <metadata and </metadata> tags with a
|
|
|
60c152 |
predefined metadata template we've set for this purpose.
|
|
|
e68a7a |
|
|
|
60c152 |
The metadata template was created using the metadata information of a
|
|
|
60c152 |
file which, using Inkscape 0.46, all metadata fields were set. This
|
|
|
60c152 |
created a complete markup representation of how SVG metadata would
|
|
|
60c152 |
look like. Later, we replaced every single static value with a
|
|
|
60c152 |
translation marker in the form <samp>`=SOMETEXT='</samp>, where
|
|
|
60c152 |
SOMETEXT is the name of its main opening tag. Later, we
|
|
|
60c152 |
transform the metadata template into a sed replacement set of commads
|
|
|
60c152 |
escaping new lines at the end of each line.
|
|
|
e68a7a |
|
|
|
60c152 |
With metadata template in place, the <tt>`centos-art.sh'</tt> script uses
|
|
|
60c152 |
it to create a metadata template instance for the file being processed
|
|
|
60c152 |
currently. The metadata template instance contains the metadata
|
|
|
60c152 |
portion of sed replacement commands with translation markers already
|
|
|
60c152 |
traduced. In this action, instance creation, is where we take
|
|
|
60c152 |
advantage of automation and generate metadata values like title, date,
|
|
|
60c152 |
keywords, source, identifier, and relation dynamically, based on the
|
|
|
60c152 |
file path <tt>`centos-art.sh'</tt> script is currently creating metadata
|
|
|
60c152 |
information for.
|
|
|
63f275 |
|
|
|
60c152 |
With metadata template instance in place, the <tt>`centos-art.sh'</tt>
|
|
|
60c152 |
script uses it to replace real values inside all <samp>`.svg'</samp> files
|
|
|
60c152 |
under the current location you're running the <tt>`centos-art.sh'</tt>
|
|
|
60c152 |
script on. Default behaviour is to ask user to enter each metadatum
|
|
|
60c152 |
required, one by one. If user leaves metadatum empty, by pressing
|
|
|
60c152 |
RET key, <tt>`centos-art.sh'</tt> uses its default value.
|
|
|
60c152 |
|
|
|
60c152 |
The <tt>`centos-art.sh'</tt> script modifies the following metadata:
|
|
|
60c152 |
|
|
|
60c152 |
|
|
|
60c152 |
<samp>`Title'</samp>
|
|
|
60c152 |
Name by which this document is formally known. If no value is set
|
|
|
60c152 |
here, <tt>`centos-art.sh'</tt> script uses the file name as title.
|
|
|
60c152 |
|
|
|
60c152 |
|
|
|
60c152 |
<samp>`Date'</samp>
|
|
|
60c152 |
Date associated with the creation of this document (YYYY-MM-DD). If no
|
|
|
60c152 |
value is set here, <tt>`centos-art.sh'</tt> script uses the current date
|
|
|
60c152 |
information as in date +%Y-%m-%d .
|
|
|
60c152 |
|
|
|
60c152 |
|
|
|
60c152 |
<samp>`Creator'</samp>
|
|
|
60c152 |
Name of entity primarily responsible for making the content of this
|
|
|
60c152 |
document. If no value is set here, <tt>`centos-art.sh'</tt> script uses
|
|
|
60c152 |
the string <samp>`The CentOS Project'</samp>.
|
|
|
60c152 |
|
|
|
60c152 |
|
|
|
60c152 |
<samp>`Rights'</samp>
|
|
|
60c152 |
Name of entity with rights to the intellectual Property of this
|
|
|
60c152 |
document. If no value is set here, <tt>`centos-art.sh'</tt> script uses
|
|
|
60c152 |
the string <samp>`The CentOS Project'</samp>.
|
|
|
60c152 |
|
|
|
60c152 |
|
|
|
60c152 |
<samp>`Publisher'</samp>
|
|
|
60c152 |
Name of entity responsible for making this document available. If no
|
|
|
60c152 |
value is set here, <tt>`centos-art.sh'</tt> script uses the string
|
|
|
60c152 |
<samp>`The CentOS Project'</samp>.
|
|
|
63f275 |
|
|
|
60c152 |
|
|
|
60c152 |
<samp>`Identifier'</samp>
|
|
|
60c152 |
Unique URI to reference this document. If no value is set here,
|
|
|
60c152 |
<tt>`centos-art.sh'</tt> script uses the current file path to build the
|
|
|
60c152 |
related url that points to current file location inside repository
|
|
|
60c152 |
central server.
|
|
|
63f275 |
|
|
|
60c152 |
|
|
|
60c152 |
<samp>`Source'</samp>
|
|
|
60c152 |
Unique URI to reference the source of this document. If no value is
|
|
|
60c152 |
set here, <tt>`centos-art.sh'</tt> script uses current file path to build
|
|
|
60c152 |
the related url that points to current file location inside repository
|
|
|
60c152 |
central server.
|
|
|
63f275 |
|
|
|
60c152 |
|
|
|
60c152 |
<samp>`Relation'</samp>
|
|
|
60c152 |
Unique URI to a related document. If no value is set here,
|
|
|
60c152 |
<tt>`centos-art.sh'</tt> script uses current file path to build the
|
|
|
60c152 |
related url that points to current file location inside repository
|
|
|
60c152 |
central server.
|
|
|
63f275 |
|
|
|
60c152 |
|
|
|
60c152 |
<samp>`Language'</samp>
|
|
|
60c152 |
Two-letter language tag with optional subtags for the language of this
|
|
|
60c152 |
document. (e.g. <samp>`en-GB'</samp>). If no value is set here,
|
|
|
60c152 |
<tt>`centos-art.sh'</tt> script uses the current locale information as in
|
|
|
60c152 |
cli_getCurrentLocale function.
|
|
|
63f275 |
|
|
|
60c152 |
|
|
|
60c152 |
<samp>`Keywords'</samp>
|
|
|
60c152 |
The topic of this document as comma-separated key words, prhases, or
|
|
|
60c152 |
classifications. If no value is set here, <tt>`centos-art.sh'</tt> script
|
|
|
60c152 |
uses file path to build
|
|
|
63f275 |
|
|
|
60c152 |
|
|
|
60c152 |
<samp>`Coverage'</samp>
|
|
|
60c152 |
Extent or scope of this document. If no value is set here,
|
|
|
60c152 |
<tt>`centos-art.sh'</tt> script uses the string <samp>`The CentOS Project'</samp>.
|
|
|
e68a7a |
|
|
|
60c152 |
|
|
|
60c152 |
<samp>`Description'</samp>
|
|
|
60c152 |
Description about the document. If no value is set here,
|
|
|
60c152 |
<tt>`centos-art.sh'</tt> script uses uses empty value as default.
|
|
|
60c152 |
|
|
|
60c152 |
|
|
|
60c152 |
<samp>`Contributors'</samp>
|
|
|
60c152 |
People that contributes in the creation/maintainance of the document.
|
|
|
60c152 |
If no value is set here, <tt>`centos-art.sh'</tt> script uses uses empty
|
|
|
60c152 |
value as default.
|
|
|
60c152 |
|
|
|
60c152 |
|
|
|
008ee0 |
|
|
|
60c152 |
The <samp>`License'</samp> metadatum is not set as a choise, by now. It is
|
|
|
60c152 |
fixed Creative Common Attribution Share-Alike 3.0 License. This is done in order to
|
|
|
60c152 |
grant license consistency among all SVG files we manage inside CentOS
|
|
|
60c152 |
Artwork Repository.
|
|
|
60c152 |
|
|
|
60c152 |
|
|
|
008ee0 |
|
|
|
60c152 |
|
|
|
60c152 |
3.44.2.2 Unused definitions
|
|
|
e68a7a |
|
|
|
60c152 |
As SVG files grow they may end up with unused definitions inside. For
|
|
|
60c152 |
example, if you stop using a pattern or gradient, tags used to define
|
|
|
60c152 |
them are considered unused definitions then. Inkscape 0.46 brings the
|
|
|
60c152 |
<samp>`Vaccum Defs'</samp> feature to remove those unused definitions from SVG
|
|
|
60c152 |
files. The <samp>`Vaccum Defs'</samp> feature is available both at graphical
|
|
|
60c152 |
interface and command line interface.
|
|
|
60c152 |
|
|
|
60c152 |
If you have one or two couple of files, removing unused SVG
|
|
|
60c152 |
definitions using graphical interface may be enough to you. In
|
|
|
60c152 |
contrast, if you have houndred of files to maintain it is not a fun
|
|
|
60c152 |
task to use the gui interface to remove unused SVG definitions editing
|
|
|
60c152 |
those files one by one.
|
|
|
60c152 |
|
|
|
60c152 |
To remove unused SVG definitions from several SVG files, the
|
|
|
60c152 |
<tt>`centos-art.sh'</tt> script uses Inkscape's command-line interface,
|
|
|
60c152 |
specifically with the <samp>`--vaccum-defs'</samp> option.
|
|
|
60c152 |
|
|
|
60c152 |
|
|
|
60c152 |
|
|
|
008ee0 |
3.44.3 Usage
|
|
|
008ee0 |
|
|
|
63f275 |
|
|
|
60c152 |
centos-art svg --update-metadata='path/to/dir'
|
|
|
60c152 |
centos-art svg --update-metadata='path/to/dir' --filter='regex'
|
|
|
60c152 |
Use these commands to update metadata information to <samp>`.svg'</samp> files
|
|
|
60c152 |
under <samp>`path/to/dir'</samp> directory.
|
|
|
60c152 |
|
|
|
60c152 |
|
|
|
60c152 |
centos-art svg --vacuum-defs='path/to/dir'
|
|
|
60c152 |
centos-art svg --vacuum-defs='path/to/dir' --filter='regex'
|
|
|
60c152 |
Use these commands to remove unused definitions inside <samp>`.svg'</samp>
|
|
|
60c152 |
files under <samp>`path/to/dir'</samp> directory.
|
|
|
63f275 |
|
|
|
63f275 |
|
|
|
2c8180 |
|
|
|
63f275 |
When you provide <samp>`--filter='regex''</samp> argument, the list of files
|
|
|
63f275 |
to process is reduced as specified in <samp>`regex'</samp> regular expression.
|
|
|
63f275 |
Inside <tt>`centos-art.sh'</tt> script, the <samp>`regex'</samp> regular
|
|
|
63f275 |
expression is used in combination with find command to look
|
|
|
63f275 |
for files matching the regular expression path pattern.
|
|
|
63f275 |
|
|
|
63f275 |
Warning In order for <samp>`regex'</samp> regular expression to match
|
|
|
63f275 |
a file, the <samp>`regex'</samp> regular expresion must match the whole file
|
|
|
63f275 |
path not just the file name.
|
|
|
63f275 |
|
|
|
2c8180 |
|
|
|
60c152 |
For example, if you want to match all <tt>`summary.svg'</tt> files inside
|
|
|
60c152 |
<tt>`path/to/dir'</tt>, use the .+/summary regular expression.
|
|
|
60c152 |
Later, <tt>`centos-art.sh'</tt> script uses this value inside
|
|
|
60c152 |
^$REGEX\.svg$ expression in order to build the final regular
|
|
|
60c152 |
expression (i.e., ^.+/summary\.svg$ ) that is evaluated against
|
|
|
60c152 |
available file paths inside the list of files to process.
|
|
|
63f275 |
|
|
|
63f275 |
Exceptionally, when you provide <samp>`--filter='regex''</samp> in the way
|
|
|
63f275 |
that <samp>`regex'</samp>, appended to <samp>`path/to/dir/'</samp> (i.e.
|
|
|
63f275 |
<samp>`path/to/dir/regex'</samp>), matches a regular file; the
|
|
|
63f275 |
<tt>`centos-art.sh'</tt> script uses the file matching as only file in the
|
|
|
63f275 |
list of files to process.
|
|
|
63f275 |
|
|
|
63f275 |
|
|
|
60c152 |
|
|
|
4c79b5 |
3.44.4 See also
|
|
|
4c79b5 |
|
|
|
2c8180 |
|
|
|
63f275 |
3.36 trunk/Scripts/Bash
|
|
|
63f275 |
|
|
|
63f275 |
3.37 trunk/Scripts/Bash/Functions
|
|
|
2c8180 |
|
|
|
2c8180 |
|
|
|
4c79b5 |
|
|
|
4c79b5 |
|
|
|
4c79b5 |
|
|
|
60c152 |
[ < ]
|
|
|
60c152 |
[ > ]
|
|
|
4c79b5 |
|
|
|
4c79b5 |
[ << ]
|
|
|
60c152 |
[ Up ]
|
|
|
60c152 |
[ >> ]
|
|
|
4c79b5 |
|
|
|
4c79b5 |
|
|
|
4c79b5 |
<font size="-1">
|
|
|
008ee0 |
This document was generated on December, 2 2010 using texi2html 1.76.
|
|
|
4c79b5 |
</font>
|
|
|
4c79b5 |
|
|
|
4c79b5 |
|
|
|
4c79b5 |
|
|
|
4c79b5 |
</body>
|
|
|
4c79b5 |
</html>
|