I don't see the TiddlyWikiSVG tiddler at your site -- maybe you forgot
to upload?

The reference material I have says you have to define your gradients
in a <def> tag inside of the <svg> tag, and then link them with
fill:url() syntax when drawing the elements. I suppose this complexity
is the reason Raphael was developed.

I developed a little java program awhile back to generate a part in
SVG, but I only needed a handful of SVG instructions to make that
work. Guess I need to do some more homework.

Good luck!
Mark

On Jul 30, 3:26 pm, Jonnan <jonnan.w...@gmail.com> wrote:
> Actually no - I'm moderately familiar with SVG, and when implemented
> it works fairly spiffilly I suspect the issue is my ignorance and the
> fact that I'm basically practicing voodoo programming and throwing
> things together that I don't actually deeply understand. I seem to
> have issues with object oriented systems and sometimes don't 'get' the
> model properly.
>
> That said - going by the original blog comments where I stole this
> code from, and the particular way this is breaking, I *suspect* I'm
> setting up the xlink namespace incorrectly in this context, where I'm
> creating a 'pseudo-document' and placing it in the html via
> javascript, as opposed to actually embedding a document.
>
> My reasoning - none of the actual svg I've tested is broken - even the
> <g> group command works properly (Do a transform on a group, and it
> properly transforms each and every member - and that is probably the
> most breakable 'pure' svg command I've tested so far) - the break
> comes when you <use> an item by it's ID via the xlink:href="#id"
> system - and xlink is a separate namespace from svg.
>
> So far, all the items that are broken (Definitions, transforming a
> group *by id*, gradients, et al) explicitly use xlink, which as I
> understand it is pretty solid. And all these things work fine the way
> I have it set up within an svg document, so I don't think svg or xlink
> is broken.
>
> Soooo - I suspect *I* have broken xlink in this context somewhere,
> because I don't know what I'm doing and there's a subtle difference
> between this 'pseudo-document' I've set up and a 'real' svg document
> that's embedded via html - <G>. Given that I'm not getting some kind
> of 'reference does not exist' error after the namespace was declared,
> the ID's would appear to exist, but be empty - Worst case scenario is
> that their empty due to the order of something in the DOM or
> javascript, but that seems unlikely.
>
> But I'm not liable to solve it tonight - posting from work and it's
> been busy - <G>.
>
> Jonnan
>
> On Jul 30, 10:27 am, "Mark S." <throa...@yahoo.com> wrote:
>
> > Hello Jonnan,
>
> > Thanks for reporting back. Eric's Raphael library interface code can
> > do amazing things, but my interest isn't animation (yet), and I'd like
> > to avoid having to learn yet another interface language. But it might
> > be unavoidable. It appears from your other post that the SVG
> > implementation may be a bit broken. Perhaps its a kind of vapor-
> > technology -- all the rage in 2002, but hasn't really been supported
> > by the industry as well as one might like.
>
> > My thought prior to this was that I could write a TW script that would
> > create a separate file with the SVG code, and then embed it using the
> > <embed> tags. A little bit clunky, but still portable in some sense of
> > the word.
>
> > Thanks for your work!
> > Mark
>
> > On Jul 29, 4:08 pm, Jonnan <jonnan.w...@gmail.com> wrote:
>
> > > And Hah!!! Thank you sir - I'd have never thought about jQuery there;
>
> > > And the tweak needed? Add the Namespace!!
>
> > > config.macros.SVG =
> > >  { handler: function (place, macroName, params, wikifier, paramString,
> > > tiddler)
> > >    { var svg = params[0]
> > >      var svgObject = document.createElement('object');
> > >      svgObject.setAttribute('type', 'image/svg+xml');
> > >      svgObject.setAttribute('data', 'data:image/svg+xml,'+ '<svg
> > > width="100%" height="100%" version="1.1" xmlns="http://www.w3.org/2000/
> > > svg">'+svg +'</svg>');
> > >      jQuery(place).append(svgObject);
> > >    }
> > >  };
>
> > > And then  <<SVG "<circle r='50' cx='50' cy='50' fill='green'/>">>
>
> > > Gives you a green circle. There was some confusion on the original
> > > blog about what SVG this would handle properly, but even simple svg
> > > objects gives a bit more flexibility in TiddlyWiki, and I'd rather
> > > lose some functionality and be able to stick with clean xml than
> > > overreach for something that someone has to learn a specialized system
> > > to work with (He said, like xml/svg is simple - <G>.)
>
> > > Thanks again - I've been piddling with this off and on for awhile, and
> > > knew I was missing something stupid and simple.
>
> > > Jonnan
>
> > > On Jul 29, 12:10 pm, "Mark S." <throa...@yahoo.com> wrote:
>
> > > > I think you're making great progress. Embedding SVG would allow TW to
> > > > be used for parts diagrams, games, maps ... lots of cool stuff.
>
> > > > In your code, try replacing:
>
> > > >   $(place).appendChild(svgObject);
>
> > > > with :
>
> > > >   jQuery(place).append(svgObject);
>
> > > > And replace your macro with:
>
> > > >   <<SVG "<circle r='50' cx='50' cy='50' fill='green'/>">>
>
> > > > Ok. Now you should get a working embedded "something".
> > > > Unfortunately, as you will see, the code doesn't render as SVG -- it
> > > > renders as embedded XML, and complains that it doesn't have a style
> > > > sheet. Can't help but think that one more little tweak might be the
> > > > ticket.
>
> > > > -- Mark
>
> > > > On Jul 29, 5:11 am, Jonnan <jonnan.w...@gmail.com> wrote:
>
> > > > > I feel like I must be both reinventing the wheel, and the most
> > > > > retarded caveman ever to do it,but to expand the functionality of
> > > > > TiddlyWiki for writing stories, I have been trying to get a macro to
> > > > > interpret/add inline svg graphics to tiddlywiki.
>
> > > > > I have found all sorts of things where people have gone well beyond
> > > > > the simple thing I want - science graphs, interactive charts, and so
> > > > > on, and I've found a code snippet (http://softwareas.com/inline-svg)
> > > > > for doing inline svg that, going by the reactions of seemingly
> > > > > competent people that posted at the time, seems to obviously just be
> > > > > something anyone even slightly competent could cut and paste into a
> > > > > macro and at least get a simple graphic to work.
>
> > > > > I'm at the "It's so obvious a child could see it - Go find me a
> > > > > child!" point - I no longer care if I look like a blithering idiot, I
> > > > > would just like to know what obvious thing I'm missing that makes
> > > > > turning this:
> > > > > <<SVG "<circle r=\"50\" cx=\"50\" cy=\"50\" fill=\"green\"/>">>
>
> > > > > config.macros.SVG =
> > > > >  { handler: function (place, macroName, params, wikifier, paramString,
> > > > > tiddler)
> > > > >   { var svg = params[0]
> > > > >     var svgObject = document.createElement('object');
> > > > >     svgObject.setAttribute('type', 'image/svg+xml');
> > > > >     svgObject.setAttribute('data', 'data:image/svg+xml,'+ '<svg>'+svg
> > > > > +'</svg>');
> > > > >     $(place).appendChild(svgObject);
> > > > >   }
> > > > >  }
>
> > > > > into a functional macro so much harder than it seems like it should
> > > > > be?
>
> > > > > I'm almost certain the actual error is on the last line (at least the
> > > > > macro doesn't deliver an error when it's commented out), but I have
> > > > > tried pointers, functions 'this', 'here', 'place', and a dozen other
> > > > > things to get it to actually output the svg into the file as an
> > > > > object, and I'm obviously missing something.
>
> > > > > With apologies for the order of frustration and a side of being a
> > > > > whiny ***** - <G>. I don't know javascript/DOM, but this looks like it
> > > > > should be so bloody simple?
>
> > > > > Thanks again - Jonnan
>
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To post to this group, send email to TiddlyWiki@googlegroups.com
To unsubscribe from this group, send email to 
tiddlywiki+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/TiddlyWiki?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to