如何使用Jekyll和Markdown自动转义HTML内容?

San*_*eep 12 ruby markdown jekyll

在foo.markdown中我有以下内容:

---
layout: default
title: Snarky little Ewok
---

A little Ewok is sometimes referred too as <h3>. But pappa Ewok is called <h1> - if you know what's good for you.
Run Code Online (Sandbox Code Playgroud)

好吧,我希望Jekyll自动html转义大于和小于字符.在今天的学徒训练之后,我非常疲惫,我只是懒得手动html逃避自己:> h3 <

是否有配置选项或其他东西自动逃避Jekyll降价内容?

kik*_*ito 15

如果您使用纺织品而不是降价,那么就有办法.

Liquid markup具有textilize和escape过滤器; 那两个会让你做你想做的,但在纺织品上.您必须将文件保存为文本(文件扩展名:txt),然后在textilizing之前转义html:

---
layout: default
title: Snarky little Ewok
---

This file's extension is .txt

A little Ewok is sometimes referred too as <h3>. But pappa Ewok is called <h1> - if you know what's good for you.
Run Code Online (Sandbox Code Playgroud)

然后在default.html布局上,而不是:

{{ page.content }}
Run Code Online (Sandbox Code Playgroud)

你会有这个:

{{ page.content | xml_escape | textilize }}
Run Code Online (Sandbox Code Playgroud)

由于Jekyll上还没有'markdownify'过滤器,你不能用降价来做到这一点.在Jekyll上有一个问题(问题134),用于添加markdownify过滤器.

编辑:

现在可以使用markdown(因为jekyll 0.10.1)

{{ page.content | xml_escape | markdownify }}
Run Code Online (Sandbox Code Playgroud)

  • 在这个强大的是力量。 (2认同)
  • 不,这是`{{page.content | markdownify}}` - [Liquid Extensions](https://github.com/mojombo/jekyll/wiki/Liquid-Extensions) (2认同)