Cheatsheet Example — ExDoc v0.37.3 (original) (raw)

Cheatsheets are Markdown files with the .cheatmd extension which support a limited range of elements and formatting. Refer to the source of this document to see the relevant Markdown.

H2 title

H3 title

H4 title

A paragraph.

Code

# hello.exs
defmodule Greeter do
  def greet(name) do
    message = "Hello, " <> name <> "!"
    IO.puts message
  end
end

Greeter.greet("world")

Paragraphs

Paragraphs are also supported and can quote code.

Paragraphs are visually distinct from one another.

Lists

Table

Date (H4 header)

Example Output
%m/%d/%Y 06/05/2013
%A, %B %e, %Y Sunday, June 5, 2013
%b %e %a Jun 5 Sun

Header with links in it.

Variants

Adding variants

## H2
{: .col-2}

### H3
{: .list-6}

* example 1
* example 2

Variants change presentation via Markdown's inline attribute notation.

H2

.col-2 two-columns
.col-3 three-columns
.col-2-left two-columns (1/3 - 2/3)

H3

.list-4 four-columns for lists
.list-6 six-columns for lists

Code

Code with headings

index.ex

Path.join(["~", "foo"])
"~/foo"

other.ex

Path.join(["foo"])
"foo"

Code blocks can have headings.

Long lines

defmodule MyTracer do
  def trace({:remote_function, _meta, module, name, arity}, env) do
    IO.puts "#{env.file}:#{env.line} #{inspect(module)}.#{name}/#{arity}"
    :ok
  end

  def trace(_event, _env) do
    :ok
  end
end

Long lines show scrollbars.

Line wrapping

defmodule MyTracer do
  def trace({:remote_function, _meta, module, name, arity}, env) do
    IO.puts "#{env.file}:#{env.line} #{inspect(module)}.#{name}/#{arity}"
    :ok
  end

  def trace(_event, _env) do
    :ok
  end
end

Add wrap to wrap long lines.

Lists

Bullet lists

Ordered lists

  1. First
  2. Second
  3. Third

An extra paragraph after the list.

Part 1

Part 2

List columns

Six columns

Add {: .list-6} after the H3 title to make large lists.

Four columns

Add {: .list-4} after the H3 title to make large lists.

Full page

The default.

Half width

Avoid overly long lines

Time

Example Output
%H:%M 23:05
%I:%M %p 11:05 PM

Add {: .width-50} after the H2 title to use only half width.

Column left example

One

# hello.exs
defmodule Greeter do
  def greet(name) do
    message = "Hello, " <> name <> "!"
    IO.puts message
  end
end

Greeter.greet("world")

Two

user = %{
  name: "John",
  city: "Melbourne"
}
IO.puts "Hello, " <> user.name

Three

Four

A grid, with 1/3 - 2/3 widths.