设置markdown中展示liquid(jekyll)但不解析的方式

 
Category: Frontend

问题描述

最近写关于博客配置的文章中出现了这样一个问题, 如果页面是通过Jekyll引擎进行渲染的, 那么如果在文章中写了Liquid代码, 引擎也会将其解析 写配置类博客的目的当然是展示代码, 那么如何只展示Liquid代码而并不使引擎解析呢?

不同于块注释

{% comment %}
This is a comment in Liquid 
{% endcomment %}

如果写上块注释的话其实Liquid是不会显示的, 要让其完整显示命令语句, 只能进行一种类似于转义的方法.

之后通过Google我得到了完美的答案, 主要参考了Stack Overflow里面的回答12, 下面来详细介绍一下具体的方法与各自的使用场景.

方法一: 针对块

(非常推荐)

{% raw %}
{% this %}
{% endraw %}

显示效果:


{% this %}

方法二: 针对行

(较为复杂, 推荐)

{{ "{% this " }}%}

显示为

{% this %}

或者

 {{ "{{ this " }}}} 

显示为:

{{ this }}

当然, 如果需要显示下面的命令:

 {{ "{% this " }}%} 

则需要这样来写:

 {{ "{{ " }}"{{ "{% this" }} " }}{{ }}%} 

同理, 如果要显示下面的命令:

 {{ "{{ this " }}}} 

就要这样来写:

{{ "{{ " }}"{{ "{{ this" }} " }}{{ }}}}

方法三: 使用特殊字符

(需要记忆HTML特殊字符, 不推荐, 但是对于想要显示连续的不闭合大扩号时候就能派上用场了)

代码:

{{ this }}

显示效果:

{{ this }}

代码:

{% this %}

显示效果:

{% this %}

方法四: 使用变量

代码:

{% assign var = "{{ sth }}" %} {{ var }}

显示效果:

 {{ sth }}

主要参考