2017-09-05 10 views
2

私が正しく理解している場合は、さまざまな方法のいずれかを使用するか手動で指定しない限り、Jekyllは抜粋として最初の段落を取ります。何の抜粋がなかったかどうか私の場合はJekyll投稿の抜粋:自動生成された抜粋があったかどうかを知るには?

は、私は、テンプレートで区別できるようにしたいか、何の抜粋は、全体のポストを使用していないがあった場合ではないので、私は効果的に効果的にこの

{% if post.excerpt %} 

    {{ post.excerpt }} 

{% else %} 

    {{ post.content }} 

{% endif %} 

を行うことができます。つまり、Jekyll autoは抜粋を生成するので、テストは常に失敗します。

抜粋のないすべての投稿に行き、投稿の末尾に<!-- more -->を追加すると思いますが、間違った結果が出るのを忘れてしまうと、エラーが発生しやすくなります。私は手動で抜粋をマークしていない場合は、投稿全体がホームページに表示されるようにすることをお勧めします。

私はWordpressからJigyllに移植しようとしています。 Wordpressの動作は抜粋=全体の投稿を挿入しないということです。

ジキルでこれは可能ですか?いくつかのフラグや変数がありますか?抜粋が手動で指定されたのか、自動生成されたのかをテンプレートで確認できますか?

答えて

1

抜粋がマニュアルか生成されたかどうかを知る方法はわかりません。おそらく、生のファイルの正面の問題を分析するためのプラグインを書くことはオプションになるかもしれません(しかし、これはGithub Pagesではうまくいきません)。

しかし、私はこのためのソリューションがあり:

私は手動での抜粋をマークしていない場合、デフォルトは可能にすることを好むだろうが、その後全体のポストは、ホームページに表示されます。

documentationによると、あなたは(あなたもdefaultsに一度それを設定することができます)ページごとにexcerpt_separatorを設定することができます。

があなたの投稿に表示されないことを知っている値を設定してください。Jekyllがセパレータを見つけられない場合、それは分離されないので、生成された抜粋は投稿全体になります。

例:

--- 
title: Some title 
excerpt_separator: "CANTFINDME!" 
--- 
Post line 1 

Post line 2 

生成抜粋全体ポストあろう:

<p>Post line 1</p> 
<p>Post line 2</p> 
0

液体でalternative solutionがあります。郵便番号に抜粋の区切り記号がある場合は、チェックする必要があります。

{% if post.content contains site.excerpt_separator %} 
    {{ post.excerpt }} 
    <p><a href="{{ post.url | relative_url }}">Read more</a></p> 
{% else %} 
    {{ post.content }} 
{% endif %} 
関連する問題