# Raw Output from Markdown Examples

##

###

This vignette shows some examples for different Markdown rendering options.

    library(markdown)

    # toc example
    mkd <- c("# Header 1", "p1", "## Header 2", "p2")

    cat(mark(mkd, options = "+number_sections"))

    <h1 id="header-1"><span class="section-number">1.</span> Header 1</h1>
    <p>p1</p>
    <h2 id="header-2"><span class="section-number">1.1</span> Header 2</h2>
    <p>p2</p>

    cat(mark(mkd, options = "+number_sections+toc"))

    <div id="TOC">
    <ul class="numbered">
    <li><a href="#header-1"><span class="section-number">1.</span> Header 1</a>
    <ul>
    <li><a href="#header-2"><span class="section-number">1.1</span> Header 2</a></li>
    </ul>
    </li>
    </ul>
    </div>
    <h1 id="header-1"><span class="section-number">1.</span> Header 1</h1>
    <p>p1</p>
    <h2 id="header-2"><span class="section-number">1.1</span> Header 2</h2>
    <p>p2</p>

    # hard_wrap example
    cat(mark("foo\nbar\n"))

    <p>foo
    bar</p>

    cat(mark("foo\nbar\n", options = "hard_wrap"))

    <p>foo<br />
    bar</p>

    # latex math example
    mkd <- c(
      "`$x$` is inline math $x$!", "", "Display style:", "", "$$x + y$$", "",
      "\\begin{eqnarray}
    a^{2}+b^{2} & = & c^{2}\\\\
    \\sin^{2}(x)+\\cos^{2}(x) & = & 1
    \\end{eqnarray}"
    )

    cat(mark(mkd))

    <p><code>$x$</code> is inline math \(x\)!</p>
    <p>Display style:</p>
    <p>$$x + y$$</p>
    <p>\begin{eqnarray} a^{2}+b^{2} &amp; = &amp; c^{2}\\ \sin^{2}(x)+\cos^{2}(x) &amp; = &amp; 1 \end{eqnarray}</p>

    cat(mark(mkd, options = "-latex_math"))

    <p><code>$x$</code> is inline math $x$!</p>
    <p>Display style:</p>
    <p>$$x + y$$</p>
    <p>\begin{eqnarray}
    a^{2}+b^{2} &amp; = &amp; c^{2}\
    \sin^{2}(x)+\cos^{2}(x) &amp; = &amp; 1
    \end{eqnarray}</p>

    # tables example (need 4 spaces at beginning of line here)
    cat(mark("
    First Header  | Second Header
    ------------- | -------------
    Content Cell  | Content Cell
    Content Cell  | Content Cell
    "))

    <table>
    <thead>
    <tr>
    <th>First Header</th>
    <th>Second Header</th>
    </tr>
    </thead>
    <tbody>
    <tr>
    <td>Content Cell</td>
    <td>Content Cell</td>
    </tr>
    <tr>
    <td>Content Cell</td>
    <td>Content Cell</td>
    </tr>
    </tbody>
    </table>

    # but not here
    cat(mark("
    First Header  | Second Header
    ------------- | -------------
    Content Cell  | Content Cell
    Content Cell  | Content Cell
    ", options = '-table'))

    <p>First Header  | Second Header
    ———–– | ———––
    Content Cell  | Content Cell
    Content Cell  | Content Cell</p>

    # autolink example
    cat(mark("https://www.r-project.org/"))

    <p><a href="https://www.r-project.org/">https://www.r-project.org/</a></p>

    cat(mark("https://www.r-project.org/", options = "-autolink"))

    <p>https://www.r-project.org/</p>

    # strikethrough example
    cat(mark("~~awesome~~"))

    <p><del>awesome</del></p>

    cat(mark("~~awesome~~", options = "-strikethrough"))

    <p>~~awesome~~</p>

    # superscript and subscript examples
    cat(mark("2^10^"))

    <p>2<sup>10</sup></p>

    cat(mark("2^10^", options = "-superscript"))

    <p>2^10^</p>

    cat(mark("H~2~O"))

    <p>H<sub>2</sub>O</p>

    cat(mark("H~2~O", options = "-subscript"))

    <p>H~2~O</p>

    # code blocks
    cat(mark('```r\n1 + 1;\n```'))

    <pre><code class="language-r">1 + 1;
    </code></pre>

    cat(mark('```{.r}\n1 + 1;\n```'))

    <pre><code class="language-r">1 + 1;
    </code></pre>

    cat(mark('```{.r .js}\n1 + 1;\n```'))

    <pre><code class="language-r js">1 + 1;
    </code></pre>

    cat(mark('```{.r .js #foo}\n1 + 1;\n```'))

    <pre><code class="language-r js" id="foo">1 + 1;
    </code></pre>

    cat(mark('```{.r .js #foo style="color:red;"}\n1 + 1;\n```'))

    <pre><code class="language-r js" id="foo" style="color:red;">1 + 1;
    </code></pre>

    cat(mark('````\n```{r, echo=TRUE}\n1 + 1;\n```\n````'))

    <pre><code>```{r, echo=TRUE}
    1 + 1;
    ```
    </code></pre>

    # raw blocks
    cat(mark('```{=html}\n<p>raw HTML</p>\n```'))

    <p>raw HTML</p>

    cat(mark('```{=latex}\n<p>raw HTML</p>\n```'))

    # skip_html tags
    mkd = '<style>a {}</style><script type="text/javascript">console.log("No!");</script>\n[Hello](#)'
    cat(mark(mkd))

    <style>a {}</style><script type="text/javascript">console.log("No!");</script>
    <p><a href="#">Hello</a></p>

    # TODO: wait for https://github.com/r-lib/commonmark/issues/15 to be fixed
    # cat(mark(mkd, options = "tagfilter"))