View Source Scenic FontAwesome
About
Scenic FontAwesome is a library which provides helper functions to render all free FontAwesome icons in an Elixir Scenic application.
Getting Started
The package can be installed by adding scenic_fontawesome
to your list of dependencies in mix.exs:
def deps do
[{:scenic_fontawesome, "~> 0.1"}]
end
Additionally, you must add the scenic_fontawesome
assets to your Scenic assets library, as described in the Scenic documentation.
Example assets module:
defmodule MyApplication.Assets do
use Scenic.Assets.Static,
otp_app: :my_application,
sources: [
"assets",
"deps/scenic_fontawesome/assets", # Includes the FontAwesome icons as assets
{:scenic, "deps/scenic/assets"}
]
end
Usage
This package provides three modules - one for each style of FontAwesome icons (i.e. brands, regular, and solid). Each module contains a function to render each available icon in the collection.
Each function has an arity of 3, taking a Scenic.Graph
or a Scenic.Primitive
, a tuple indicating where on the graph the icon should be placed (e.g. {15, 30}
), and a keyword list of options. Available options are:
fill
- Determines fill color of the icon. Valid options are:dark
or:light
, defaults to:dark
.width
- Determines the width of the icon. Height will be set proportionally to ensure the aspect ratio of the icon is preserved.height
- Determines the height of the icon. Width will be set proportionally to ensure the aspect ratio of the icon is preserved.
All remaining options are forwarded to the Scenic sprites/3 primitive function.
[!WARNING] Providing both a
width
and aheight
option will raise an exception.
Example:
import ScenicFontAwesome.Solid, only: [fontawesome_circle_info: 3]
graph
|> fontawesome_circle_info({12,20}, width: 30, fill: :light)
For a full list of available icons, you can browse the icon library here: https://fontawesome.com/search?o=r&m=free