<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link rel="stylesheet" href="/css/main.css">
    <link rel="stylesheet" href="/css/font-awesome.min.css">

    <link rel="shortcut icon" href="/favicon.ico?1">
    <!-- Begin Jekyll SEO tag v2.6.1 -->
<title>Markdown Cheatsheet | Nemo</title>
<meta name="generator" content="Jekyll v3.4.3" />
<meta property="og:title" content="Markdown Cheatsheet" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="From adam-p/markdown-here" />
<meta property="og:description" content="From adam-p/markdown-here" />
<link rel="canonical" href="http://nemo.apache.org//docs/cheatsheet/" />
<meta property="og:url" content="http://nemo.apache.org//docs/cheatsheet/" />
<meta property="og:site_name" content="Nemo" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2019-12-01T21:11:19+09:00" />
<script type="application/ld+json">
{"url":"http://nemo.apache.org//docs/cheatsheet/","headline":"Markdown Cheatsheet","dateModified":"2019-12-01T21:11:19+09:00","datePublished":"2019-12-01T21:11:19+09:00","description":"From adam-p/markdown-here","@type":"WebPage","@context":"https://schema.org"}</script>
<!-- End Jekyll SEO tag -->


    <link rel="canonical" href="http://nemo.apache.org//docs/cheatsheet/">
    <link rel="alternate" type="application/rss+xml" title="Nemo" href="http://nemo.apache.org//feed.xml" />
</head>


<body>

    <nav class="navbar navbar-default navbar-fixed-top">
    <div class="container navbar-container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
            <a class="navbar-brand" href="/">
                <span><img src="/img/nemo-logo.png"></span>
            </a>
        </div>
        <div id="navbar" class="collapse navbar-collapse">
            <ul class="nav navbar-nav">
                <li  class="active" ><a href="/docs/home/">Docs</a></li>
                <li ><a href="/apidocs">APIs</a></li>
                <li ><a href="/pages/downloads">Downloads</a></li>
                <li ><a href="/pages/talks">Talks</a></li>
                <li ><a href="/pages/team">Team</a></li>
                <li ><a href="/pages/license">License</a></li>
                <li ><a href="/blog/2018/03/23/shuffle-on-nemo/">Blog</a></li>
            </ul>
            <div class="navbar-right">
                <form class="navbar-form navbar-left">
                    <div class="form-group has-feedback">
                        <input id="search-box" type="text" class="form-control" placeholder="Search...">
                        <i class="fa fa-search form-control-feedback"></i>
                    </div>
                </form>
                <ul class="nav navbar-nav">
                    <li><a href="https://github.com/apache/incubator-nemo"><i class="fa fa-github" aria-hidden="true"></i></a></li>
                </ul>
            </div>
        </div>
    </div>
</nav>


    <div class="page-content">
        <div class="wrapper">
            <div class="container">
    <div class="row">
        <div class="col-md-4">
          <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">

  <div class="panel panel-default">
    <div class="panel-heading">
      <h4 class="panel-title">
        <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-1" aria-expanded="false" aria-controls="collapse-1">
          Getting Started
        </a>
      </h4>
    </div>
    <div id="collapse-1" class="panel-collapse collapse" role="tabpanel" aria-label="Side Navigation">
      <div class="list-group">
        
          
          
          <a class="list-group-item " href="/docs/home/">Overview</a>
        
          
          
          <a class="list-group-item " href="/docs/getting_started/">Getting Started</a>
        
      </div>
    </div>
  </div>

  <div class="panel panel-default">
    <div class="panel-heading">
      <h4 class="panel-title">
        <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-2" aria-expanded="false" aria-controls="collapse-2">
          Optimizations
        </a>
      </h4>
    </div>
    <div id="collapse-2" class="panel-collapse collapse" role="tabpanel" aria-label="Side Navigation">
      <div class="list-group">
        
          
          
          <a class="list-group-item " href="/docs/ir/">Nemo Intermediate Representation (IR)</a>
        
          
          
          <a class="list-group-item " href="/docs/passes_and_policies/">Passes and Policies</a>
        
      </div>
    </div>
  </div>

  <div class="panel panel-default">
    <div class="panel-heading">
      <h4 class="panel-title">
        <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-3" aria-expanded="false" aria-controls="collapse-3">
          System Designs
        </a>
      </h4>
    </div>
    <div id="collapse-3" class="panel-collapse collapse" role="tabpanel" aria-label="Side Navigation">
      <div class="list-group">
        
          
          
          <a class="list-group-item " href="/docs/compiler_design/">Compiler Design</a>
        
          
          
          <a class="list-group-item " href="/docs/runtime_design/">Runtime Design</a>
        
      </div>
    </div>
  </div>

  <div class="panel panel-default">
    <div class="panel-heading">
      <h4 class="panel-title">
        <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-4" aria-expanded="false" aria-controls="collapse-4">
          Contribute
        </a>
      </h4>
    </div>
    <div id="collapse-4" class="panel-collapse collapse" role="tabpanel" aria-label="Side Navigation">
      <div class="list-group">
        
          
          
          <a class="list-group-item " href="/docs/contribute/">Contribute</a>
        
      </div>
    </div>
  </div>

