LHS和Markdown:代码块

Rob*_*oli 17 markdown haskell literate-programming

我碰巧真的喜欢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?
Run Code Online (Sandbox Code Playgroud)

这是一个有文化的haskell文件的例子,后来由Markdown解析.但是,我希望代码实际上出现在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>
Run Code Online (Sandbox Code Playgroud)

需要注意的是它没有>符号.我该怎么办?

dav*_*420 17

使用Pandoc.它有一个markdown + lhs模式,用于在文字Haskell文件中使用markdown,如果你不喜欢它生成的html,则有一个api用于修改文档结构.

安装它

cabal install pandoc
Run Code Online (Sandbox Code Playgroud)

  • 罗伯特,粘贴在这里的html http://hpaste.org/fastcgi/hpaste.fcgi/raw?id=29029是削减你的降价并用'pbpaste |粘贴到'pandoc`的结果 pandoc -r markdown + lhs -w html -s | pbcopy`以防万一你接受Haskell博客写作...请注意你*可以要求`pandoc`用鸟道写"literate html":`pbpaste | pandoc -r markdown + lhs -w html + lhs | pbpaste` - 然后你会得到这个:http://hpaste.org/fastcgi/hpaste.fcgi/view?id = 29030 html很奇怪,但是合法,格式化; 你可以通过`tidy`来摆脱它. (6认同)