Atom Tweaks v0.1.0+c1f5afa AtomTweaks.Markdown View Source
A structure that represents a chunk of Markdown text in memory.
For the database type, see AtomTweaks.Ecto.Markdown instead.
The structure contains both the raw Markdown text and, potentially, the rendered html. Upon
a request to render the structure using either to_html/1 or to_iodata/1, the html field is
given preference and returned unchanged, if available. If the html value is nil, then the
contents of the text field are rendered using AtomTweaksWeb.MarkdownEngine.render/1 and
returned.
This type requires special handling in forms because Phoenix's form builder functions call
Phoenix.HTML.html_escape/1 on all field values, which returns the html field on this type. But
what we want when we show an AtomTweaks.Markdown value in a form is the text field.
Link to this section Summary
Functions
Renders the supplied Markdown as HTML.
Renders a chunk of Markdown to its iodata representation.
Link to this section Types
Specs
An AtomTweaks.Markdown struct or a string of Markdown text.
Specs
Link to this section Functions
Specs
Renders the supplied Markdown as HTML.
Examples
Render Markdown from a string:
iex> AtomTweaks.Markdown.to_html("# Foo")
"<h1>Foo</h1>
"Render Markdown from an unrendered Markdown struct:
iex> AtomTweaks.Markdown.to_html(%AtomTweaks.Markdown{text: "# Foo"})
"<h1>Foo</h1>
"Passes already rendered Markdown through unchanged:
iex> AtomTweaks.Markdown.to_html(%AtomTweaks.Markdown{html: "<p>foo</p>"})
"<p>foo</p>"Returns an empty string for anything that isn't a string or a Markdown struct:
iex> AtomTweaks.Markdown.to_html(5)
"" Specs
Renders a chunk of Markdown to its iodata representation.