EarmarkTagCloud
An Earmark Plugin to easily create tag clouds inside Markdown Documents.
In its default configuration it translates a list of lines containing keywords with three metric values to html, here is a simple example
If the plugin lines are
$$ ruby 10 100 4
$$ elixir 40 800 12
Earmark would pass in these lines as the doc array in the following doctest
iex> doc = [
...> { "ruby 10 100 4", 1},
...> { "elixir 40 800 12", 2},
...> ]
...> EarmarkTagCloud.as_html(doc)
{[ "<div class=\"earmark-tag-cloud\">\n",
" <span style=\"color: #d4d4d4; font-size: 10pt; font-weight: 100;\">ruby</span>\n",
" <span style=\"color: #000000; font-size: 40pt; font-weight: 800;\">elixir</span>\n",
"</div>\n"
], []}
As we can see from the example above the three numeric values above are specifiying
-
font size in pts
-
font weight
-
and a gray scale value between 0 (white) and 12 (black) that matches to 13 gamma corrected shades of gray (you can change the settings to more grades, even 50, if you want. c.f. Parameterization)
We can also set parameters like the font-family, or the div-classes
iex> doc = [
...> { "set font-family Times", 1},
...> { "set div-classes my-tags", 2},
...> { "ruby 10 100 4", 3},
...> { "elixir 40 800 12", 4},
...> ]
...> EarmarkTagCloud.as_html(doc)
{[ "<div class=\"my-tags\" style=\"font-family: Times;\">\n",
" <span style=\"color: #d4d4d4; font-size: 10pt; font-weight: 100;\">ruby</span>\n",
" <span style=\"color: #000000; font-size: 40pt; font-weight: 800;\">elixir</span>\n",
"</div>\n"
], []}
COPYRIGHT & LICENSE
Apache 2 License
Copyright © 2016,7,8,9 RobertDober, robert.dober@gmail.com.
See file LICENSE for details.
Installation
Available in Hex, the package can be installed as:
- Add
earmark_tag_cloudto your list of dependencies inmix.exs:
```elixir
def deps do
[{:earmark_tag_cloud, "~> 0.1.0"}]
end
```
- Ensure
earmark_tag_cloudis started before your application:
```elixir
def application do
[applications: [:earmark_tag_cloud]]
end
```