Posts(ポスト)

ブログはJekyllに組み込まれています。あなたがブログポストをテキストファイルで書き、Jekyllがそれをブログにします。

ポストフォルダ

_postsフォルダがブログポストを入れるフォルダです。ポストを書くのには、Markdown、HTMLどちらもサポートしています。

ポストを作る

ポストを作るには、_postsディレクトリに以下のフォーマットでファイルを追加します。

YEAR-MONTH-DAY-title.MARKUP

YEARは4桁を、MONTHDAYは2桁を使用します。MARKUPはファイルで使用している形式を表す拡張子です。
以下に有効なファイル名の例を示します。

2011-12-31-new-years-eve-is-awesome.md
2012-09-12-how-to-write-a-blog.md

全てのブログポスト用ファイルはfront matterで開始します。通常ここには使用するレイアウトやその他メタデータを記述します。
シンプルな例として、何も書かないも可能です。

---
layout: post
title:  "Welcome to Jekyll!"
---

# Welcome

**Hello world**, this is my first Jekyll blog post.

I hope you like it!
ProTip™: 他のポストへのリンク

post_urlタグを使用することで、パーマリンクの形式を変更したときにURLが壊れる心配なく、他のポストへリンクできます。

文字コードに注意してください

コンテンツプロセッサはより美しく見せるために、特定の文字を変更できます。例えば、Redcarpetのsmart extensionは、標準のASCII引用符をUnicodeの中括弧に変換します。ブラウザがこれらの文字を正しく表示するために、レイアウトの<head><meta charset="utf-8">の文字コード定義メタタグを入れてください。

イメージやリソースを含める

いくつかのポイントとして、テキストコンテンツに画像やダウンロード、その他デジタルファイルを入れたくなるでしょう。一般的な方法として、プロジェクトディレクトリのrootフォルダにassetsのようなイメージや他のリソースを入れておくためのフォルダを作ります。そうすれば、どのようなポストでもサイトのrootパスから挿入するアイテムへのリンクを使用することができます。実行するには、サイトの(サブ)ドメインとパスの構成により方法が異なりますが、シンプルなMarkdownの例を示します。

ポストに画像を入れる:

... which is shown in the screenshot below:
![My helpful screenshot](/assets/screenshot.jpg)

読者がダウンロードするためのPDFリンク:

... you can [get the PDF](/assets/mydoc.pdf) directly.

ポストのインデックスを表示する

他のページにポストのインデックスを作るのは、Liquidとそのタグのおかげで簡単です。
ここに、ブログポストへのリンクのリストを作り方のシンプルな例を示します。

<ul>
  {% for post in site.posts %}
    <li>
      <a href="{{ post.url }}">{{ post.title }}</a>
    </li>
  {% endfor %}
</ul>

ポストをどのように(どこで)表示するか、サイトの構成をどのようにするかは、全てコントロールできます。もっと知りたい場合、Jekillのテンプレートの働き方を更に読むべきです。

postが上記のforループ内にのみ存在することに注意してください。変換対象のポストやページの変数(forループの中にあるポストやページの変数)にアクセスしたいときは、代わりにpage変数を使用してください。

カテゴリとタグ

Jekyllはブログポストのカテゴリとタグをサポートしています。カテゴリとタグの違いは、カテゴリはポストのURLに含めることができますが、タグはできません。

使用するにはまず、カテゴリとタグをfront matterにセットします:

---
layout: post
title: A Trip
categories: [blog, travel]
tags: [hot, summer]
---

Jekyllはsite.categoriesでカテゴリを使用可能にします。site.categoriesには2つの異なる配列が格納されています。一つ目はカテゴリの名前、二つ目はそのカテゴリのポストの配列です。

{% for category in site.categories %}
  <h3>{{ category[0] }}</h3>
  <ul>
    {% for post in category[1] %}
      <li><a href="{{ post.url }}">{{ post.title }}</a></li>
    {% endfor %}
  </ul>
{% endfor %}

タグも同様にsite.tagsで使用できます。

ポストの抜粋

ポストでexcerpt変数を使用することで、抜粋にアクセスすることができます。デフォルトはポストの最初の段落ですが、front matterや_config.ymlexcerpt_separatorを設定することでカスタマイズできます。

---
excerpt_separator: <!--more-->
---

Excerpt with multiple paragraphs

Here's another paragraph in the excerpt.
<!--more-->
Out-of-excerpt

抜粋付きのブログポストのリストを出力する例です:

<ul>
  {% for post in site.posts %}
    <li>
      <a href="{{ post.url }}">{{ post.title }}</a>
      {{ post.excerpt }}
    </li>
  {% endfor %}
</ul>

ドラフト

ドラフトは、ファイル名に日付を含まないポストです。作業中で、まだ公開したくないポストです。ドラフトを立ち上げるには、サイトのrootに_draftsフォルダを作り、最初のドラフトを作成してください。

|-- _drafts/
|   |-- a-draft-post.md

ドラフトを含むプレビューは、jekyll servejekyll buildの実行時に--draftsスイッチをつけてください。ドラフトファイルの日付が割り当てられるため、現在編集中のドラフトは最新のポストとして表示されます。