15

Jekyllは初めてで、JekyllFrontMatterにカスタム変数を含めることができるかどうか疑問に思っています。これは、ネストされたレイアウトに役立ちます。たとえば、次のようになります。

layouts / Artists.html

----
layout: default
title: {{ page.artist }} (Artist)
----

それをしようとするとエラーが発生します。

4

2 に答える 2

2

これを適切に行う方法 (つまり、サーバー側) があるかどうかはわかりませんが、応急処置として、ユーザーのブラウザーに正しいタイトルを設定する Javascript の小さなスニペットを用意することができます。例えば

---
title: Default title blah blah
---

[... content ...]

<span id="pagetitle" style="display: none">{{ page.artist | escape }} (Artist)</span>

<script type="text/javascript">
    var pagetitle = document.getElementById("pagetitle");
    if (pagetitle) {
        document.title = pagetitle.textContent;
    }
</script>

ノート:

の置換はpage.artistJavascript ではなく HTML で実行されます。これは、Javascript の特殊文字orまたは(これを行うための組み込みフィルターがないescape) よりもHTML の特殊文字を ( 経由で) 引用する方が簡単だからです。'"\

スパンをページの上部に移動してpagetitle、他の YAML フロント マターの近くに配置することもできます。

残念ながら、これはこれを達成するための非常に貧弱な方法ですが、プラグインを作成する以外の唯一の方法のようです。

于 2012-04-25T04:09:48.777 に答える