Current section

7 Versions

Jump to

Compare versions

5 files changed
+30 additions
-23 deletions
  @@ -18,5 +18,6 @@
18 18 [[{<<"app">>,<<"poison">>},
19 19 {<<"name">>,<<"poison">>},
20 20 {<<"optional">>,false},
21 + {<<"repository">>,<<"hexpm">>},
21 22 {<<"requirement">>,<<"~> 3.0">>}]]}.
22 - {<<"version">>,<<"0.1.1">>}.
23 + {<<"version">>,<<"0.1.2">>}.
  @@ -5,9 +5,10 @@ defmodule Emojix do
5 5
6 6 emoji =
7 7 Application.app_dir(:emojix, "priv/data/emoji.json")
8 - |> File.read!
8 + |> File.read!()
9 9 |> Poison.decode!(keys: :atoms)
10 10 |> Enum.map(fn {_name, data} -> struct(Emojix.Emoji, data) end)
11 +
11 12 @emoji emoji
12 13 @regex ~r/:[\w]+:/
13 14
  @@ -47,7 +48,9 @@ defmodule Emojix do
47 48 @regex,
48 49 text,
49 50 fn keyword, _ ->
50 - if emoji = Emojix.find_by_keyword(keyword), do: Emojix.Emoji.render(emoji, opts), else: keyword
51 + if emoji = Emojix.find_by_keyword(keyword),
52 + do: Emojix.Emoji.render(emoji, opts),
53 + else: keyword
51 54 end
52 55 )
53 56 end
  @@ -2,37 +2,38 @@ defmodule Emojix.Emoji do
2 2 @moduledoc """
3 3 Emoji module
4 4 """
5 - defstruct [
6 - name: nil,
7 - shortname: nil,
8 - category: nil,
9 - unicode: nil
10 - ]
5 + defstruct name: nil,
6 + shortname: nil,
7 + category: nil,
8 + unicode: nil
11 9
12 10 def render(%Emojix.Emoji{unicode: unicode}, opts), do: render(unicode, opts)
11 +
13 12 def render(unicode, :html) do
14 13 ~s(<svg class='emoji-icon'><use xlink:href="#{emoji_path()}#emoji-#{unicode}"></svg>)
15 14 end
15 +
16 16 def render(unicode, :char) do
17 17 unicode
18 18 |> String.split("-")
19 19 |> Enum.map(&String.to_integer(&1, 16))
20 20 |> to_string
21 21 end
22 +
22 23 def render(_, _), do: nil
23 24
24 25 def char_to_unicode(char) when is_binary(char) do
25 26 char
26 - |> String.codepoints
27 + |> String.codepoints()
27 28 |> Enum.map(&binary_to_hex/1)
28 29 |> Enum.join("-")
29 30 end
30 31
31 - defp binary_to_hex(<<code :: utf8>>) do
32 + defp binary_to_hex(<<code::utf8>>) do
32 33 code
33 34 |> Integer.to_string(16)
34 - |> String.rjust(4,?0)
35 - |> String.downcase
35 + |> String.rjust(4, ?0)
36 + |> String.downcase()
36 37 end
37 38
38 39 defp emoji_path do
  @@ -1,7 +1,7 @@
1 1 defmodule Mix.Tasks.Emojix.Install do
2 2 use Mix.Task
3 3
4 - @shortdoc "Installs Emojix assets"
4 + @shortdoc "Installs Emojix assets"
5 5 @file_path "priv/static/images/emoji.svg"
6 6
7 7 @moduledoc """
  @@ -1,17 +1,19 @@
1 1 defmodule Emojix.Mixfile do
2 2 use Mix.Project
3 3
4 - @version "0.1.1"
4 + @version "0.1.2"
5 5
6 6 def project do
7 - [app: :emojix,
8 - version: @version,
9 - elixir: "~> 1.4",
10 - build_embedded: Mix.env == :prod,
11 - start_permanent: Mix.env == :prod,
12 - package: package(),
13 - description: description(),
14 - deps: deps()]
7 + [
8 + app: :emojix,
9 + version: @version,
10 + elixir: "~> 1.4",
11 + build_embedded: Mix.env() == :prod,
12 + start_permanent: Mix.env() == :prod,
13 + package: package(),
14 + description: description(),
15 + deps: deps()
16 + ]
15 17 end
16 18
17 19 def application, do: []