<a> html 标签的中间人 Kramdown 转换器

Middleman Kramdown Converter for <a> html tags

我正在尝试在中间人应用程序中转换每个 kramdown link。

到目前为止,我已经尝试在 Kramdown::Converter::Html 模块前面加上 并覆盖 convert_a 方法。

module Kramdown
  module Converter
    module UrlConverter
      def convert_a(el, indent)
        "<a href=\"foo\">bar</a>"
      end
    end
  end
end

Kramdown::Converter::Html.prepend Kramdown::Converter::UrlConverter

但由于某种原因,convert_a 从未执行过。 convert_pconvert_codeblock 等方法已执行,我可以更改它们的行为。

Kramdown 1.10.0 中间人 4.3.5

有什么想法吗?

中间人通过从 Kramdown::Converter::Html 派生而不调用 super.

来覆盖 middleman-core/lib/middleman-core/renderers/kramdown.rb 中的 convert_a(和 convert_img

因此,通过添加到 Kramdown::Converter::Html,您的方法被中间人的版本所取代。

您可能通过 monkeypatching Middleman::Renderes::MiddlemanKramdownHTML 更成功,但您需要注意不要违反中间人对 convert_a 方法的期望。