在我的帖子中,我有时会包含相同的HTML模式。
为此,我在pattern.html
中创建了_includes/
并将其包含在我的帖子中:
{% include pattern.html %}
我想在我的header
中添加一个CSS文件(或任何其他代码),并且仅当pattern.html
已在我的帖子中使用时。要把它放在伪代码中,我想得到以下layouts/default.html
:
<!doctype html>
<html>
<head>
{% if pattern.html is included in the post %} code here {% endif %}
</head>
<body>
{{ content }}
</body>
</html>
我已经尝试在pattern.html
中分配变量并在我的布局中对其进行测试,但这种分配发生得太晚了:布局已经处理完毕。我知道我可以通过YALM传递变量,但我的目标是摆脱它。我宁愿不使用插件来做到这一点。
答案 0 :(得分:3)
似乎问这个问题帮我解答了!
您可以使用Liquid contains
来查找帖子中的模式。
例如,如果包含的pattern.html
包含特定的代码段(例如<!--pattern-->
或任何特定的HTML),您可以在脑海中使用:
<!doctype html>
<html>
<head>
{% if content contains "<!--pattern-->" %} code here {% endif %}
</head>
<body>
{{ content }}
</body>
</html>
这可用于任何HTML模式。例如,如果要仅在页面中有代码时调用CSS文件生成语法着色,请使用:
<!doctype html>
<html>
<head>
{% if content contains "<code>" %}
<link rel="stylesheet" href="code.css">
{% endif %}
</head>
<body>
{{ content }}
</body>
</html>