技术小黑屋

Octopress中嵌入ruby代码如何不被解析

用Octopress写博客即将快一年了,感觉自己用的还可以,并且借此熟练使用了Markdown,但是前几天写一篇关于如何在Octopress中集成多说评论的文章的时候,遇到了一个代码高亮的问题,就是如何处理代码块的问题。

问题描述

默认的作为嵌入的ruby代码会被解释然后转成其真实的值对应的HTML代码形式。

举个例子

Octopress中嵌入ruby代码如何不被解析代表当前页面的标题,默认情况下,如果执行了rake generate && rake preview,这段代码会被解释成了Octopress中嵌入ruby代码如何不被解析

但是我们想要的是原样输出,类似这样在代码块中。

1
{{ page.title }}

如何做到

如果想避免嵌入的ruby代码块被解析,使用{% raw %}和{% endraw %}来包裹不想被解析的代码块即可。示例如下

{% raw %}{{ page.title }}{% endraw %} {% raw %}{{ page.url }}{% endraw %}

更棘手的

如果出现了Liquid Exception: Unknown tag 'endraw' in _posts这样的问题, 使用{代替{,使用}代替}

其他


我的知乎 Live 推荐