1

我想为我的博客设置主题,使用液体模板引擎,但默认情况下,引擎只支持一些基本标签,我想写自定义标签 {% layout 'layout_name' %}

布局文件:dark.liquid

<html>
...
{% content_for_body %}
...
</html>

和模板文件:blog.liquid

{% layout 'dark' %}
welcome to my blog!

并输出

<html>
...
welcome to my blog!
...
</html>

谢谢!

4

1 回答 1

1

我不认为这样的事情可能除了抓住第一行并在传递其余部分之前提取布局名称blog.liquid,例如:

post = "{{ layout 'dark' }}\nWelcome to my blog!"

layout_name = post.split("\n").first.match(/\{\{ layout '(.+)' \}\}/)[1]
#=> "dark"
content = post.split("\n")[1..-1].join("\n")
#=> "Welcome to my blog!"

它也应该是“{{ content_for_body }}”;"{% ... %}" 用于标记块,如 if 语句。

于 2011-04-25T16:32:27.860 回答