All Projects → petercollingridge → Svg Optimiser

petercollingridge / Svg Optimiser

Licence: other
A python module to clear up SVG files, especially those created in Inkscape

Programming Languages

javascript
184084 projects - #8 most used programming language
python27
39 projects

Labels

Projects that are alternatives of or similar to Svg Optimiser

Svg Banners
Styled banners for your Readme made with html/css in SVG !!
Stars: ✭ 145 (-8.23%)
Mutual labels:  svg
Wechart
Create all the [ch]arts by cax or three.js - Cax 和 three.js 创造一切图[表]
Stars: ✭ 152 (-3.8%)
Mutual labels:  svg
Svgdom
Straightforward DOM implementation to make SVG.js run headless on Node.js
Stars: ✭ 154 (-2.53%)
Mutual labels:  svg
Gantt
Gantt chart library using jsx support SVG, Canvas and SSR
Stars: ✭ 148 (-6.33%)
Mutual labels:  svg
React Svg Map
A set of React.js components to display an interactive SVG map
Stars: ✭ 150 (-5.06%)
Mutual labels:  svg
Terminal In React
👨‍💻 A component that renders a terminal
Stars: ✭ 1,939 (+1127.22%)
Mutual labels:  svg
Htmlrenderer
C# HTML Layout and HTML Rendering Engine
Stars: ✭ 143 (-9.49%)
Mutual labels:  svg
Lazy Line Painter
Lazy Line Painter - A Modern JS library for SVG path animation
Stars: ✭ 1,918 (+1113.92%)
Mutual labels:  svg
Cax
HTML5 Canvas 2D Rendering Engine - 小程序、小游戏以及 Web 通用 Canvas 渲染引擎
Stars: ✭ 1,864 (+1079.75%)
Mutual labels:  svg
Ui Snippets Menu Animations
Four different menu animations for menu button toggle between hamburger, cross and back icon.
Stars: ✭ 153 (-3.16%)
Mutual labels:  svg
Flow View
is a visual editor for Dataflow programming
Stars: ✭ 148 (-6.33%)
Mutual labels:  svg
Vue Tree Chart
flexible tree chart using Canvas and Svg, powered by D3.js
Stars: ✭ 149 (-5.7%)
Mutual labels:  svg
Vue Topo
😳 vue + svg 拓扑编辑与展示
Stars: ✭ 153 (-3.16%)
Mutual labels:  svg
Vivid
a JavaScript library which is built to easily customize and use the SVG Icons with a blaze.
Stars: ✭ 1,797 (+1037.34%)
Mutual labels:  svg
Aegis Icons
Unofficial 2FA entry icons for open source Android authenticator Aegis
Stars: ✭ 153 (-3.16%)
Mutual labels:  svg
Svglite
A lightweight svg graphics device for R
Stars: ✭ 143 (-9.49%)
Mutual labels:  svg
Angular Svg Icon
Angular component for inlining SVGs allowing them to be easily styled with CSS.
Stars: ✭ 151 (-4.43%)
Mutual labels:  svg
Mini Svg Data Uri
Small, efficient encoding of SVG data URIs for CSS, HTML, etc.
Stars: ✭ 158 (+0%)
Mutual labels:  svg
Faviator
A simple easy favicon generator.
Stars: ✭ 155 (-1.9%)
Mutual labels:  svg
Webfonts Loader
Make an icon font from SVGs!
Stars: ✭ 153 (-3.16%)
Mutual labels:  svg

Python program to clean up SVG files, particularly those created by Inkscape or Illustrator

--- Current Functionality ---

Remove attributes

Remove attributes with a given name, e.g. remove 'id' attributes, which often aren't used.

Remove comments

Removes all comments.

Remove elements

Remove elements by their tag name.

Remove namespaces

Remove all attributes associated with a given namespace, e.g. remove 'sodipodi' attributes created by Inkscape.

Remove redundant groups

Move child elements outdside of group with no attributes, then delete group.

Set decimal places

Rewrite attributes to a given number of decimal places.
Strip out unnecessary trailing zeros.
  • Attributes
    • x, y, x1, y2, x2, y2
    • cx, cy
    • r, rx, ry
    • width, height
    • points
    • d

Apply transformations

Applies transformations to elements so the attribute can be removed.
  • Translation

    • In the form

      • comma: (12,34)
      • space(s): (12 34)
      • comma and space(s): (12, 34), (12 ,34), (12 , 34)
      • decimal: (1.2, 3.4)
      • negative: (-1.2, -3.4)
    • Shapes

      • line
      • rect
      • circle, ellipse
      • polyline, polygon
      • path (not fully tested)
      • g (not fully tested)
  • Scale

    • Shapes
      • path
      • rect

CSS stlying

Convert individual style attributes to CSS styling.
Remove default styles.

--- To Do ---

Remove namespaces

Remove xml namespace if possible

Groups

Remove unnecessary groups
Remove unnecessary text groups
Add groups in make styling and transforms more efficient

Transformations

  • Translation

    • In the form

      • single: (12)
    • Shapes

      • text
      • tspan
  • Rotation

    • Shapes
      • path
      • polyline/polygon
      • line
      • circle
      • rect -> polygon/path?
  • Scale

    • Shapes
      • polyline/polygon
      • line
      • circle -> ellipse?
  • SkewX and SkewY

    • Shapes
      • line
      • path
      • polyline/polygon
      • rect -> polygon/path?
      • circle -> path arc?
  • Matrix

    • Shapes
      • line
      • path
      • polyline/polygon
      • rect -> polygon/path?

CSS styling

Need to check whether style element already exists and whether class names already exist.
Ideally find most efficient way to class elements for styling.

License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].