ディレクトリ構成

基本的な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-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のテーマファイルがコンピュータのどこに保存されているのかを見ることができます。

以下は、それぞれのファイルがなんなのかの概要です。

ファイル・
ディレクトリ
説明

_config.yml

構成データの保管場所です。多くのオプションはコマンドラインから実行するときに指定できますが、ここで設定する方が簡単です。ですので、覚えておく必要がありません。

_drafts

ドラフトは未公開のポストです。これらのファイルのフォーマットは、日付を含めません: title.MARKUPドラフトの働きで方法を学んでください。

_includes

レイアウトやポストに入れ込んで使う部品です。Liquidタグの{% include file.ext %}_includes/file.extのファイルを読み込んで使用できます。

_layouts

ポストを包むテンプレートです。レイアウトはポスト毎にfront matterで設定できます。Liqudタグ{{ content }}をページにコンテンツを挿入するために使用します。

_posts

言うなれば、あなたの動的コンテンツです。ファイルの命名規則が重要で、YEAR-MONTH-DAY-title.MARKUPのフォーマットでなければなりません。ポスト毎にパーマリンクをカスタマイズできますが、日付とマークアップの言語はファイル名によってのみ決まります。

_data

形式に則ったサイトのデータはここに配置します。Jekyllエンジンはこのディレクトリのデータファイル(.yml, .yaml, .json, .csv, .tsvのフォーマット)を自動で読み込み、`site.data`で使用可能にします。このディレクトリのmembers.ymlファイルの場合、site.data.membersでファイルの内容にアクセスできます。

_sass

main.scssにインポートするためのsassの部品ファイルです。変換する過程で一つのスタイルシートmain.cssになり、サイトのスタイルとして使用できます。

_site

生成されたサイトがJ、ekyllが変換した際に配置される(デフォルトの)場所です。これを .gitignore ファイルに追加することをお勧めします。

.jekyll-metadata

これにより、Jekyllは、サイトが最後に構築されてから変更されていないファイル、および次回の構築時にどのファイルを再生成する必要があるかを追跡できます。このファイルは生成されたサイトには含まれません。これをあなたの.gitignoreファイルに追加するのはおそらく良い考えです。

index.htmlindex.mdと他のHTML、Markdownファイル

ファイルにfront matterがある場合、Jekyllによって変換されます。サイトのルートディレクトリまたは上記以外のディレクトリにある.html.markdown.mdまたは.textileファイルについても同様です。

他のファイルやフォルダ

cssimagesフォルダ、favicon.icoファイルなど、上記以外のすべてのディレクトリとファイルは、生成されたサイトにそのままコピーされます。レイアウトがどのように行われているかを知りたい場合は、既にJekyllを使用しているサイトがたくさんあります。

., _ , # もしくは ~から始まるsourceディレクトリの全てのファイルやディレクトリは、destinationフォルダには含まれません。これらのパスを特別にコピーしたい場合には、設定ファイルのincludeに書き込まなければなりません。

include:
 - _pages
 - .htaccess