View Source Cheatsheet Example

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

  • Element 1
  • Element 2
  • piece of code

Table

Date (H4 header)

ExampleOutput
%m/%d/%Y06/05/2013
%A, %B %e, %YSunday, June 5, 2013
%b %e %aJun 5 Sun

Variants

Adding variants

## H2
{: .col-2}

### H3
{: .list-6}

* example 1
* example 2

Variants change presentation via Markdown's inline attribute notation.

Header variants

H2

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

H3

.list-4four-columns for lists
.list-6six-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

  • This is
  • a list
  • with a few items

Ordered lists

  1. First
  2. Second
  3. Third

An extra paragraph after the list.

Part 1

Part 2

List columns

Six columns

  • One
  • Two
  • Three
  • Four
  • Five
  • Six
  • Seven
  • Eight
  • Nine
  • Ten
  • Eleven

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

Four columns

  • One
  • Two
  • Three
  • Four
  • Five
  • Six
  • Seven
  • Eight
  • Nine
  • Ten
  • Eleven

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

Full page

The default.

Half width

Avoid overly long lines

Time

ExampleOutput
%H:%M23:05
%I:%M %p11: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

  • Yet
  • Another
  • List

Four

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