</div>

        </div>

        <div class="col-md-8">
            <h1>Markdown Cheatsheet</h1>
            <div id="markdown-content-container"><p>From <a href="https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet">adam-p/markdown-here</a></p>

<h5 id="table-of-contents">Table of Contents</h5>
<p><a href="#headers">Headers</a><br />
<a href="#emphasis">Emphasis</a><br />
<a href="#lists">Lists</a><br />
<a href="#links">Links</a><br />
<a href="#images">Images</a><br />
<a href="#code">Code and Syntax Highlighting</a><br />
<a href="#tables">Tables</a><br />
<a href="#blockquotes">Blockquotes</a><br />
<a href="#html">Inline HTML</a><br />
<a href="#hr">Horizontal Rule</a><br />
<a href="#lines">Line Breaks</a><br />
<a href="#videos">Youtube videos</a></p>

<p><a name="headers"></a></p>
<h2 id="headers">Headers</h2>

<pre><code class="language-no-highlight"># H1
## H2
### H3
#### H4
##### H5
###### H6

Alternatively, for H1 and H2, an underline-ish style:

Alt-H1
======

Alt-H2
------
</code></pre>

<h1 id="h1">H1</h1>
<h2 id="h2">H2</h2>
<h3 id="h3">H3</h3>
<h4 id="h4">H4</h4>
<h5 id="h5">H5</h5>
<h6 id="h6">H6</h6>

<p>Alternatively, for H1 and H2, an underline-ish style:</p>

<h1 id="alt-h1">Alt-H1</h1>

<h2 id="alt-h2">Alt-H2</h2>

<p><a name="emphasis"></a></p>
<h2 id="emphasis">Emphasis</h2>

<pre><code class="language-no-highlight">Emphasis, aka italics, with *asterisks* or _underscores_.

Strong emphasis, aka bold, with **asterisks** or __underscores__.

Combined emphasis with **asterisks and _underscores_**.

Strikethrough uses two tildes. ~~Scratch this.~~
</code></pre>

<p>Emphasis, aka italics, with <em>asterisks</em> or <em>underscores</em>.</p>

<p>Strong emphasis, aka bold, with <strong>asterisks</strong> or <strong>underscores</strong>.</p>

<p>Combined emphasis with <strong>asterisks and <em>underscores</em></strong>.</p>

<p>Strikethrough uses two tildes. <del>Scratch this.</del></p>

<p><a name="lists"></a></p>
<h2 id="lists">Lists</h2>

<p>(In this example, leading and trailing spaces are shown with with dots: ⋅)</p>

<pre><code class="language-no-highlight">1. First ordered list item
2. Another item
⋅⋅* Unordered sub-list.
1. Actual numbers don't matter, just that it's a number
⋅⋅1. Ordered sub-list
4. And another item.

