Как установить атрибут класса HTML в Markdown?

Если у меня есть Markdown как

## My Title

A paragraph of content here.

    code_line(1);
    // a code comment
    class MoreCode { }

and more text to follow...

Как я могу установить класс в блоке <code>, который был создан в середине? Я хочу, чтобы он выводил

<code class=’prettyprint’>
  code_line(1);
  // a code comment
  class More Code { }
</code>

Но я не могу его настроить. Я не контролирую выполняемый код Markdown только по содержанию.

Ответ 1

Вы можете внедрить HTML в Markdown. Просто введите буквально то, что вы хотите, без отступов.

<code class="prettyprint">
  code_line(1);
  // a code comment
  class More Code { }
</code>

Ответ 2

Хотя точно не ответил на вопрос. Вы можете использовать другой рендер тоже, как Maruku или Kramdown:

## My Title

A paragraph of content here.
~~~
code_line(1);
// a code comment
class MoreCode { }
~~~
{: .prettyprint}

and more text to follow...

Выход (проверен с помощью haml и kramdown):

<pre class="prettyprint"><code>
code_line(1);
// a code comment
class MoreCode { }
</code></pre>

Синтаксис Kramdown: http://kramdown.rubyforge.org/quickref.html#block-attributes

Ответ 3

У Markdown есть расширение attr_list.py, которое позволяет использовать синтаксис Maruku {:.classname}