如何扩展中间人的红地毯降价渲染器?



我正在用Middleman建立一个网站,并使用Redcarpet作为我的降价引擎,主要是为了它的GFM支持。

我想进入或在降价呈现过程之前添加对各种语法选项的支持。在一个示例中,我想这样做:

[file:/path/to/file]

将呈现为:

<p class="file">
  <code>/path/to/file</code>
</p>

在任何情况下,我都没有呈现任何会影响模板中剩余标记的内容,因此我怀疑我可以在呈现过程之前进行。

同样,如果使用另一个渲染器更简单,我不会以任何方式绑定到Redcarpet,除了我更喜欢GFM支持。

首先,您需要在配置中基于redcarpet创建一个新的渲染器。rb文件。比如:

   set renderer: myRenderer

接下来,你需要创建"myRenderer"作为一个新类(你可以在你的配置顶部这样做)。但你也可以把它放在一个外部文件)

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)

相关内容

  • 没有找到相关文章

最新更新