ディレクトリ構造
基本的なJekyllサイトは通常、次のような構造になります。
.
├── _config.yml
├── _data
│ └── members.yml
├── _drafts
│ ├── begin-with-the-crazy-ideas.md
│ └── on-simplicity-in-technology.md
├── _includes
│ ├── footer.html
│ └── header.html
├── _layouts
│ ├── default.html
│ └── post.html
├── _posts
│ ├── 2007-10-29-why-every-programmer-should-play-nethack.md
│ └── 2009-04-26-barcamp-boston-4-roundup.md
├── _sass
│ ├── _base.scss
│ └── _layout.scss
├── _site
├── .jekyll-cache
│ └── Jekyll
│ └── Cache
│ └── [...]
├── .jekyll-metadata
└── index.html # can also be an 'index.md' with valid front matter
gemベースのテーマを使用するJekyllサイトのディレクトリ構造
バージョン3.2以降、`jekyll new`でブートストラップされた新しいJekyllプロジェクトでは、サイトの外観を定義するためにgemベースのテーマが使用されます。これにより、デフォルトのディレクトリ構造が簡素化され、`_layouts`、`_includes`、`_sass`はデフォルトでテーマgemに格納されます。
minimaが現在のデフォルトテーマであり、`bundle info minima`を実行すると、minimaテーマのファイルがコンピューターのどこに格納されているかを確認できます。
それぞれの役割の概要
ファイル/ディレクトリ | 説明 |
---|---|
|
設定データを保存します。これらのオプションの多くはコマンドライン実行ファイルから指定できますが、ここで指定した方が覚えやすいため、こちらで指定することをお勧めします。 |
|
下書きは未公開の投稿です。これらのファイルの形式は日付を含まず、`title.MARKUP`となります。下書きの使用方法をご覧ください。 |
|
これらは、レイアウトと投稿で組み合わせて再利用を容易にするための部分テンプレートです。Liquidタグ`{% include file.ext %}`を使用して、`_includes/file.ext`内の部分テンプレートを含めることができます。 |
|
これらは、投稿をラップするテンプレートです。レイアウトは、次のセクションで説明するフロントマターで、投稿ごとに選択されます。Liquidタグ`{{ content }}`を使用して、コンテンツをウェブページに挿入します。 |
|
いわゆる動的なコンテンツです。これらのファイルの命名規則は重要であり、`YEAR-MONTH-DAY-title.MARKUP`の形式に従う必要があります。パーマリンクは投稿ごとにカスタマイズできますが、日付とマークアップ言語はファイル名によってのみ決定されます。 |
|
適切にフォーマットされたサイトデータはここに配置する必要があります。Jekyllエンジンは、このディレクトリ内のすべてのデータファイル(`.yml`、`.yaml`、`.json`、`.csv`、`.tsv`形式と拡張子を使用)を自動的にロードし、`site.data`からアクセスできます。`members.yml`というファイルがディレクトリにある場合、`site.data.members`を使用してファイルの内容にアクセスできます。 |
|
これらは、`main.scss`にインポートできるSass部分テンプレートです。これらは、サイトで使用されるスタイルを定義する単一のスタイルシート`main.css`に処理されます。アセットの使用方法をご覧ください。 |
|
Jekyllが変換を完了した後、生成されたサイトが(デフォルトで)ここに配置されます。これを`.gitignore`ファイルに追加することをお勧めします。 |
|
生成されたページとマークアップ(例:Markdown)のコピーを保持し、より高速な配信を実現します。例えば`jekyll serve`を使用する際に作成されます。オプションやフラグを使用して無効にすることができます。このディレクトリは生成されたサイトには含まれません。これを`.gitignore`ファイルに追加することをお勧めします。 |
|
これは、Jekyllがサイトが最後にビルドされてから変更されていないファイルと、次回のビルドで再生成が必要なファイルをトラッキングするのに役立ちます。増分再生(例:`jekyll serve -I`を使用)を使用する場合にのみ作成されます。このファイルは生成されたサイトには含まれません。これを`.gitignore`ファイルに追加することをお勧めします。 |
`index.html`または`index.md`、その他のHTML、Markdownファイル |
ファイルにフロントマターセクションが含まれている場合、Jekyllによって変換されます。サイトのルートディレクトリまたは上記にリストされていないディレクトリにある任意の`.html`、`.markdown`、`.md`、または`.textile`ファイルでも同じことが行われます。 |
その他のファイル/フォルダ |
上記で説明した特別なケースを除き、`css`や`images`フォルダ、`favicon.ico`ファイルなど、その他のすべてのディレクトリとファイルは、生成されたサイトにそのままコピーされます。使用方法が気になる場合は、すでにJekyllを使用しているサイトがたくさんあります。 |
以下の文字で始まるすべてのファイルまたはディレクトリ:.
、_
、#
、または~
はsource
ディレクトリには含まれず、destination
フォルダには含まれません。そのようなパスは、設定ファイルのinclude
ディレクティブで明示的に指定する必要があります。
include:
- _pages
- .htaccess