Jekyll 中输出转义的字符
作者:
| 更新日期:使用 github 做静态网站,写文章的时候避免不了要显示大括号这个符号,但是大括号是 jekyll 的转义字符,所以我们需要想办法输出这个符号了。
本文首发于公众号:天空的代码世界,微信号:tiankonguse
安装插件
第一步我们需要安装一个插件。
实际上就是在 _plugin 下新建一个名字为 raw_tag.rb 的文件。
module Jekyll
class RawTag < Liquid::Block
def parse(tokens)
@nodelist ||= []
@nodelist.clear
while token = tokens.shift
if token =~ FullToken
if block_delimiter == $1
end_tag
return
end
end
@nodelist << token if not token.empty?
end
end
end
end
Liquid::Template.register_tag('raw', Jekyll::RawTag)
然后就可以把需要转义的文本放到 { % raw % } { % endraw % } 里面了。
比如
{ % raw % }
/(\d{1,3}\.){3}\d{1,3}/.test("127.0.0.1")
{ % endraw % }
开始转义
一般的文本直接放到 { % raw % } { % endraw % } 即可转义。
但是对于代码高亮文件,直接使用这个会出现问题。
有人说使用 highlight 来解决这个问题,但是使用这个颇为麻烦。
{% highlight text %}
{ % raw % } something { % endraw % }
{% endhighlight %}
最简单的方法就是使用缩进代替 highlight 即可。
因为 markdown 中代码前留4个空格就代表高亮代码了。
参考资料
本文首发于公众号:天空的代码世界,微信号:tiankonguse
如果你想留言,可以在微信里面关注公众号进行留言。