Forum: Ruby on Rails display SVG challenge

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Ac052cd9340165311454aae4f410f6cc?d=identicon&s=25 john (Guest)
on 2007-03-12 04:49
(Received via mailing list)
Here's a challenge to all you good rails programmers: how does one
display SVG images in Rails ?   Now I realize many of you ignore SVG
since it "isn't supported everywhere" but that is rapidly changing (it
is supported in Firefox since 1.5, it's now in the Safari overnight
builds, and in IE under the SVG plugin - which is usually shipped but
not activated with the Adobe plugins.

Since SVG can be displayed in ordinary HTML (using <embed type=image/
svg+xml in Firefox), I can only think of 2 reasons that it is not
recognized under Rails:
1) maybe Webrick or Mongrel doesn't recognize it ?
2) somewhere Rails doesn't recognize the mime type - I've tried
changing mime in 2 locations:
a) in the environment.rb file under myproject/config
adding Mime::Type.register "image/svg+xml"  (also tried "application/
xhtml+xml")

b) in httputils.rb under /usr/lib/ruby/1.8/webrick/
adding "svg" => "image/svg+xml"

But no matter what I try the browser recognizes it is a svg file but
wants to just save it  (indicative of a mime problem).

Can anyone solve this problem ?
5ce55767684e0cd1727db2b8b8975640?d=identicon&s=25 Steve Longdo (Guest)
on 2007-03-12 14:59
(Received via mailing list)
Are you embedding the SVG image in HTML or serving it directly?

On 3/11/07, john <John.Staff2222@gmail.com> wrote:
> svg+xml in Firefox), I can only think of 2 reasons that it is not
>
> But no matter what I try the browser recognizes it is a svg file but
> wants to just save it  (indicative of a mime problem).
>
> Can anyone solve this problem ?
>
>
> >
>


--
Thanks,
-Steve
http://www.stevelongdo.com
Ac052cd9340165311454aae4f410f6cc?d=identicon&s=25 john (Guest)
on 2007-03-12 17:34
(Received via mailing list)
well for icons - they are static svg files located in the /public/
images folder, but graphs will be generated dynamically based on data.
5ce55767684e0cd1727db2b8b8975640?d=identicon&s=25 Steve Longdo (Guest)
on 2007-03-13 01:26
(Received via mailing list)
Mongrel seems to work with embedded SVG, IF you serve the page as .xhtml
which maps in Mongrel's mimetypes.yml to application/xhtml+xml.

try this little chunk stolen from Sam Ruby's (
http://www.intertwingly.net/blog/2007/01/15/applic...) site:

<html>
<body>
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:l="http://www.w3.org/1999/xlink" viewBox="0 0 100 102">
  <radialGradient id="jsongrad" cx="65" cy="90" r="100"
gradientUnits="userSpaceOnUse"><stop stop-color="#EEF"/><stop
offset="1"/></radialGradient>
  <path d="M61,2 A49,49 0 0,0 39,99 C9,79 10,24 45,25 C72,24 65,75
50,75 C93,79 91,21 62,2" id="jsonswirl" fill="url(#jsongrad)"/>

  <use l:href="#jsonswirl" transform="translate(50, 50) rotate(180)
translate(-50, -50)"/>
  <g transform="scale(2, 2) translate(25, 25)" fill="none">
    <ellipse stroke="#66899a" rx="3" ry="22"/>
    <ellipse stroke="#e1d85d" rx="3" ry="22" transform="rotate(-66)"/>
    <ellipse stroke="#80a3cf" rx="3" ry="22" transform="rotate(66)"/>

    <circle fill="#80a3cf" r="6.5" stroke="#FFF"/>
 </g>
</svg>
  </body>

</html>



On 3/12/07, john <John.Staff2222@gmail.com> wrote:
> >
> >
> > > b) in httputils.rb under /usr/lib/ruby/1.8/webrick/
>
>
> >
>


--
Thanks,
-Steve
http://www.stevelongdo.com
Ac052cd9340165311454aae4f410f6cc?d=identicon&s=25 john (Guest)
on 2007-03-13 18:31
(Received via mailing list)
thanks for info - and perhaps if .svg is added to the yml mapping to
application/xhtml+xml it may work,
I'll also try this in webrick (I thought I did but will double
check).
Ac052cd9340165311454aae4f410f6cc?d=identicon&s=25 john (Guest)
on 2007-03-14 01:27
(Received via mailing list)
Getting closer I think - I applied the ".svg" => application/xhtml
+xml  mapping to webrick httputils.rb  and now I get empty scrollbars
when trying to display a SVG icon from the /public/images folder.  I
played around with some sizes - but no luck.  Any ideas ?
This topic is locked and can not be replied to.