Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

agnos.is Forums

  1. Home
  2. Linux
  3. today i learned: svg files are literally just html code

today i learned: svg files are literally just html code

Scheduled Pinned Locked Moved Linux
linux
58 Posts 37 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • adrianhooves@lemmy.todayA [email protected]

    what the heck!! that is so wild, mind blowing, i know the main difference between raster graphics and vector graphics was the quality but not more, i had no idea svg files actually used html code and pretty much could be modified using only text and amazing code woa!!! this opens up the possibility for so many things on linux i think, for example, on a linux distro, we could modify the desktop environment and make it waaaaay lighter by getting rid of jpg or png icons and just using pure svg on it. svg can be given a lot of attributes like movement, mouse hovering, change color, change anything. and most svg files are still under a megabyte. wow.. please let me know other fun facts about svg or eps files. i really like doing graphic design on linux and inkscape.

    W This user is from outside of this forum
    W This user is from outside of this forum
    [email protected]
    wrote on last edited by
    #18

    Postscript is also literally just a text based programming language for drawing stuff. You can create loops and recursions and all kinds of crazy transformations with a few lines of code.

    1 Reply Last reply
    0
    • U [email protected]

      main difference between raster graphics and vector graphics was the quality

      It's not. The primitives, the most basic constitutive building blocks, are different, for raster it's the pixel (a mix of colors, e.g. red/green/blue) whereas for vector it's the ... vector (a relative position elements, e.g. line, circle, rectangle or text start with).

      This is a fundamental distinction on how you interact with the content. For raster you basically paint over pixels, changing the values of pixels, whereas for vector you change values of elements and add/remove elements. Both can be lossless though (vector always is) as for raster can have no compression or lossless compression. That being said raster does have a grid size (i.e. how many pixels are stored, e.g. 800x600) whereas vector does not, letting you zoom infinitely and see no aliasing on straight lines.

      Anyway yes it's fascinating. In fact you can even modify SVG straight from the browser, no image editor or text editor needed, thanks to your browser inspector (easy to change the color of a rectangle for example) or even the console itself then via JavaScript and contentDocument you can change a lot more programmatically (e.g. change the color of all rectangles).

      It's a lot of fun to tinker with!

      S This user is from outside of this forum
      S This user is from outside of this forum
      [email protected]
      wrote on last edited by
      #19

      I'm not sure that lossy compression on vectors is strictly impossible.

      You can do things like store less colour information and simplify splines so that curves are less complex.

      U 1 Reply Last reply
      0
      • adrianhooves@lemmy.todayA [email protected]

        woww that is crazy, thanks, does that mean that instead of using exported pngs, i can just use the svg code on html and it'll be a much lighter file??

        ? Offline
        ? Offline
        Guest
        wrote on last edited by
        #20

        One should always optimize assets for the web, this includes svg as well.

        For critical paths I use https://optimize.svgomg.net/ a svg file optimizer. Svgs that are coming directly from illustrator or sketch are getting better these days but this little tool is invaluable regardless.

        I think you can run this local too

        1 Reply Last reply
        0
        • executivechimp@discuss.tchncs.deE [email protected]

          It's both of those things

          N This user is from outside of this forum
          N This user is from outside of this forum
          [email protected]
          wrote on last edited by
          #21

          Schrödinger's SVGs?

          executivechimp@discuss.tchncs.deE 1 Reply Last reply
          0
          • N [email protected]

            Schrödinger's SVGs?

            executivechimp@discuss.tchncs.deE This user is from outside of this forum
            executivechimp@discuss.tchncs.deE This user is from outside of this forum
            [email protected]
            wrote on last edited by
            #22

            Yeah, it depends on if you view source

            1 Reply Last reply
            0
            • adrianhooves@lemmy.todayA [email protected]

              what the heck!! that is so wild, mind blowing, i know the main difference between raster graphics and vector graphics was the quality but not more, i had no idea svg files actually used html code and pretty much could be modified using only text and amazing code woa!!! this opens up the possibility for so many things on linux i think, for example, on a linux distro, we could modify the desktop environment and make it waaaaay lighter by getting rid of jpg or png icons and just using pure svg on it. svg can be given a lot of attributes like movement, mouse hovering, change color, change anything. and most svg files are still under a megabyte. wow.. please let me know other fun facts about svg or eps files. i really like doing graphic design on linux and inkscape.

              cypherpunks@lemmy.mlC This user is from outside of this forum
              cypherpunks@lemmy.mlC This user is from outside of this forum
              [email protected]
              wrote on last edited by
              #23

              No, SVG files are not HTML.

              Please change this post title (currently "today i learned: svg files are literally just html code"), to avoid spreading this incorrect factoid!

              I suggest you change it to "today i learned: svg files contain code in an html-like language" or something like that.

              SVG is a dialect of XML.

              XML and HTML have many similarities, because they are both are descendants of SGML. But, as others have noted in this thread, HTML is also not XML. (Except for when it's XHTML...)

              Like HTML, SVG also can use CSS, and, in some environments (eg, in browsers, but not in Inkscape) also JavaScript. But, the styles you can specify with CSS in SVG are quite different than those you can specify with CSS in HTML.

              Lastly, you can embed SVG in HTML and it will work in (modern) browsers. You cannot embed HTML in SVG, however.

              adrianhooves@lemmy.todayA B zarkanian@sh.itjust.worksZ 3 Replies Last reply
              0
              • adrianhooves@lemmy.todayA [email protected]

                what the heck!! that is so wild, mind blowing, i know the main difference between raster graphics and vector graphics was the quality but not more, i had no idea svg files actually used html code and pretty much could be modified using only text and amazing code woa!!! this opens up the possibility for so many things on linux i think, for example, on a linux distro, we could modify the desktop environment and make it waaaaay lighter by getting rid of jpg or png icons and just using pure svg on it. svg can be given a lot of attributes like movement, mouse hovering, change color, change anything. and most svg files are still under a megabyte. wow.. please let me know other fun facts about svg or eps files. i really like doing graphic design on linux and inkscape.

                tasankovasara@sopuli.xyzT This user is from outside of this forum
                tasankovasara@sopuli.xyzT This user is from outside of this forum
                [email protected]
                wrote on last edited by
                #24

                I made an interactive map: drew in Inkscape, gave the interactive elements numbers for ids, then substituted the id='xxx' in vim with the php code and js function calls, picking up the number from the id tag and inserting it appropriately in php code and function arguments. 250 interactive elements taken care of in a single vim substitute. My bestest development power move yet 😄

                B 1 Reply Last reply
                0
                • adrianhooves@lemmy.todayA [email protected]

                  what the heck!! that is so wild, mind blowing, i know the main difference between raster graphics and vector graphics was the quality but not more, i had no idea svg files actually used html code and pretty much could be modified using only text and amazing code woa!!! this opens up the possibility for so many things on linux i think, for example, on a linux distro, we could modify the desktop environment and make it waaaaay lighter by getting rid of jpg or png icons and just using pure svg on it. svg can be given a lot of attributes like movement, mouse hovering, change color, change anything. and most svg files are still under a megabyte. wow.. please let me know other fun facts about svg or eps files. i really like doing graphic design on linux and inkscape.

                  cypherpunks@lemmy.mlC This user is from outside of this forum
                  cypherpunks@lemmy.mlC This user is from outside of this forum
                  [email protected]
                  wrote on last edited by
                  #25

                  for example, on a linux distro, we could modify the desktop environment and make it waaaaay lighter by getting rid of jpg or png icons and just using pure svg on it.

                  this has largely happened; if you're on a dpkg-based distro try running this command:

                  dpkg -S svg | grep svg$ | sort

                  ...and you'll see that your distro includes thousands of SVG files 🙂

                  ::: spoiler explanation of that pipeline:

                  • dpkg -S svg - this searches for files installed by the package manager which contain "svg" in their path
                  • grep svg$ - this filters the output to only show paths which end with svg; that is, the actual svg files. the argument to grep is a regular expression, where $ means "end of line". you can invert the match (to see the paths dpkg -S svg found which only contain "svg" in the middle of the path) by writing grep -v svg$ instead.
                  • the sort command does what it says on the tin, and makes the output easier to read

                  you can run man dpkg, man grep, and man sort to read more about each of these commands.
                  :::

                  K M 2 Replies Last reply
                  0
                  • tasankovasara@sopuli.xyzT [email protected]

                    I made an interactive map: drew in Inkscape, gave the interactive elements numbers for ids, then substituted the id='xxx' in vim with the php code and js function calls, picking up the number from the id tag and inserting it appropriately in php code and function arguments. 250 interactive elements taken care of in a single vim substitute. My bestest development power move yet 😄

                    B This user is from outside of this forum
                    B This user is from outside of this forum
                    [email protected]
                    wrote on last edited by
                    #26

                    What was the map used for?

                    tasankovasara@sopuli.xyzT 1 Reply Last reply
                    0
                    • adrianhooves@lemmy.todayA [email protected]

                      what the heck!! that is so wild, mind blowing, i know the main difference between raster graphics and vector graphics was the quality but not more, i had no idea svg files actually used html code and pretty much could be modified using only text and amazing code woa!!! this opens up the possibility for so many things on linux i think, for example, on a linux distro, we could modify the desktop environment and make it waaaaay lighter by getting rid of jpg or png icons and just using pure svg on it. svg can be given a lot of attributes like movement, mouse hovering, change color, change anything. and most svg files are still under a megabyte. wow.. please let me know other fun facts about svg or eps files. i really like doing graphic design on linux and inkscape.

                      gomp@lemmy.mlG This user is from outside of this forum
                      gomp@lemmy.mlG This user is from outside of this forum
                      [email protected]
                      wrote on last edited by
                      #27

                      Ommigod, these kids 🙂

                      SVG comes XML (a more coherent/simple version of the SGML that is behind HTML), and specifically from a time where people took XML and made it hyper-complicated with a flurry of extensions and specifications (look up "xml namespaces" "xslt" "xml schema").

                      The most apparent difference between SGML and XML is than in the former you write tags like <br> without a corresponding </br>, and in the latter you have to close them like <br/> (which is shorthand for <br></br>).

                      So... today you learned that what you learned earlier today was close to truth, but not true 🙂

                      PS: A lot of document formats are undercover/zipped XML (eg. the libre office documents, IIRC microsoft's .xlsx and .docx). This is not dissimilar to how json/yaml are widely used today.

                      M 1 Reply Last reply
                      0
                      • cypherpunks@lemmy.mlC [email protected]

                        for example, on a linux distro, we could modify the desktop environment and make it waaaaay lighter by getting rid of jpg or png icons and just using pure svg on it.

                        this has largely happened; if you're on a dpkg-based distro try running this command:

                        dpkg -S svg | grep svg$ | sort

                        ...and you'll see that your distro includes thousands of SVG files 🙂

                        ::: spoiler explanation of that pipeline:

                        • dpkg -S svg - this searches for files installed by the package manager which contain "svg" in their path
                        • grep svg$ - this filters the output to only show paths which end with svg; that is, the actual svg files. the argument to grep is a regular expression, where $ means "end of line". you can invert the match (to see the paths dpkg -S svg found which only contain "svg" in the middle of the path) by writing grep -v svg$ instead.
                        • the sort command does what it says on the tin, and makes the output easier to read

                        you can run man dpkg, man grep, and man sort to read more about each of these commands.
                        :::

                        K This user is from outside of this forum
                        K This user is from outside of this forum
                        [email protected]
                        wrote on last edited by
                        #28

                        for alpine linux users:

                        apk info -L $(apk info) | grep -v contains | grep 'svg'
                        
                        1 Reply Last reply
                        0
                        • adrianhooves@lemmy.todayA [email protected]

                          what the heck!! that is so wild, mind blowing, i know the main difference between raster graphics and vector graphics was the quality but not more, i had no idea svg files actually used html code and pretty much could be modified using only text and amazing code woa!!! this opens up the possibility for so many things on linux i think, for example, on a linux distro, we could modify the desktop environment and make it waaaaay lighter by getting rid of jpg or png icons and just using pure svg on it. svg can be given a lot of attributes like movement, mouse hovering, change color, change anything. and most svg files are still under a megabyte. wow.. please let me know other fun facts about svg or eps files. i really like doing graphic design on linux and inkscape.

                          perishthethought@lemm.eeP This user is from outside of this forum
                          perishthethought@lemm.eeP This user is from outside of this forum
                          [email protected]
                          wrote on last edited by
                          #29

                          Oooh, neat! [Cunningham's Law] (https://en.m.wikipedia.org/wiki/Ward_Cunningham#Cunningham's_Law) in action!

                          1 Reply Last reply
                          0
                          • adrianhooves@lemmy.todayA [email protected]

                            what the heck!! that is so wild, mind blowing, i know the main difference between raster graphics and vector graphics was the quality but not more, i had no idea svg files actually used html code and pretty much could be modified using only text and amazing code woa!!! this opens up the possibility for so many things on linux i think, for example, on a linux distro, we could modify the desktop environment and make it waaaaay lighter by getting rid of jpg or png icons and just using pure svg on it. svg can be given a lot of attributes like movement, mouse hovering, change color, change anything. and most svg files are still under a megabyte. wow.. please let me know other fun facts about svg or eps files. i really like doing graphic design on linux and inkscape.

                            M This user is from outside of this forum
                            M This user is from outside of this forum
                            [email protected]
                            wrote on last edited by
                            #30

                            No, it's XML. It's an ancestor of HTML and, unlike HTML, it can be losslessly converted.

                            J 1 Reply Last reply
                            0
                            • S [email protected]

                              I'm not sure that lossy compression on vectors is strictly impossible.

                              You can do things like store less colour information and simplify splines so that curves are less complex.

                              U This user is from outside of this forum
                              U This user is from outside of this forum
                              [email protected]
                              wrote on last edited by
                              #31

                              True, in fact I've done so myself (simplifying a curve resulting of hand sketching). Still I'd argue that's not the normal expected behavior of storing the vector file but rather explicitly modifying it.

                              1 Reply Last reply
                              0
                              • B [email protected]

                                What was the map used for?

                                tasankovasara@sopuli.xyzT This user is from outside of this forum
                                tasankovasara@sopuli.xyzT This user is from outside of this forum
                                [email protected]
                                wrote on last edited by
                                #32

                                It's a map of fairground lots for a service that takes bookings, bills the customer and deals with providing relevant safety info to authorities. In use again this season 🙂

                                B 1 Reply Last reply
                                0
                                • cypherpunks@lemmy.mlC [email protected]

                                  for example, on a linux distro, we could modify the desktop environment and make it waaaaay lighter by getting rid of jpg or png icons and just using pure svg on it.

                                  this has largely happened; if you're on a dpkg-based distro try running this command:

                                  dpkg -S svg | grep svg$ | sort

                                  ...and you'll see that your distro includes thousands of SVG files 🙂

                                  ::: spoiler explanation of that pipeline:

                                  • dpkg -S svg - this searches for files installed by the package manager which contain "svg" in their path
                                  • grep svg$ - this filters the output to only show paths which end with svg; that is, the actual svg files. the argument to grep is a regular expression, where $ means "end of line". you can invert the match (to see the paths dpkg -S svg found which only contain "svg" in the middle of the path) by writing grep -v svg$ instead.
                                  • the sort command does what it says on the tin, and makes the output easier to read

                                  you can run man dpkg, man grep, and man sort to read more about each of these commands.
                                  :::

                                  M This user is from outside of this forum
                                  M This user is from outside of this forum
                                  [email protected]
                                  wrote on last edited by
                                  #33

                                  Is this the same as pacman -Ql?

                                  1 Reply Last reply
                                  0
                                  • tasankovasara@sopuli.xyzT [email protected]

                                    It's a map of fairground lots for a service that takes bookings, bills the customer and deals with providing relevant safety info to authorities. In use again this season 🙂

                                    B This user is from outside of this forum
                                    B This user is from outside of this forum
                                    [email protected]
                                    wrote on last edited by
                                    #34

                                    Yo that’s super cool! My nerd brain went straight to a virtual table top map for D&D

                                    1 Reply Last reply
                                    0
                                    • P [email protected]

                                      litghter, as in smaller, yess. but keep in mind, that vector graphics need to be rendered, wich depending on circumstance and graphic might become inefficient.

                                      i never crunched the numbers, but basically youre outsourcing the generation of a rastergraphic to those who open up your website.

                                      F This user is from outside of this forum
                                      F This user is from outside of this forum
                                      [email protected]
                                      wrote on last edited by
                                      #35

                                      Though this also has advantages - not only will they be drawn at an appropriate resolution, they can also be styled & modified by the user. If I'm using Dark Reader and your icons are SVGs using currentColor, they'll render with the same color as other text. The best you can do for raster graphics is inverting them.

                                      P 1 Reply Last reply
                                      0
                                      • adrianhooves@lemmy.todayA [email protected]

                                        what the heck!! that is so wild, mind blowing, i know the main difference between raster graphics and vector graphics was the quality but not more, i had no idea svg files actually used html code and pretty much could be modified using only text and amazing code woa!!! this opens up the possibility for so many things on linux i think, for example, on a linux distro, we could modify the desktop environment and make it waaaaay lighter by getting rid of jpg or png icons and just using pure svg on it. svg can be given a lot of attributes like movement, mouse hovering, change color, change anything. and most svg files are still under a megabyte. wow.. please let me know other fun facts about svg or eps files. i really like doing graphic design on linux and inkscape.

                                        S This user is from outside of this forum
                                        S This user is from outside of this forum
                                        [email protected]
                                        wrote on last edited by
                                        #36

                                        for example, on a linux distro, we could modify the desktop environment and make it waaaaay lighter by getting rid of jpg or png icons and just using pure svg on it.

                                        Isn't that how it already works? GNOME system icons are all SVG - that's what allows them to change colors when you change themes or switch between light and dark mode.

                                        adrianhooves@lemmy.todayA B 2 Replies Last reply
                                        0
                                        • chtk@feddit.nlC [email protected]

                                          XML is a super-set of XHTML's spec.

                                          That's a weird way of saying XHTML is an application of XML.

                                          A This user is from outside of this forum
                                          A This user is from outside of this forum
                                          [email protected]
                                          wrote on last edited by
                                          #37

                                          You can phrase it however you like?

                                          ?

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups