David I've made significant progress and can now view drawings with partial success when tiddlers are viewed. Here's the posting I addded to the TiddlyWiki group that provides the details of what I did alongside what does and doesn't work now. And, as ever, if you have any insights into the remaining challenges, it'd be great to hear your views.
I've succeeded in getting drawings to draw correctly when a tiddler is displayed. Guessing that ASCIIsvgAddon.js handled display of the drawing when a tiddler is viewed and knowing it contains a drawpics function that was almost identical to that in AsvgHA.js, I modified that in the former as follows: I changed the following code in drawpics from ... var sscr = picture.getAttribute("sscr"); if ((sscr != null) && (sscr != "")) { try { parseShortScript(sscr); } catch (e) {} } to ... //Modified by K Lucas following a related suggestion by David Lippman var sscr = picture.getAttribute("sscr"); var src = picture.getAttribute("script"); if ((sscr != null) && (sscr != "")) { try { parseShortScript(sscr); } catch (e) {} } else if ((src!=null) && (src != "")) { try { if (isIE) { with (Math) eval(src); // picture.window.setname(picture.id); } } catch(err) {alert(err+"\n"+src)} } //end of K Lucas modification Now static drawings appear when tiddlers are viewed and whether or not they are edited with the standard TW editor or the html view in HTMLArea. I'm getting some odd effects in this specific spiral drawing because the drawing is truncated at the top and bottom in both the html view within HTMLArea and when the drawing is viewed outside the editor, regardless of whether the drawing was created in a wysiwyg tiddler or a standard tiddler. This truncation remains even if I replace the width and height settings (which I can currently only do reliably in a non-wysiwyg tiddler because HTMLArea strips these out of the embed statement). I also get truncation on the right of the drawing when I first view it in the wysiwyg view of the HTMLArea editor but not when I look at the code in html view and then return to wysiwyg view. But I've created a simpler drawing using the folling and this appears to display correctly in all circumstances. <embed width="117" height="117" src="HTMLArea/plugins/AsciiSvg/d.svg" script=' initPicture(-2,2) grid(1,1) marker = "arrow" stroke = "red" line([0,0],[1,1]) '> I'm conscious that I haven't tested David's original suggestion fully or my further implementation of it in ASCIIsvgAddon.js and don't really know how to do this other than to exercise it through examples. But this all seems to be a great step forward. Beyond that testing, my outstanding issues are therefore: 1) Can I stop HTMLArea swapping the script delimeters to single quotes? 2) Can I stop HTMLArea removing the width and height statements? 3) How can I get the spiral drawing displayed without top and bottom truncation when viewing the tiddler? 4) how can I get the spiral drawing to display without truncation of the right-hand side when first viewed within HTMLArea's wysiwyg view 5) Find out whether animated drawings will also work using these modified .js files. If anyone has any insights into 1- 4 above I'd be very interested to hear your ideas. And I'll report back on item 5 when I've tried it. Many thanks Kevin On Nov 2, 10:45 pm, kilucas <[EMAIL PROTECTED]> wrote: > I've succeeded in getting drawings to draw correctly when a tiddler is > displayed. > > Guessing that ASCIIsvgAddon.js handled display of the drawing when a > tiddler is viewed and knowing it contains a drawpics function that was > almost identical to that in AsvgHA.js, I modified that in the former > as follows: > > I changed the following code in drawpics from ... > > var sscr = picture.getAttribute("sscr"); > if ((sscr != null) && (sscr != "")) { > try { > parseShortScript(sscr); > } catch (e) {} > } > > to ... > > //Modified by K Lucas following a related suggestion by David Lippman > var sscr = picture.getAttribute("sscr"); > var src = picture.getAttribute("script"); > if ((sscr != null) && (sscr != "")) { > try { > parseShortScript(sscr); > } catch (e) {} > } else if ((src!=null) && (src != "")) { > try { > if (isIE) { > with (Math) eval(src); > // > picture.window.setname(picture.id); > } > } catch(err) {alert(err+"\n"+src)} > } > //end of K Lucas modification > > Now static drawings appear when tiddlers are viewed and whether or not > they are edited with the standard TW editor or the html view in > HTMLArea. > > I'm getting some odd effects in this specific spiral drawing because > the drawing is truncated at the top and bottom in both the html view > within HTMLArea and when the drawing is viewed outside the editor, > regardless of whether the drawing was created in a wysiwyg tiddler or > a standard tiddler. This truncation remains even if I replace the > width and height settings (which I can currently only do reliably in a > non-wysiwyg tiddler because HTMLArea strips these out of the embed > statement). > > I also get truncation on the right of the drawing when I first view it > in the wysiwyg view of the HTMLArea editor but not when I look at the > code in html view and then return to wysiwyg view. > > But I've created a simpler drawing using the folling and this appears > to display correctly in all circumstances. > > <embed width="117" height="117" src="HTMLArea/plugins/AsciiSvg/d.svg" > script=' > initPicture(-2,2) > grid(1,1) > marker = "arrow" > stroke = "red" > line([0,0],[1,1]) > '> > > I'm conscious that I haven't tested David's original suggestion fully > or my further implementation of it in ASCIIsvgAddon.js and don't > really know how to do this other than to exercise it through examples. > But this all seems to be a great step forward. Beyond that testing, my > outstanding issues are therefore: > > 1) Can I stop HTMLArea swapping the script delimeters to single > quotes? > > 2) Can I stop HTMLArea removing the width and height statements? > > 3) How can I get the spiral drawing displayed without top and bottom > truncation when viewing the tiddler? > > 4) how can I get the spiral drawing to display without truncation of > the right-hand side when first viewed within HTMLArea's wysiwyg view > > 5) Find out whether animated drawings will also work using these > modified .js files. > > If anyone has any insights into 1- 4 above I'd be very interested to > hear your ideas. And I'll report back on item 5 when I've tried it. > > Many thanks > > Kevin > > On Nov 2, 9:29 pm, kilucas <[EMAIL PROTECTED]> wrote: > > > > > In a standard (non-wysiwyg tiddler) I get the same output as for a > > wysiwyg tiddler when the tiddler is displayed - an empty SVCG pane - > > if I surround the embed statement with <html> and </html> which is > > needed, I believe, to tell a standard tiddler to behave as a chunk of > > html. > > > In both cases therefore the formost challenge seem to lie in getting > > the drawing to draw on the SVG pane. As the drawing is defined by the > > script I'm guessing the problem lies in getting the script executed > > when a tiddler is displayed as against when it's edited in the > > HTMLArea editor which I can now achieve with the modified scripts > > above. > > > Kevin > > > On Nov 2, 9:19 pm, kilucas <[EMAIL PROTECTED]> wrote: > > > > Here's what I found when I tried this. > > > > I placed the following in a wyswiwyg tiddler within Bram Chen's > > > HTMLArea using the html view (not the standard editor view): > > > > <embed src="HTMLArea/plugins/AsciiSvg/d.svg" script="border = 0 > > > initPicture(-10,10) > > > axes() > > > stroke = 'red' > > > p = [] > > > with (Math) > > > for (t = 0; t < 10.01; t += 0.05) > > > p[p.length] = [t*cos(PI*t), t*sin(PI*t)] > > > path(p)" /> > > > > It's code from an example of a drawing at the ASCIISVG home page > > > athttp://www1.chapman.edu/~jipsen/svg/asciisvg.htmlbutmodifiedas > > > follows: > > > > 1) When I save the original raw "embed statement, the delimeiters for > > > the script are changed from single quotes to double quotes and this > > > throws errors when the script encounters the "red" attribute. So I > > > changed the script delimiters to double quotes and the delimiters > > > within the script itself to single quotes > > > > 2) The original example begins <embed width="117" height="117" > > > src="d.svg" ... The HTMLArea editor strips out the width and height > > > elements - I don't know why. But I think they're being remembered > > > because the SVG output seems to be affected by them nonetheless as > > > mentioned below > > > > 3) The original example refers to "d.svg" in the wrong location for > > > Bram's HTMLArea and I corrected it. > > > > The result was that I did indeed see the drawing when I switched out > > > of raw html mode and back to normal viewing within the editor. > > > > Another oddity was that I'd initially used a version of the embed > > > statement that omitted the height and width statements and the drawing > > > had been truncated on the right. When I replaced the width and height > > > statements, the drawing appeared correctly even though html view in > > > the editor no longer showed the width and height statements. > > > > However, the drawing only appears as an empty SVG area when I view the > > > tiddler oustide the editor. Hence I'm only halfway to the desired > > > solution. > > > > If I place the same embed statement in a non-wysiwyg tiddler (so it's > > > never been touched by HTMLArea) I just see the embed statement when I > > > view the tiddler. > > > > Overall I'm therefore left wondering: > > > > 1) How can I get the drawing displayed when viewing the tiddler? Is > > > there perhaps an equivalent place in my TW where I need to get the > > > right code to execute at view time instead of edit time? > > > 2) Can I stop HTMLArea swapping the script delimeters to single > > > quotes? > > > 3) can I stop HTMLArea removing thew width and height statements? > > > 4) How would I invoke the same drawing from a non-wysiwyg tiddler. > > > (Maybe the answer to 1 above will help here). > > > > I'll let you know if I learn more but if anyone has any insights that > > > might help further, please by all means let me know. > > > > Thanks > > > > Kevin > > > > On Nov 2, 8:57 pm, kilucas <[EMAIL PROTECTED]> wrote: > > > > > David's made the following suggestion: > > > > > This is untested so no guarantees, but you can try this: In > > > > AsvgHA.js > > > > (or ASCIIsvgHA.js) drawPics, replace > > > > > var sscr = picture.getAttribute("sscr"); > > > > if ((sscr != null) && (sscr != "")) { > > > > try { > > > > if (isIE) { > > > > parseShortScript(sscr); > > > > //names the SVG so it can identify > > > > itself onclick > > > > picture.window.setname(picture.id); > > > > } > > > > } catch (e) {} > > > > } > > > > > with > > > > > var sscr = picture.getAttribute("sscr"); > > > > var src = picture.getAttribute("script"); > > > > > if ((sscr != null) && (sscr != "")) { > > > > try { > > > > if (isIE) { > > > > parseShortScript(sscr); > > > > //names the SVG so it can identify > > > > itself onclick > > > > picture.window.setname(picture.id); > > > > } > > > > } catch (e) {} > > > > } else if ((src!=null) && (src != "")) { > > > > try { > > > > if (isIE) { > > > > with (Math) eval(src); > > > > picture.window.setname(picture.id); > > > > } > > > > } catch(err) {alert(err+"\n"+src)} > > > > } > > > > > Kevin > > > > > On Oct 28, 12:18 pm, kilucas <[EMAIL PROTECTED]> wrote: > > > > > > I posted some informatiuon about this in the ASCIIMath Google group > > > > > where David Lippman and Peter Jipsen, who were both instrumental in > > > > > producing the mathematical version of HTMLArea are posting. David got > > > > > back to me to suggest there's a bug inASCIIsvgwhich is causing the > > > > > problem. > > > > > > I've copied my posting and his reply here (my apologies if that breaks > > > > > any form of etiquette) and will see if I can rectify the problem > > > > > myself although I'm not that handy with code and this may defeat me. > > > > > Maybe someone better skilled might know how to fix this without too > > > > > much effort. > > > > > > Bram: Presumably it'd be good to incorporate any solution we find into > > > > > your package. > > > > > > Here's my posting, then David's reply: > > > > > > Kevin- Hide quoted text - > > - Show quoted text -... > > read more » --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/TiddlyWiki?hl=en -~----------~----~----~----~------~----~------~--~---