インデックスページの長い投稿またはページからの短いテキストの抜粋を表示したいと思っています。 Front Matterでカスタム変数を使用してそれを取得しようとしましたが、.excerpt
のフィルターが表示されました。
Jekyll docs{{ page.excerpt | markdownify }}
と呼ばれるものがあります。そのフィルターを使用するために、ページまたは投稿にマークダウンをマークアップするにはどうすればよいですか?
編集:またはmarkdownifyは.mdドキュメント全体を取得しますか?
最初に抜粋を設定する必要がある投稿マークダウンファイルで、これが私の投稿の1つからの例です
layout: post
title: A developers toolkit
date: Friday 14 December, 2012
excerpt: What text editor to use? Sass or plain old CSS? What on earth is Compass? Command line? I'm not touching that. Sound like you? Welcome, I was once like you and this is the guide I wish someone had given me.
次に、インデックスページでタグを呼び出します
{{ post.excerpt }}
これにより、マークダウンファイルに書き込んだ内容が出力されます。素晴らしくシンプルで、なぜ私がジキルを愛しているのか。
ジキルにはオプション excerpt_separator
があります。これはあなたに適しています。物事は次のようになります:
_config.yml
:
excerpt_separator: <!--more--> # you can specify your own separator, of course.
あなたの投稿で:
---
layout: post
title: Foo
---
This appears in your `index.html`
This appears, too.
<!--more-->
This doesn't appear. It is separated.
<!--more-->
または<!--More-->
ではなく、正確に<!-- more -->
を入力する必要があることに注意してください。
あなたのindex.html
:
<!-- Loop in you posts -->
{% for post in site.posts %}
<!-- Here's the header -->
<header>
<h2 class="title"><a href="{{ post.url }}">{{ post.title }}</a></h2>
</header>
<!-- Your post's summary goes here -->
<article>{{ post.excerpt }}</article>
{% endfor %}
出力は次のようになります。
<header>
<h2 class="title"><a href="Your post URL">Foo</a></h2>
</header>
<article>
This appears in your `index.html`
This appears, too.
</article>
ミュー、またはコレクションでは機能しません。解析液を除いて、ジェキルがパニックになります。これがなぜなのかわかりません。あなたが提案するように動作するはずです。
別の方法があります:
post.contentまたは私の場合は:blogX.contentで、コンテンツサイズを制限するいくつかのテキストフィルターを介してそれを粉砕します。
すなわち:{{blog.content | strip_html | truncatewords:100}}
参照現在84cfc1cef
githubバージョンの jekyll は投稿ごとをサポートしますexcerpt_separator
したがって、Gemfileへの参照を追加する必要があります:
gem 'jekyll', github: 'jekyll/jekyll', ref: '84cfc1ceff0474fd3eb3beb193ae59ae43694863'
次のYAML
で投稿を作成します。
---
title: Post Excerpt Separator
excerpt_separator: "\n---\n"
---