Packages
mdex
0.13.0
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.12.5
retired
0.12.4
0.12.3
0.12.2
0.12.1
0.12.0
0.11.7
0.11.6
0.11.5
0.11.4
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.6
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.2
0.6.1
0.6.0
0.5.0
0.4.3
0.4.2
0.4.1
0.4.0
0.3.3
0.3.2
0.3.1
0.3.0
0.2.0
0.1.18
0.1.17
0.1.16
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Fast and extensible Markdown for Elixir
Security advisory:
This version has known vulnerabilities.
View advisories
Current section
Files
Jump to
Current section
Files
examples/code_block_decorators.livemd
<!-- livebook:{"persist_outputs":true} -->
# Lumis code block decorators
```elixir
Mix.install([
{:mdex, "~> 0.12"},
{:lumis, "~> 0.1"},
{:kino, "~> 0.16"}
],
config: [mdex_native: [syntax_highlighter: :lumis]]
)
```
## Intro
Code block decorators are supported by Lumis syntax highlighting. They add key-value pairs to the code fence info string, which Lumis can use for things like line highlights and per-block themes.
All options and more examples at [Guides / Code Block Decorators](https://hexdocs.pm/mdex/code_block_decorators-2.html)
## Decorator: highlight_lines
````elixir
import MDEx.Sigil
~MD"""
```elixir highlight_lines=2,5,8-10 theme=github_light
defmodule Lines do
@langs ["elixir", "rust"]
def langs do
@langs
end
def libs do
[:comrak, :ammonia, :lumis]
end
end
```
"""HTML
|> Kino.HTML.new()
````
## Decorator: theme
````elixir
import MDEx.Sigil
~MD"""
```elixir theme=gruvbox_light
defmodule Lines do
@langs ["elixir", "rust"]
def langs do
@langs
end
def libs do
[:comrak, :ammonia, :lumis]
end
end
```
"""HTML
|> Kino.HTML.new()
````
## Decorator: highlight_lines_style
````elixir
import MDEx.Sigil
~MD"""
```elixir highlight_lines=2 highlight_lines_style="background-color: purple; font-weight: bold; font-size: 18px"
defmodule Lines do
@langs ["elixir", "rust"]
def langs do
@langs
end
def libs do
[:comrak, :ammonia, :lumis]
end
end
```
"""HTML
|> Kino.HTML.new()
````
## Decorator: include_highlights
````elixir
~MD"""
```elixir include_highlights
defmodule Lines do
@langs ["elixir", "rust"]
def langs do
@langs
end
def libs do
[:comrak, :ammonia, :lumis]
end
end
```
"""HTML
|> Kino.HTML.new()
````