Packages
kino
0.4.1
0.19.0
0.18.0
0.17.0
0.16.1
0.16.0
0.15.3
0.15.2
0.15.1
0.15.0
0.14.2
0.14.1
0.14.0
0.13.2
0.13.1
0.13.0
0.12.3
0.12.2
0.12.1
0.12.0
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.1
0.8.0
0.7.0
0.6.2
0.6.1
0.6.0
retired
0.5.2
0.5.1
0.5.0
0.4.1
0.4.0
0.3.1
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.3
0.1.2
0.1.1
0.1.0
Interactive widgets for Livebook
Current section
Files
Jump to
Current section
Files
lib/kino/markdown.ex
defmodule Kino.Markdown do
@moduledoc """
A struct wrapping a Markdown content.
This is just a meta-struct that implements the `Kino.Render`
protocol, so that it gets rendered as markdown.
## Examples
Kino.Markdown.new(\"\"\"
# Example
A regular Markdown file.
## Code
```elixir
"Elixir" |> String.graphemes() |> Enum.frequencies()
```
## Table
| ID | Name | Website |
| -- | ------ | ----------------------- |
| 1 | Elixir | https://elixir-lang.org |
| 2 | Erlang | https://www.erlang.org |
\"\"\")
This format may come in handy when exploring Markdown
from external sources:
content = File.read!("/path/to/README.md")
Kino.Markdown.new(content)
"""
@enforce_keys [:content]
defstruct [:content]
@type t :: %__MODULE__{
content: binary()
}
@doc """
Wraps the given binary content into the markdown struct.
"""
@spec new(binary()) :: t()
def new(content) do
%__MODULE__{content: content}
end
end