capitalist/elm-octicons/1.0.0

NOTE: this package is not compatible with Elm 0.19.1

Elm Octicons

This library provides octicon generation for your Elm applications. Because octicons are not all square, and some are path based vs. polygon based, the API for this library is different than other elm icon libraries like Elm Font Awesome or Elm Material Icons

Basic Usage

The below will give you a black icon in the default size for the Octicon. This is usually around 16px, but varies from one icon to the next.

import Octicons exposing (defaultAlert)

view =
    defaultAlert

Usage with Options

This code will give you a white, 20px alert icon.

import Octicons exposing (color, size, icon, alertOptions)

view =
    alertOptions |> color "white" |> size "20" |> icon

Because the options are just functions, you can compose them and use that to style your icons. For example:

import Octicons exposing (alertOptions, arrowDownOptions)

view =
    div []
    [ homepageIcon alertOptions
    , homepageIcon arrowDownOptions
    ]

homepageIcon : Octicons.IconOptions -> Html.Html msg
homepageIcon options =
    options |> Octicons.color "white" |> Octicons.size "20" |> Octicons.margin "0 4px" |> icon

Naming

All of the octicons are named as they are on the octicons site but using camelCase rather than skewer-case e.g. alert, key, arrowDown