    code blocks can start in the first line

This is a code block

    foo bar
    eggs bacon

They are allowed to start within a block:

    foo

Code blocks can contain empty lines

    before empty line

    after empty line

Language info strings will add a class to the code block

    #!/bin/sh
    ls -la .

Accidental code fences can be avoided by escaping ``` like this. ```

According to commonmark, a code block that is not terminated will continue until the end of file.

    This is code.