View Source Cheatsheet User Guide

This document is a cheatsheet on how to use cheatsheets. Cheatsheets are Markdown files with the .cheatmd extension. You may also check the source of this document as a reference.

I'm a H2 title with 2 columns

I'm a H3 title

I'm a H4 title.

And this is 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.

Several paragraphs are visually distinct.

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 customize how your cheatsheet looks like 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. I'm first;
  2. You are second;
  3. We are third;

Here's 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

This is the default.

Half width

I make tables look nicer

Time

ExampleOutput
%H:%M23:05
%I:%M %p11:05 PM

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

Column left reference

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

I'm a grid, with 1/3 - 2/3 width.