All Projects → elm → Svg

elm / Svg

Licence: other
Fast SVG in Elm

Programming Languages

elm
856 projects

Labels

Projects that are alternatives of or similar to Svg

Pixelfarm
From Vectors to (sub) Pixels, C# 2D Rendering Library
Stars: ✭ 120 (-6.25%)
Mutual labels:  svg
React Native Chart
[NOT MAINTAINED] 📊 Add line, area, pie, and bar charts to your React Native app
Stars: ✭ 1,574 (+1129.69%)
Mutual labels:  svg
Illustatus
🌟A HTTP Status svg animation that can change color and text arbitrarily.
Stars: ✭ 127 (-0.78%)
Mutual labels:  svg
Rad Lines
Beautiful Vector Generator Tool
Stars: ✭ 121 (-5.47%)
Mutual labels:  svg
Svgurt
Image -> SVG Vectorizing Tool - Live at:
Stars: ✭ 124 (-3.12%)
Mutual labels:  svg
Simple Icons
SVG icons for popular brands
Stars: ✭ 12,090 (+9345.31%)
Mutual labels:  svg
Vue Calendar Heatmap
A lightweight calendar heatmap Vuejs component built on SVG, inspired by github's contribution calendar graph
Stars: ✭ 120 (-6.25%)
Mutual labels:  svg
Flagpack Core
Flagpack contains 260+ easily implementable flag icons to use in your design or code project.
Stars: ✭ 127 (-0.78%)
Mutual labels:  svg
Xsound
Web Audio API Library for Synthesizer, Effects, Visualization, Multi-Track Recording, Audio Streaming, Visual Audio Sprite ...
Stars: ✭ 123 (-3.91%)
Mutual labels:  svg
Opentype Svg Font Editor
A user-friendly tool for adding SVG to OpenType fonts
Stars: ✭ 126 (-1.56%)
Mutual labels:  svg
Svg.skia
An SVG rendering library.
Stars: ✭ 122 (-4.69%)
Mutual labels:  svg
Mrefresh
This pod enables you to add pull-to-refresh mechanism to your scrollviews and tableviews and use svg patterns in your refreshing view's layers.
Stars: ✭ 123 (-3.91%)
Mutual labels:  svg
G2
📊 A highly interactive data-driven visualization grammar for statistical charts.
Stars: ✭ 11,020 (+8509.38%)
Mutual labels:  svg
Svg Sprite
SVG sprites & stacks galore — A low-level Node.js module that takes a bunch of SVG files, optimizes them and bakes them into SVG sprites of several types along with suitable stylesheet resources (e.g. CSS, Sass, LESS, Stylus, etc.)
Stars: ✭ 1,648 (+1187.5%)
Mutual labels:  svg
Vue Svg Transition
Create 2-state, SVG-powered transitions
Stars: ✭ 127 (-0.78%)
Mutual labels:  svg
Svg Inline React
Inline svg wrapper component for React
Stars: ✭ 120 (-6.25%)
Mutual labels:  svg
Nuxt Svg Loader
SVGs as components, also on the server side!
Stars: ✭ 125 (-2.34%)
Mutual labels:  svg
Ha Floorplan
Floorplan for Home Assistant
Stars: ✭ 1,626 (+1170.31%)
Mutual labels:  svg
Wilderness
An SVG animation API
Stars: ✭ 127 (-0.78%)
Mutual labels:  svg
Zfont
💬 Text plugin for Zdog - works with any .ttf font!
Stars: ✭ 126 (-1.56%)
Mutual labels:  svg

SVG in Elm

Scalable vector graphics (SVG) is a way to display lines, rectangles, circles, arcs, etc.

The API is a bit wonky, but (1) it is manageable if you look through MDN docs like these and (2) you can attach event listeners to any shapes and lines you create!

Example

import Svg exposing (..)
import Svg.Attributes exposing (..)

main =
  svg
    [ width "120"
    , height "120"
    , viewBox "0 0 120 120"
    ]
    [ rect
        [ x "10"
        , y "10"
        , width "100"
        , height "100"
        , rx "15"
        , ry "15"
        ]
        []
    , circle
        [ cx "50"
        , cy "50"
        , r "50"
        ]
        []
    ]

I highly recommend consulting the MDN docs on SVG to learn how to draw various shapes!

Make visualizations!

SVG is great for data visualizations, and I really want people in the Elm community to explore more in that direction! My instinct is that functions like view : data -> Svg msg will be way easier to work with than what is available in other languages. Just give the data! No need to have data and interaction deeply interwoven in complex ways.

Make visualization packages?

I think terezka/line-charts is a really great effort in this direction. Notice that the docs present a really smooth learning path. Getting something on screen is really simple, and then it builds on that basic understanding to give you more capabilities. There are tons of examples as well. I really love seeing work like this!

So if you are interested in doing something like this, I recommend:

In other words, try to learn as much as possible first! Anyone can show dots on a grid, but a great package will build expertise into the API itself, quietly leading people towards better design and accessibility. Ideally it will help people learn the important principles as well, because it is not just about getting data on screen, it is about helping people understand complex information!

Future Plans

This package should only change to account for new SVG tags and attributes.

Just like elm/html, this package is designed to be predictable. Every node takes two arguments (a list of attributes and a list of children) even though in many cases it is possible to do something nicer. So if you want nice helpers for simple shapes (for example) I recommend creating a separate package that builds upon this one.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].