我开始使用Middleman用于静态网页&博客目的。我正在使用基于ZURB Fondation的模板Middleman-Foundation。它使用Haml,我确实倾向于偶尔使用Haml和Markdown文件。
我正在使用redcarpet进行markdown,还使用Github风格的围栏代码块进行源突出显示。但我无法弄清楚如何在Haml中为Markdown设置它。
我已检查middleman-syntax哪个适用于.html.md
,但不适用于.html.haml
。我试图从Glorify弄清楚但却失败了。我也检查了this和this。
在Haml Markdown中实现工作隔离代码块以生成突出显示的源代码的基本步骤是什么。
从开始为此提供一系列步骤,从gem install middleman
和克隆/雇用Middleman-Foundation,这将是非常棒的,但欢迎任何简短的实际答案。
我能够使用以下内容在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>
之前打破这一行,以便代码像其他行一样正确缩进。 / p>
所需:
<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>
答案 0 :(得分:1)
我能通过试用和解决这个问题来解决这个问题。错误使用@bhollis,Haml引用和this SO question指向的Glorify author提供的信息。
这是神奇的组合:
%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问题所涉及的额外缩进。
我仍然愿意采用更短更好的方法。输入代码的三行前导码有点不方便。
答案 1 :(得分:0)
查看midman-syntax的文档:https://github.com/middleman/middleman-syntax
代码突出显示自动包含在Markdown代码块中(通过Redcarpet),但在Haml中,最好使用“代码”帮助器:
- code("ruby") do
My ruby code here