It's time to learn how to use
mix! Mix is the Elixir equivalent of npm/yarn, pip or gem and it plays a fundamental role in dependency management, automated testing, OTP application management and scripting.
Last episode we worked on a minimal (and incomplete) implementation of Markdown. Now we're going to use
mix to pull in Earmark, a Markdown implementation. Interestingly, its author is Dave Thomas, who wrote the excellent guide Programming Elixir.
Here's a breakdown of this episode:
Choosing Earmark - (1:44)
Getting started with mix - (3:10)
A first look at testing - (5:37)
The mix file and adding deps - (8:47)
Using Earmark and adding functionality & unit tests - (12:00)
Reviewing unit tests and migrating integration test from last time - (31:07)
Discovering Earmark is a dash-eater (plus workaround) - (37:30)
The markdown features implemented are:
All the standard ones implemented by Earmark (thank you Dave and thank you Mix!)
<big></big> tags, by placing
++ before and after a string of text.
<small></small> tags by placing
-- before and after a string of text.
<hr/> tags by making a line start with three or more
* characters with any number of spaces between them.
All of these features as well as those from
MiniMarkdown are unit tested using the standard