⋅⋅⋅You can have properly indented paragraphs within list items. Notice the blank line above, and the leading spaces (at least one, but we'll use three here to also align the raw Markdown).

⋅⋅⋅To have a line break without a paragraph, you will need to use two trailing spaces.⋅⋅
⋅⋅⋅Note that this line is separate, but within the same paragraph.⋅⋅
⋅⋅⋅(This is contrary to the typical GFM line break behaviour, where trailing spaces are not required.)

* Unordered list can use asterisks
- Or minuses
+ Or pluses
</code></pre>

<ol>
  <li>First ordered list item</li>
  <li>Another item
    <ul>
      <li>Unordered sub-list.</li>
    </ul>
  </li>
  <li>Actual numbers don’t matter, just that it’s a number</li>
  <li>Ordered sub-list</li>
  <li>
    <p>And another item.</p>

    <p>You can have properly indented paragraphs within list items. Notice the blank line above, and the leading spaces (at least one, but we’ll use three here to also align the raw Markdown).</p>

    <p>To have a line break without a paragraph, you will need to use two trailing spaces.<br />
Note that this line is separate, but within the same paragraph.<br />
(This is contrary to the typical GFM line break behaviour, where trailing spaces are not required.)</p>
  </li>
</ol>

<ul>
  <li>Unordered list can use asterisks</li>
  <li>Or minuses</li>
  <li>Or pluses</li>
</ul>

<p><a name="links"></a></p>
<h2 id="links">Links</h2>

<p>There are two ways to create links.</p>

<pre><code class="language-no-highlight">[I'm an inline-style link](https://www.google.com)

[I'm an inline-style link with title](https://www.google.com "Google's Homepage")

[I'm a reference-style link][Arbitrary case-insensitive reference text]

[I'm a relative reference to a repository file](../blob/master/LICENSE)

[You can use numbers for reference-style link definitions][1]

Or leave it empty and use the [link text itself].

URLs and URLs in angle brackets will automatically get turned into links.
http://www.example.com or &lt;http://www.example.com&gt; and sometimes
example.com (but not on Github, for example).

Some text to show that the reference links can follow later.

[arbitrary case-insensitive reference text]: https://www.mozilla.org
[1]: http://slashdot.org
[link text itself]: http://www.reddit.com
</code></pre>

<p><a href="https://www.google.com">I’m an inline-style link</a></p>

<p><a href="https://www.google.com" title="Google's Homepage">I’m an inline-style link with title</a></p>

<p><a href="https://www.mozilla.org">I’m a reference-style link</a></p>

<p><a href="../blob/master/LICENSE">I’m a relative reference to a repository file</a></p>

<p><a href="http://slashdot.org">You can use numbers for reference-style link definitions</a></p>

<p>Or leave it empty and use the <a href="http://www.reddit.com">link text itself</a>.</p>

<p>URLs and URLs in angle brackets will automatically get turned into links.
http://www.example.com or <a href="http://www.example.com">http://www.example.com</a> and sometimes
example.com (but not on Github, for example).</p>

<p>Some text to show that the reference links can follow later.</p>

<p><a name="images"></a></p>
<h2 id="images">Images</h2>

<pre><code class="language-no-highlight">Here's our logo (hover to see the title text):

Inline-style:
![alt text](https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png "Logo Title Text 1")

Reference-style:
![alt text][logo]

[logo]: https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png "Logo Title Text 2"
</code></pre>

<p>Here’s our logo (hover to see the title text):</p>

<p>Inline-style:
<img src="https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png" alt="alt text" title="Logo Title Text 1" /></p>

<p>Reference-style:
<img src="https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png" alt="alt text" title="Logo Title Text 2" /></p>

<p><a name="code"></a></p>
<h2 id="code-and-syntax-highlighting">Code and Syntax Highlighting</h2>

<p>Code blocks are part of the Markdown spec, but syntax highlighting isn’t. However, many renderers – like Github’s and <em>Markdown Here</em> – support syntax highlighting. Which languages are supported and how those language names should be written will vary from renderer to renderer. <em>Markdown Here</em> supports highlighting for dozens of languages (and not-really-languages, like diffs and HTTP headers); to see the complete list, and how to write the language names, see the <a href="http://softwaremaniacs.org/media/soft/highlight/test.html">highlight.js demo page</a>.</p>

<pre><code class="language-no-highlight">Inline `code` has `back-ticks around` it.
</code></pre>

<p>Inline <code class="highlighter-rouge">code</code> has <code class="highlighter-rouge">back-ticks around</code> it.</p>

<p>Blocks of code are either fenced by lines with three back-ticks <code>```</code>, or are indented with four spaces. I recommend only using the fenced code blocks – they’re easier and only they support syntax highlighting.</p>

<pre lang="no-highlight"><code>```javascript
var s = "JavaScript syntax highlighting";
alert(s);
```

```python
s = "Python syntax highlighting"
print s
```

```
No language indicated, so no syntax highlighting.
But let's throw in a &lt;b&gt;tag&lt;/b&gt;.
```
</code></pre>

<div class="language-javascript highlighter-rouge"><pre class="highlight"><code><span class="kd">var</span> <span class="nx">s</span> <span class="o">=</span> <span class="s2">"JavaScript syntax highlighting"</span><span class="p">;</span>
<span class="nx">alert</span><span class="p">(</span><span class="nx">s</span><span class="p">);</span>
</code></pre>
</div>

<div class="language-python highlighter-rouge"><pre class="highlight"><code><span class="n">s</span> <span class="o">=</span> <span class="s">"Python syntax highlighting"</span>
<span class="k">print</span> <span class="n">s</span>
</code></pre>
</div>

<div class="highlighter-rouge"><pre class="highlight"><code>No language indicated, so no syntax highlighting in Markdown Here (varies on Github).
But let's throw in a &lt;b&gt;tag&lt;/b&gt;.
</code></pre>
</div>

<p><a name="tables"></a></p>
<h2 id="tables">Tables</h2>

<p>Tables aren’t part of the core Markdown spec, but they are part of GFM and <em>Markdown Here</em> supports them. They are an easy way of adding tables to your email – a task that would otherwise require copy-pasting from another application.</p>

<pre><code class="language-no-highlight">Colons can be used to align columns.

| Tables        | Are           | Cool  |
| ------------- |:-------------:| -----:|
| col 3 is      | right-aligned | $1600 |
| col 2 is      | centered      |   $12 |
| zebra stripes | are neat      |    $1 |

There must be at least 3 dashes separating each header cell.
The outer pipes (|) are optional, and you don't need to make the
raw Markdown line up prettily. You can also use inline Markdown.

Markdown | Less | Pretty
--- | --- | ---
*Still* | `renders` | **nicely**
1 | 2 | 3
</code></pre>

<p>Colons can be used to align columns.</p>

<table>
  <thead>
    <tr>
      <th>Tables</th>
      <th style="text-align: center">Are</th>
      <th style="text-align: right">Cool</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>col 3 is</td>
      <td style="text-align: center">right-aligned</td>
      <td style="text-align: right">$1600</td>
    </tr>
    <tr>
      <td>col 2 is</td>
      <td style="text-align: center">centered</td>
      <td style="text-align: right">$12</td>
    </tr>
    <tr>
      <td>zebra stripes</td>
      <td style="text-align: center">are neat</td>
      <td style="text-align: right">$1</td>
    </tr>
  </tbody>
</table>

<table>
  <tbody>
    <tr>
      <td>There must be at least 3 dashes separating each header cell. The outer pipes (</td>
      <td>) are optional, and you don’t need to make the raw Markdown line up prettily. You can also use inline Markdown.</td>
    </tr>
  </tbody>
</table>

<table>
  <thead>
    <tr>
      <th>Markdown</th>
      <th>Less</th>
      <th>Pretty</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><em>Still</em></td>
      <td><code class="highlighter-rouge">renders</code></td>
      <td><strong>nicely</strong></td>
    </tr>
    <tr>
      <td>1</td>
      <td>2</td>
      <td>3</td>
    </tr>
  </tbody>
</table>

<p><a name="blockquotes"></a></p>
<h2 id="blockquotes">Blockquotes</h2>

<pre><code class="language-no-highlight">&gt; Blockquotes are very handy in email to emulate reply text.
&gt; This line is part of the same quote.

Quote break.

&gt; This is a very long line that will still be quoted properly when it wraps. Oh boy let's keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can *put* **Markdown** into a blockquote.
</code></pre>

<blockquote>
  <p>Blockquotes are very handy in email to emulate reply text.
This line is part of the same quote.</p>
</blockquote>

<p>Quote break.</p>

<blockquote>
  <p>This is a very long line that will still be quoted properly when it wraps. Oh boy let’s keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can <em>put</em> <strong>Markdown</strong> into a blockquote.</p>
</blockquote>

<p><a name="html"></a></p>
<h2 id="inline-html">Inline HTML</h2>

<p>You can also use raw HTML in your Markdown, and it’ll mostly work pretty well.</p>

<pre><code class="language-no-highlight">&lt;dl&gt;
  &lt;dt&gt;Definition list&lt;/dt&gt;
  &lt;dd&gt;Is something people use sometimes.&lt;/dd&gt;

  &lt;dt&gt;Markdown in HTML&lt;/dt&gt;
  &lt;dd&gt;Does *not* work **very** well. Use HTML &lt;em&gt;tags&lt;/em&gt;.&lt;/dd&gt;
&lt;/dl&gt;
</code></pre>

<dl>
  <dt>Definition list</dt>
  <dd>Is something people use sometimes.</dd>

  <dt>Markdown in HTML</dt>
  <dd>Does *not* work **very** well. Use HTML <em>tags</em>.</dd>
</dl>

<p><a name="hr"></a></p>
<h2 id="horizontal-rule">Horizontal Rule</h2>

<div class="highlighter-rouge"><pre class="highlight"><code>Three or more...

---

Hyphens

***

Asterisks

___

Underscores
</code></pre>
</div>

<p>Three or more…</p>

<hr />

<p>Hyphens</p>

<hr />

<p>Asterisks</p>

<hr />

<p>Underscores</p>

<p><a name="lines"></a></p>
<h2 id="line-breaks">Line Breaks</h2>

<p>My basic recommendation for learning how line breaks work is to experiment and discover – hit &lt;Enter&gt; once (i.e., insert one newline), then hit it twice (i.e., insert two newlines), see what happens. You’ll soon learn to get what you want. “Markdown Toggle” is your friend.</p>

<p>Here are some things to try out:</p>

<div class="highlighter-rouge"><pre class="highlight"><code>Here's a line for us to start with.

This line is separated from the one above by two newlines, so it will be a *separate paragraph*.

This line is also a separate paragraph, but...
This line is only separated by a single newline, so it's a separate line in the *same paragraph*.
</code></pre>
</div>

<p>Here’s a line for us to start with.</p>

<p>This line is separated from the one above by two newlines, so it will be a <em>separate paragraph</em>.</p>

<p>This line is also begins a separate paragraph, but…<br />
This line is only separated by a single newline, so it’s a separate line in the <em>same paragraph</em>.</p>

<p>(Technical note: <em>Markdown Here</em> uses GFM line breaks, so there’s no need to use MD’s two-space line breaks.)</p>

<p><a name="videos"></a></p>
<h2 id="youtube-videos">Youtube videos</h2>

<p>They can’t be added directly but you can add an image with a link to the video like this:</p>

<pre><code class="language-no-highlight">&lt;a href="http://www.youtube.com/watch?feature=player_embedded&amp;v=YOUTUBE_VIDEO_ID_HERE
" target="_blank"&gt;&lt;img src="http://img.youtube.com/vi/YOUTUBE_VIDEO_ID_HERE/0.jpg"
alt="IMAGE ALT TEXT HERE" width="240" height="180" border="10" /&gt;&lt;/a&gt;
</code></pre>

<p>Or, in pure Markdown, but losing the image sizing and border:</p>

<pre><code class="language-no-highlight">[![IMAGE ALT TEXT HERE](http://img.youtube.com/vi/YOUTUBE_VIDEO_ID_HERE/0.jpg)](http://www.youtube.com/watch?v=YOUTUBE_VIDEO_ID_HERE)
</code></pre>

<p>Referencing a bug by #bugID in your git commit links it to the slip. For example #1.</p>

<hr />

<p>License: <a href="https://creativecommons.org/licenses/by/3.0/">CC-BY</a></p>
</div>
            <p class="text-center">
              <br />
              <a target="_blank" href="https://github.com/apache/incubator-nemo-website/tree/asf-site/_docs/jekyll_related/cheatsheet.md" class="btn btn-default btn-sm githubEditButton" role="button">
                <i class="fa fa-pencil"></i> Improve this page
              </a>
            </p>
            <hr>
            





  
  

  
  

  
  

  
  

  
  

  
  

  
  


        </div>

    </div>
</div>

        </div>
    </div>

    <footer class="footer">
    <div class="container">

        <p class="text-center">
            Nemo 2019 |
            Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
        </p>
        <!-- <p class="text-muted">Place sticky footer content here.</p> -->
    </div>
</footer>

    <script>
  var baseurl = ''
</script>
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="/js/bootstrap.min.js "></script>
<script src="/js/typeahead.bundle.min.js "></script>

<script src="/js/main.js "></script>

</body>

</html>
