我正在使用Middleman构建网站,并使用Redcarpet作为我的降价引擎,主要用于GFM支持。
我想点击或降低降价渲染过程,以添加对各种语法选项的支持。在一个例子中,我喜欢这样:
[file:/path/to/file]
呈现为:
<p class="file">
<code>/path/to/file</code>
</p>
在每种情况下,我都不会渲染任何会影响模板中剩余markdown的内容,所以我怀疑我可以在渲染过程之前。
此外,如果使用其他渲染器更简单,除了我更喜欢支持GFM之外,我不会以任何方式与Redcarpet绑定。
答案 0 :(得分:1)
首先,您需要在config.rb文件中基于redcarpet创建一个新的渲染器。类似的东西:
set renderer: myRenderer
接下来,您需要创建&#34; myRenderer&#34;作为一个新类(您可以在config.rb的顶部执行此操作,但您也可以将其放在外部文件中)
require "middleman-core/renderers/redcarpet"
class myRenderer < Middleman::Renderers::MiddlemanRedcarpetHTML
def preprocess(document)
# insert ruby code to use a regex to find your tag in the document
# insert ruby code to generate your HTML and replace your tag with
# HTML that you want
return (document)
end
如果您希望这是最后一件事,请使用postprocess(document)而不是preprocess(document)