2

我开始将Middleman用于静态网页和博客目的。我将它与基于 ZURB Fondation 的模板Middleman-Foundation一起使用。它使用Haml,我确实倾向于使用 Haml,偶尔会使用 Markdown 文件。

我正在使用 redcarpet 进行降价,也可以使用 Github 风格的围栏代码块来突出显示源代码。但我不知道如何在 Haml 中为 Markdown 设置它。

我检查了适用于但不适用于. 我试图从Glorify中弄清楚但失败了。我已经检查过这个这个了。.html.md.html.haml

在 Haml Markdown 中实现工作隔离代码块以生成突出显示的源代码的基本步骤是什么。

从一开始就有一套步骤,从gem install middleman克隆/使用中间人基金会开始,这将是很棒的,但欢迎任何简短的、实际的答案。

编辑

我能够通过以下方式在 Haml 中实现 pygmentized 代码块(遗憾的是,似乎无法为此使用带有围栏代码块的 markdown ......):

  %li#simple3Tab This is simple tab 3's content. It's, you know...okay.
  %li#simple4Tab
    -code("ruby") do
      :plain
        def my_cool_method(message)
          puts message
        end
%h3 Buttons

但是有一个持久的问题,这就是我得到的:

无法放置标题换行符

可以看出第一行没有正确缩进,这是因为前面的代码片段没有产生标题换行符:

  <li id='simple3Tab'>This is simple tab 3's content. It's, you know...okay.</li>
  <li id='simple4Tab'>
    <div class="highlight"><pre><span class="k">def</span> <span class="nf">my_cool_method</span><span class="p">(</span><span class="n">message</span><span class="p">)</span>
      <span class="nb">puts</span> <span class="n">message</span>
    <span class="k">end</span>
    </pre></div>
  </li>
</ul>
<h3>Buttons</h3>

我不知道如何在第一行之前换行<span>,在开头<pre>之后,以便代码像其他行一样正确缩进。

期望:

  <li id='simple3Tab'>This is simple tab 3's content. It's, you know...okay.</li>
  <li id='simple4Tab'>
    <div class="highlight"><pre>
    <span class="k">def</span> <span class="nf">my_cool_method</span><span class="p">(</span><span class="n">message</span><span class="p">)</span>
      <span class="nb">puts</span> <span class="n">message</span>
    <span class="k">end</span>
    </pre></div>
  </li>
</ul>
<h3>Buttons</h3>
4

2 回答 2

1

我能够使用@bhollis 提供的信息、Haml 参考资料以及Glorify 作者指出的这个 SO 问题,通过反复试验来解决这个问题。

这是神奇的组合:

  %li#simple3Tab This is simple tab 3's content. It's, you know...okay.
  %li#simple4Tab
    =preserve do
      -code("ruby") do
        :plain
          def my_cool_method(message)
            puts "Hello" + message
          end
%h3 Buttons

结果(对于这个我启用了 emacs 样式表):

我得到了力量

这不仅解决了有关“缺少”标题换行符的问题,而且还删除了所提到的 SO 问题所涉及的额外缩进。

我仍然愿意接受更短更好的方法。三行前导码输入代码有点不方便。

于 2013-02-10T04:46:28.487 回答
0

查看中间人语法的文档:https ://github.com/middleman/middleman-syntax

代码高亮自动包含在 Markdown 代码块中(通过 Redcarpet),但在 Haml 中,最好使用“代码”助手:

- code("ruby") do
  My ruby code here
于 2013-02-09T23:28:04.203 回答