私はブログを構築するためにGitHub PagesでJekyllを使用しており、page.title
文字列の長さを各投稿のYAMLフロントマターでLiquid Templateに渡したいと思っています。私はこれを行う簡単な方法を理解することができませんでした。二重の中括弧{{ }}
で区切り、することができますあなたのテンプレートに渡される出力変数のいずれかで -JekyllのLiquidテンプレートで文字列のサイズと長さを比較するにはどうすればよいですか?
出力マークアップ:Liquid For Designers Guideを見て、私はそれがマークアップの2種類をサポートしていることを見ることができましたJekyllの
page.title
などのYAMLフロント・マテリアル、または_config.yml
のグローバル・サイト・レベル変数。投稿またはページのタイトルを出力するには、{{ page.title }}
を使用します。タグマークアップ - 中括弧とパーセントで区切って、
{% %}
で、これはテンプレートのロジックに使用されます。 if文、ループ、その種類のもの。
はどうやらそこにあなたが出力マークアップで使用できるフィルタがたくさんあり、あなたの出力{{ page.title | size }}
を使用して、テンプレートに渡された文字列の長さをすることができます。
私のテンプレートでは、タイトルの長さによって、<h1>
、<h2>
、または<h3>
ヘッダーのいずれかを使用してページのタイトルをレンダリングします。
とにかくタグマークアップと出力マークアップを混在させることはできません。
page.title
のサイズを{{ page.title | size }}
というページに出力することはできますが、if文で長さを使用する方法はわかりません。これは数値ではなく文字列表現も返します。
Liquidの経験が豊富な方は、これを行う方法を知っていますか?
{% capture title_size %}{{ page.title | size }}{% endcapture %}
{% if title_size > 5 %}
// do your stuff here...
{% endif %}
capture
がで詳述されている:あなたが最初の変数の値をキャプチャしたい
{% if page.title | size > 5 %}
これは非常に醜い解決策ですが、期待通りに機能するので、これは良い答えです。 –