Подтвердить что ты не робот

LHS и Markdown: кодовые блоки

Мне действительно нравится Markdown (возможно, из-за SO), и мне нравится программировать в Haskell. Недавно я обнаружил Literate Haskell (LHS), и я хочу использовать Markdown и LHS вместе. Позвольте мне дать вам этот немой пример:

Crazy Literate Haskell
======================

This is an example of some literate Haskell Code:

> module Main where

Look at that IO Monad work:

> main = return 2 >>= print

Wasn't that cool?

Это пример грамотного файла haskell, написанного позже для анализа. Тем не менее, я хочу, чтобы код действительно отображался в html-блоках кода и без > перед ними. Поэтому я не могу просто отбросить все строки кода на четыре, потому что это приведет к уценке, которую вы видите выше. В принципе, я хочу, чтобы html вышел следующим образом:

<h1>Crazy Literate Haskell</h1>

<p>This is an example of some literate Haskell Code:</p>

<pre><code>module Main where
</code></pre>

<p>Look at that IO Monad work:</p>

<pre><code>main = return 2 &gt;&gt;= print
</code></pre>

<p>Wasn't that cool?</p>

Следует заметить, что он не имеет символов > . Как мне это сделать?

4b9b3361

Ответ 1

Используйте Pandoc. Он имеет режим markdown + lhs для использования метокда в литеральных файлах Haskell, и если вам не нравится html, который он создает, есть api для изменения структуры документа.

Установите его с помощью

cabal install pandoc