在 Jekyll Markdown 中转义渲染液体模板
Escaping Rendering Liquid Template in Jekyll Markdown
有没有办法在 Jekyll 降价页面中转义液体模板渲染?
我在降价文件中有以下受保护的代码块:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Example Title</title>
</head>
<body>
<div id="app">
{% raw %}
{{ content }}
{% endraw %}
</div>
</body>
</html>
```
呈现为:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Example Title</title>
</head>
<body>
<div id="app">
</div>
</body>
</html>
我不确定为什么,但 Jekyll 正在处理 {% raw %}
标签之间的内容。我想按原样保留 {{ content }}
块,而不进行渲染。
我也尝试过使用 {
作为页面变量并通过以下方式访问它的方法:
{{ page.lcb }}{ content }}
原来我的问题因 Vue.js 的模板问题而变得更加复杂,它也使用模板的 mustache 语法。我能够通过以下方式解决此问题:
{% raw %}{{ "{{ content " }}}}{% endraw %}
它看起来不太好,但很管用。
我遇到了同样的问题。我将 CloudCannon 用于 Jekyll。我有几个地方使用了 {{}},所以我最终将它放入组件文件中,模板可能无论如何都应该驻留在其中以符合 Vue 的结构,例如:
var app = new Vue({
el: "#app",
data: {...} ,
filters: {...} ,
methods: {...},
template: `
<div>
<ul class="services">
<li class="services__item" v-for="service in services" v-on:click="toggleActive(service)" v-bind:class="{ \'active\' : service.active }">
<span>{{service.name}}</span> <span>{{service.price | currency}}</span>
</li>
</ul>
<p class="total">
<span>Total:</span> <span>{{total() | currency}}</span>
</p>
</div>
`
});
有没有办法在 Jekyll 降价页面中转义液体模板渲染?
我在降价文件中有以下受保护的代码块:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Example Title</title>
</head>
<body>
<div id="app">
{% raw %}
{{ content }}
{% endraw %}
</div>
</body>
</html>
```
呈现为:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Example Title</title>
</head>
<body>
<div id="app">
</div>
</body>
</html>
我不确定为什么,但 Jekyll 正在处理 {% raw %}
标签之间的内容。我想按原样保留 {{ content }}
块,而不进行渲染。
我也尝试过使用 {
作为页面变量并通过以下方式访问它的方法:
{{ page.lcb }}{ content }}
原来我的问题因 Vue.js 的模板问题而变得更加复杂,它也使用模板的 mustache 语法。我能够通过以下方式解决此问题:
{% raw %}{{ "{{ content " }}}}{% endraw %}
它看起来不太好,但很管用。
我遇到了同样的问题。我将 CloudCannon 用于 Jekyll。我有几个地方使用了 {{}},所以我最终将它放入组件文件中,模板可能无论如何都应该驻留在其中以符合 Vue 的结构,例如:
var app = new Vue({
el: "#app",
data: {...} ,
filters: {...} ,
methods: {...},
template: `
<div>
<ul class="services">
<li class="services__item" v-for="service in services" v-on:click="toggleActive(service)" v-bind:class="{ \'active\' : service.active }">
<span>{{service.name}}</span> <span>{{service.price | currency}}</span>
</li>
</ul>
<p class="total">
<span>Total:</span> <span>{{total() | currency}}</span>
</p>
</div>
`
});