如何将这段代码插入到 hexo markdown 中?
How do I insert this code into a hexo markdown?
我无法将这段代码插入到 Hexo .md
markdown 页面中。
<div class="container">
<h1>Works</h1>
<ul class="row-fluid block-grid-4">
{{#each model as |w index|}}
<li>
<h5>{{w.title}}</h5>
<p>Owner: {{w.owner}}</p>
<p>{{#link-to "work" w.id}}<img class="img-responsive img-rounded" src={{w.image}} alt={{w.title}}>{{/link-to}}</p>
</li>
{{/each}}
</ul>
</div>
我认为缩进 4 个空格就足够了,但我总是遇到这个错误。
INFO Hexo is running at http://0.0.0.0:4000/. Press Ctrl+C to stop.
Unhandled rejection Template render error: unexpected token: #
at Error.exports.TemplateError (/opt/www/jusfeel/node_modules/nunjucks/src/lib.js:51:19)
at Object.extend.fail (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:64:15)
at Object.extend.parsePrimary (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:947:18)
at Object.extend.parseUnary (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:882:25)
at Object.extend.parsePow (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:856:25)
at Object.extend.parseMod (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:844:25)
at Object.extend.parseFloorDiv (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:832:25)
at Object.extend.parseDiv (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:820:25)
at Object.extend.parseMul (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:808:25)
at Object.extend.parseSub (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:796:25)
at Object.extend.parseAdd (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:784:25)
at Object.extend.parseCompare (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:751:25)
at Object.extend.parseIn (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:720:23)
at Object.extend.parseNot (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:716:21)
如果我转义散列 (\#
),我得到新的错误:
FATAL Something's wrong. Maybe you can find the solution here: http://hexo.io/docs/troubleshooting.html
Template render error: expected variable end
at Error.exports.TemplateError (/opt/www/jusfeel/node_modules/nunjucks/src/lib.js:51:19)
at Object.extend.fail (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:64:15)
at Object.extend.advanceAfterVariableEnd (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:133:18)
at Object.extend.parseNodes (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:1159:22)
at Object.extend.parseAsRoot (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:1177:42)
at Object.module.exports.parse (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:1199:18)
at Object.module.exports.compile (/opt/www/jusfeel/node_modules/nunjucks/src/compiler.js:1118:48)
at Obj.extend._compile (/opt/www/jusfeel/node_modules/nunjucks/src/environment.js:444:35)
at Obj.extend.compile (/opt/www/jusfeel/node_modules/nunjucks/src/environment.js:433:18)
at null.<anonymous> (/opt/www/jusfeel/node_modules/nunjucks/src/environment.js:378:22)
at Object.exports.withPrettyErrors (/opt/www/jusfeel/node_modules/nunjucks/src/lib.js:24:16)
at Obj.extend.render (/opt/www/jusfeel/node_modules/nunjucks/src/environment.js:374:20)
at Obj.extend.renderString (/opt/www/jusfeel/node_modules/nunjucks/src/environment.js:261:21)
at /opt/www/jusfeel/node_modules/hexo/lib/extend/tag.js:56:9
这真令人沮丧..想想如果我想将一些代码复制并粘贴到页面中但我必须手动修复它..
另外,我无法使用 {% raw %}
,因为我复制的代码不是原始代码(>
相似)
两个相关错误都是TemplateError
,与Markdown无关。 appear Hexo 支持在 Markdown 文档中使用模板标签。当然,模板标签不是 Markdown 的一部分。推测起来,Hexo 就是运行 你的 Markdown 文档通过一个模板引擎先处理模板标签,然后将模板引擎的输出通过 Markdown 传递。
当然,模板引擎对 Markdown 或某些文本是否在代码块中一无所知。因此,它会尝试解析您的代码块,其中包含一些类似模板标签的语法,并(正确地)引发错误,因为代码不是有效模板。就个人而言,出于这个原因,我从来都不喜欢这样做的工具。这几乎不可能在您的 Markdown 代码块中包含示例模板代码。
我说几乎不可能,因为有可能,只是不方便。您需要转义模板语法。作为 docs 状态:
If certain content is causing processing issues in your posts, wrap it with the raw
tag to avoid rendering errors.
{% raw %}
<div class="container">
<h1>Works</h1>
<ul class="row-fluid block-grid-4">
{{#each model as |w index|}}
<li>
<h5>{{w.title}}</h5>
<p>Owner: {{w.owner}}</p>
<p>{{#link-to "work" w.id}}<img class="img-responsive img-rounded" src={{w.image}} alt={{w.title}}>{{/link-to}}</p>
</li>
{{/each}}
</ul>
</div>
{% endraw %}
模板引擎现在将跳过该块,忽略它,同时删除 raw
标记,以便 Markdown 解析器可以正确解析您的 Markdown。
或者...根据#1404 and #1372,围栏代码块也有效。不要缩进代码块,而是用反引号将其包装起来:
```
<div class="container">
<h1>Works</h1>
<ul class="row-fluid block-grid-4">
{{#each model as |w index|}}
<li>
<h5>{{w.title}}</h5>
<p>Owner: {{w.owner}}</p>
<p>{{#link-to "work" w.id}}<img class="img-responsive img-rounded" src={{w.image}} alt={{w.title}}>{{/link-to}}</p>
</li>
{{/each}}
</ul>
</div>
```
奇怪的是,这适用于围栏代码块,但不适用于标准缩进代码块。但你可能想试一试。如果有效,他们应该更新他们的文档。
我无法将这段代码插入到 Hexo .md
markdown 页面中。
<div class="container">
<h1>Works</h1>
<ul class="row-fluid block-grid-4">
{{#each model as |w index|}}
<li>
<h5>{{w.title}}</h5>
<p>Owner: {{w.owner}}</p>
<p>{{#link-to "work" w.id}}<img class="img-responsive img-rounded" src={{w.image}} alt={{w.title}}>{{/link-to}}</p>
</li>
{{/each}}
</ul>
</div>
我认为缩进 4 个空格就足够了,但我总是遇到这个错误。
INFO Hexo is running at http://0.0.0.0:4000/. Press Ctrl+C to stop.
Unhandled rejection Template render error: unexpected token: #
at Error.exports.TemplateError (/opt/www/jusfeel/node_modules/nunjucks/src/lib.js:51:19)
at Object.extend.fail (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:64:15)
at Object.extend.parsePrimary (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:947:18)
at Object.extend.parseUnary (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:882:25)
at Object.extend.parsePow (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:856:25)
at Object.extend.parseMod (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:844:25)
at Object.extend.parseFloorDiv (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:832:25)
at Object.extend.parseDiv (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:820:25)
at Object.extend.parseMul (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:808:25)
at Object.extend.parseSub (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:796:25)
at Object.extend.parseAdd (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:784:25)
at Object.extend.parseCompare (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:751:25)
at Object.extend.parseIn (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:720:23)
at Object.extend.parseNot (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:716:21)
如果我转义散列 (\#
),我得到新的错误:
FATAL Something's wrong. Maybe you can find the solution here: http://hexo.io/docs/troubleshooting.html
Template render error: expected variable end
at Error.exports.TemplateError (/opt/www/jusfeel/node_modules/nunjucks/src/lib.js:51:19)
at Object.extend.fail (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:64:15)
at Object.extend.advanceAfterVariableEnd (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:133:18)
at Object.extend.parseNodes (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:1159:22)
at Object.extend.parseAsRoot (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:1177:42)
at Object.module.exports.parse (/opt/www/jusfeel/node_modules/nunjucks/src/parser.js:1199:18)
at Object.module.exports.compile (/opt/www/jusfeel/node_modules/nunjucks/src/compiler.js:1118:48)
at Obj.extend._compile (/opt/www/jusfeel/node_modules/nunjucks/src/environment.js:444:35)
at Obj.extend.compile (/opt/www/jusfeel/node_modules/nunjucks/src/environment.js:433:18)
at null.<anonymous> (/opt/www/jusfeel/node_modules/nunjucks/src/environment.js:378:22)
at Object.exports.withPrettyErrors (/opt/www/jusfeel/node_modules/nunjucks/src/lib.js:24:16)
at Obj.extend.render (/opt/www/jusfeel/node_modules/nunjucks/src/environment.js:374:20)
at Obj.extend.renderString (/opt/www/jusfeel/node_modules/nunjucks/src/environment.js:261:21)
at /opt/www/jusfeel/node_modules/hexo/lib/extend/tag.js:56:9
这真令人沮丧..想想如果我想将一些代码复制并粘贴到页面中但我必须手动修复它..
另外,我无法使用 {% raw %}
,因为我复制的代码不是原始代码(>
相似)
两个相关错误都是TemplateError
,与Markdown无关。 appear Hexo 支持在 Markdown 文档中使用模板标签。当然,模板标签不是 Markdown 的一部分。推测起来,Hexo 就是运行 你的 Markdown 文档通过一个模板引擎先处理模板标签,然后将模板引擎的输出通过 Markdown 传递。
当然,模板引擎对 Markdown 或某些文本是否在代码块中一无所知。因此,它会尝试解析您的代码块,其中包含一些类似模板标签的语法,并(正确地)引发错误,因为代码不是有效模板。就个人而言,出于这个原因,我从来都不喜欢这样做的工具。这几乎不可能在您的 Markdown 代码块中包含示例模板代码。
我说几乎不可能,因为有可能,只是不方便。您需要转义模板语法。作为 docs 状态:
If certain content is causing processing issues in your posts, wrap it with the
raw
tag to avoid rendering errors.
{% raw %}
<div class="container">
<h1>Works</h1>
<ul class="row-fluid block-grid-4">
{{#each model as |w index|}}
<li>
<h5>{{w.title}}</h5>
<p>Owner: {{w.owner}}</p>
<p>{{#link-to "work" w.id}}<img class="img-responsive img-rounded" src={{w.image}} alt={{w.title}}>{{/link-to}}</p>
</li>
{{/each}}
</ul>
</div>
{% endraw %}
模板引擎现在将跳过该块,忽略它,同时删除 raw
标记,以便 Markdown 解析器可以正确解析您的 Markdown。
或者...根据#1404 and #1372,围栏代码块也有效。不要缩进代码块,而是用反引号将其包装起来:
```
<div class="container">
<h1>Works</h1>
<ul class="row-fluid block-grid-4">
{{#each model as |w index|}}
<li>
<h5>{{w.title}}</h5>
<p>Owner: {{w.owner}}</p>
<p>{{#link-to "work" w.id}}<img class="img-responsive img-rounded" src={{w.image}} alt={{w.title}}>{{/link-to}}</p>
</li>
{{/each}}
</ul>
</div>
```
奇怪的是,这适用于围栏代码块,但不适用于标准缩进代码块。但你可能想试一试。如果有效,他们应该更新他们的文档。