summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: bb1c97d)
raw | patch | inline | side by side (parent: bb1c97d)
author | JazzyNico <nicoduf@yahoo.fr> | |
Sun, 29 Nov 2009 19:20:07 +0000 (20:20 +0100) | ||
committer | JazzyNico <nicoduf@yahoo.fr> | |
Sun, 29 Nov 2009 19:20:07 +0000 (20:20 +0100) |
share/extensions/scour.inkscape.py | patch | blob | history | |
share/extensions/scour.inx | patch | blob | history |
index 531dfb46c6a465d11b14d6879cd58e481cd3ff96..9e87757826210bd724de8e536b6a0d995c2479ba 100755 (executable)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
-import sys
+import sys, inkex
from scour import scourString
-input = file(sys.argv[1], "r")
-sys.stdout.write(scourString(input.read()).encode("UTF-8"))
-input.close()
-sys.stdout.close()
+
+class ScourInkscape (inkex.Effect):
+
+ def __init__(self):
+ inkex.Effect.__init__(self)
+ self.OptionParser.add_option("--tab",
+ action="store", type="string",
+ dest="tab")
+ self.OptionParser.add_option("--simplify-colors", type="inkbool",
+ action="store", dest="simple_colors", default=True,
+ help="won't convert all colors to #RRGGBB format")
+ self.OptionParser.add_option("--style-to-xml", type="inkbool",
+ action="store", dest="style_to_xml", default=True,
+ help="won't convert styles into XML attributes")
+ self.OptionParser.add_option("--group-collapsing", type="inkbool",
+ action="store", dest="group_collapse", default=True,
+ help="won't collapse <g> elements")
+ self.OptionParser.add_option("--enable-id-stripping", type="inkbool",
+ action="store", dest="strip_ids", default=False,
+ help="remove all un-referenced ID attributes")
+ self.OptionParser.add_option("--embed-rasters", type="inkbool",
+ action="store", dest="embed_rasters", default=True,
+ help="won't embed rasters as base64-encoded data")
+ self.OptionParser.add_option("--keep-editor-data", type="inkbool",
+ action="store", dest="keep_editor_data", default=False,
+ help="won't remove Inkscape, Sodipodi or Adobe Illustrator elements and attributes")
+ self.OptionParser.add_option("--strip-xml-prolog", type="inkbool",
+ action="store", dest="strip_xml_prolog", default=False,
+ help="won't output the <?xml ?> prolog")
+ self.OptionParser.add_option("-p", "--set-precision",
+ action="store", type=int, dest="digits", default=5,
+ help="set number of significant digits (default: %default)")
+ self.OptionParser.add_option("--indent",
+ action="store", type="string", dest="indent_type", default="space",
+ help="indentation of the output: none, space, tab (default: %default)")
+
+
+ def effect(self):
+ input = file(sys.argv[11], "r")
+ sys.stdout.write(scourString(input.read(), self.options).encode("UTF-8"))
+ input.close()
+ sys.stdout.close()
+
+
+if __name__ == '__main__':
+ e = ScourInkscape()
+ e.affect(output=False)
index 57884b6aaed48929dc85dbf80db76a211dd1ea16..d5cddeea578d920ddd15079ca5a5b886a6962f5b 100644 (file)
<dependency type="executable" location="extensions">scour.py</dependency>
<dependency type="executable" location="extensions">svg_regex.py</dependency>
<dependency type="executable" location="extensions">yocto_css.py</dependency>
+ <param name="tab" type="notebook">
+ <page name="Options" _gui-text="Options">
+ <param name="simplify-colors" type="boolean" _gui-text="Simplify colors">true</param>
+ <param name="style-to-xml" type="boolean" _gui-text="Style to xml">true</param>
+ <param name="group-collapsing" type="boolean" _gui-text="Group collapsing">true</param>
+ <param name="enable-id-stripping" type="boolean" _gui-text="Enable id stripping">false</param>
+ <param name="embed-rasters" type="boolean" _gui-text="Embed rasters">true</param>
+ <param name="keep-editor-data" type="boolean" _gui-text="Keep editor data">false</param>
+ <param name="strip-xml-prolog" type="boolean" _gui-text="Strip xml prolog">false</param>
+ <param name="set-precision" type="int" _gui-text="Set precision">5</param>
+ <param name="indent" type="enum" _gui-text="Indent">
+ <_item value="space">Space</_item>
+ <_item value="tab">Tab</_item>
+ <_item value="none">None</_item>
+ </param>
+ </page>
+ <page name="Help" _gui-text="Help">
+ <_param name="instructions" type="description" xml:space="preserve">This extension optimize the SVG file according to the following options:
+ * Simplify colors: convert all colors to #RRGGBB format.
+ * Style to xml: convert styles into XML attributes.
+ * Group collapsing: collapse <g> elements.
+ * Enable id stripping: remove all un-referenced ID attributes.
+ * Embed rasters: embed rasters as base64-encoded data.
+ * Keep editor data: don't remove Inkscape, Sodipodi or Adobe Illustrator elements and attributes.
+ * Strip xml prolog: don't output the xml prolog.
+ * Set precision: set number of significant digits (default: 5).
+ * Indent: indentation of the output: none, space, tab (default: space).</_param>
+ </page>
+ </param>
<output>
<extension>.svg</extension>
<mimetype>image/svg+xml</mimetype>