Coder Social home page Coder Social logo

isaxs / ext-sozi Goto Github PK

View Code? Open in Web Editor NEW

This project forked from asyazwan/ext-sozi

0.0 2.0 0.0 1.62 MB

Sozi extension for SVG-Edit -- Discontinued until I have time to update for latest Sozi & SVG-Edit

License: MIT License

CSS 10.80% JavaScript 89.20%

ext-sozi's Introduction

ext-sozi

SVG-Edit extension to use Sozi in your SVGs. Create Sozi SVGs in your browser, 100% client-side.

About

This is an extension to SVG-Edit with the purpose of creating Sozi presentations. Created to be used as part of a 24MAS project.

It also hope to be more friendly than the InkScape alternative.

Install

Just put sozi folder inside editor/extensions/ and you're all set! You might need to alter your sanitize.js if you plan on editing the source manually with the Edit Source tool. Check wiki page for more info, or use supplied sanitize.js.example.

Demo

http://asyazwan.github.com/ext-sozi/

Technology

  • SVG-Edit a very cool DOM-based in-browser SVG editor. Everything is client-side. Currently using 2.6-alpha.
  • Sozi (Main site) create presentation SVG by parsing sozi attributes attached to SVG elements. Currently using v11.10
  • saveAs() for Chrome (and potentially others), which saves your SVG automatically (you might get a prompt to Keep/Cancel the file).
  • Downloadify for FF, a small flash-based file saving app. No server contacts are made (which is precisely why I chose to use Flash instead of contacting server to get proper header and save dialog).

Support

It is important to understand that I created this extension to use in my project, which I do not need to care about Internet Explorer, Safari, and Opera (I have cool bosses). Thus I have chosen to support only newer FireFox and Chrome. It may or may not work on other browsers. If you're up for testing on other browsers, patches are welcomed!

Some stuff I use that you may need to check browser support for:

  • File-saving mechanism. If your browser do not support FileSaver (or saveAs() above) API and you do not want Flash-based solution provided, then you're on your own
  • createObjectURL which is used for previewing your project

Sozi InkScape extension

  • This extension IS NOT compatible with the InkScape extension. This is by design as I have chosen to enforce frames layer. All Sozi frames must be in one layer. I also added a few more custom attributes to help in rebuilding saved SVG in SVG-Edit.
  • I am unsure if the InkScape extension can edit SVGs generated by this extension. Not tested. It probably can.

Code

I am aware that the code is not ideal and can be improved. I started this with proper unit testing but as dateline approaches everything moved too fast, so yeah. It was also tightly integrated with other part of my project which I had to split just to open source the sozi part. So there may be some stuff I overlooked in the process.

My main goal is to make this pass JSLint. If you can help with it, please do!

Also the convention and styling (8 columns tab) is inherited from SVG-Edit. So please stick to it if you want to provide patches/pull request.

Issues, Suggestions, Wishlist

Use the issue tracker to provide feedback, report bugs, or post suggestions.

ext-sozi's People

Contributors

asyazwan avatar

Watchers

James Cloos avatar CyberSAXS avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.