Ability to store reusable SVG (CSS) in a "library"

Registered by Zearin on 2008-07-24

It would be great if a user could slowly build up their very own library of SVG graphics (and/or CSS?). Technically, a user could do this manually by creating a library in the filesystem and manually importing SVG into new documents as needed…but then, Inkscape already has an interface of exemplary usability, so I feel that something like this would fit right in. :)

An analogy would be something similar to the iMovie '08 Library on Mac OS X. (Sorry, I couldn't think of a cross-platform example. I'm sure that one exists! Please chime in if you know of one…)

The iMovie interface is divided into 2 main parts: the Library (which stores all source material) and the Projects view. The Projects view is used by dragging in clips from the Library and editing them as needed. When the user drags a clip from the Library to a Project, the video isn't copied, but merely referenced; and the user can edit this referenced video as heavily as they wish without modifying the original video in their Library.

This is surprisingly similar in concept to pulling in some SVG from the library, and overriding CSS rules for it as necessary. The original can remain untouched for reuse in as many projects as need be, while still allowing the user to "season to taste" when they import it into a document.

This of course depends on support for multiple CSS files, and proper rendering of the "cascade" (which is just a funny word "overridden styles" :). If I'm not mistaken, multiple stylesheet support is planned but still a ways off. But I thought I'd suggest it here while I had the idea!

Blueprint information

Not started
Needs approval
Series goal:
Milestone target:

Related branches



Further suggestions:

-An object in a library could get extra XML-tags... and a copy of this library-object would have the same XML-tags.
Then another program could niceley parse the resulting svg files.
=>This way Inkscape could be used for example as powerful GUI editor.
(If a rectangle should become a TextInputField after parsing, the library-object would simply have corresponing XML-tag entries.)

-Such libraries could easily be exchanged with other users.

-The object-library in FlashMX is also a nice example for storing reusable pictures.

-The clone-function in Inkscape could be used as an workaround to get some 'library' at present, but a real library would be great!


Work Items

This blueprint contains Public information 
Everyone can see this information.