1

Liquid テンプレート エンジンを使用するブログのテーマを設定したいのですが、デフォルトでは、エンジンはいくつかの基本的なタグしかサポートしていません。カスタム タグ {% 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 に答える