web-dev-qa-db-ja.com

Jekyllでmarkdownifyを使用して、インデックスの抜粋を表示するにはどうすればよいですか

インデックスページの長い投稿またはページからの短いテキストの抜粋を表示したいと思っています。 Front Matterでカスタム変数を使用してそれを取得しようとしましたが、.excerptのフィルターが表示されました。

Jekyll docs{{ page.excerpt | markdownify }}と呼ばれるものがあります。そのフィルターを使用するために、ページまたは投稿にマークダウンをマークアップするにはどうすればよいですか?

編集:またはmarkdownifyは.mdドキュメント全体を取得しますか?

24
kaplan

最初に抜粋を設定する必要がある投稿マークダウンファイルで、これが私の投稿の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 }}

これにより、マークダウンファイルに書き込んだ内容が出力されます。素晴らしくシンプルで、なぜ私がジキルを愛しているのか。

14
joshuahornby10

ジキルにはオプション 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>
77
Chongxu Ren

ミュー、またはコレクションでは機能しません。解析液を除いて、ジェキルがパニックになります。これがなぜなのかわかりません。あなたが提案するように動作するはずです。

別の方法があります:

post.contentまたは私の場合は:blogX.contentで、コンテンツサイズを制限するいくつかのテキストフィルターを介してそれを粉砕します。

すなわち:{{blog.content | strip_html | truncatewords:100}}

2
Richard Jasmin

参照現在84cfc1cef githubバージョンの jekyll は投稿ごとをサポートしますexcerpt_separatorしたがって、Gemfileへの参照を追加する必要があります:

gem 'jekyll', github: 'jekyll/jekyll', ref: '84cfc1ceff0474fd3eb3beb193ae59ae43694863'

次のYAMLで投稿を作成します。

---
title:  Post Excerpt Separator
excerpt_separator: "\n---\n"
---