Jekyll将<i>标签转换为<em>标签

时间:2019-02-26 08:04:10

标签: jekyll kramdown

我们正在将现有的静态网站转换为Jekyll。我们正在使用标签来显示“真棒字体”图标,如下所示

<a class="box-icon-title margin-bottom-20" href="#">
<i class="fa fa-picture-o"></i>

但是,jekyll将所有这些标签转换为如下标签

<a class="box-icon-title margin-bottom-20" href="#"> 
<em class="fa fa-picture-o"></em>

任何想法如何防止Jekyll将标签转换为标签

2 个答案:

答案 0 :(得分:4)

Jekyll不能将<i>标签转换为<em>标签。 可能是您正在使用某些插件的结果。

请发布您的Gemfile_config.yml_plugins目录的内容。

答案 1 :(得分:0)

我不确定Jekyll是否转换<i>标签,但如果这样做,最好不要修改Jekyll。相反,我建议使用一个简单的jquery代码将<em>再次转换回<i>,同时保留所有属性:

$(document).on("ready",function(){
    $('em.fa').replaceWith(function(){
       $iTag = $("<i>", {html: $(this).html()});
       $.each(this.attributes, function(i, attribute){
            $iTag.attr(attribute.name, attribute.value);
      });
      return $iTag;
    })
})

注意:如果$(document).on("ready")不起作用,请尝试$(window).on("load")

注意:如果Jekyll在完成后具有回调函数,则最好的方法是将上述函数作为Jekyll的回调函数(未准备好在DOM上)。