tanaka's Programming Memo

プログラミングについてのメモ。

GitHub Pagesがより簡単になった(2016/12/9)

github.com

丁度、学校で扱い始めたGitHub Pagesが便利になったと発表があったので上記を意訳。

GitHub Pagesが簡単になった:はじめの1,2,3

WebサイトやソフトウェアのドキュメントをGitHub Pagesで公開する手順が以下の3手に減りました。

  1. リポジトリを作成(あるいは、既存のリポジトリに移動)
  2. 他のファイルと同様に、Webインターフェースなどでマークダウンのファイルをコミット
  3. リポジトリのSettingsメニューから、GitHub Pagesを有効にする

これでWebサイトができます。 アカウント名.github.io/リポジトリ名 で、Webブラウザーからアクセスできます。公開のための手順が簡単になるとともに、GitHub上にあるマークダウンのファイルをWebページで表示できるようになりました。

  1. 全てのマークダウンファイルが、GitHub Pagesにより描画されるようになった。これにより、 YAML front matter(ファイルの上部に---で仕切って書くメタデータ)をファイルごとに追加する手間がなくなる
  2. index.md(あるいはindex.html)がトップにない場合は、README.mdを自動的にインデックスファイルとして利用するので、GitHub Pagesに見に行った時にページが非表示になる心配がなくなった
  3. サイトのconfig内でテーマを指定しなかった場合(あるいは、configファイルがない場合)、GitHub上にあるマークダウンファイルに最小限のデフォルトテーマを摘要する
  4. 与えられたファイルがlayoutを指定していない場合、そのコンテクストに基づいたものを設定する。例えば、自動的に page レイアウトを取得するか、page レイアウトが存在しない場合は、 default レイアウトが適用される
  5. ページタイトルが明示されていない場合で、ファイルが H1やH2、H3ではじまる場合、そのタイトルをページのタイトルとして、Webブラウザーのタブのような場所に表示する

これらの改良により、最初(であろうが100個目であろうが)のWebサイトを数クリックで簡単に公開できるようになります。また、ソフトウェアプロジェクトであれば、docsフォルダーなどにマークダウンファイルを追加すればいいのです。勿論、デフォルトテーマを独自のレイアウトやスタイルで上書きすることで、見た目や使い勝手をカスタマイズすることは引き続き可能です。

この変更により、既存のサイト構築に影響を及ぼすべきではありませんが、Jekyllユーザーに対して2つの問題(gotchas)を起こすかも知れません。

  1. 全てのページを反復処理するような場合、vendorの依存関係のREADMEなどがページに含まれる可能性がある。これらはconfigファイルのexcludeディレクティブで除外できる
  2. ページのレイアウトやタイトルを指定しなかった場合で、それらを設定する予定がない場合(スタイルが設定されていないコンテントを提供したい場合など)、レイアウトやタイトルには明示的に null を指定する必要がある

何らかの理由で今回の機能が不要な場合は、 .nojekyll ファイルをサイトのルートディレクトリに追加することで無効にできます。

GitHub Pagesのビルドプロセスは、確認やカスタマイズができます。今回の機能はオープンソースのJekyllプラグインである Jekyll Optional Front MatterJekyll README IndexJekyll Default Layout そして Jekyll Titles from Headings によって実装されています。

これらの変更は、多くの既存のサイトの構築には影響を与えないでしょう。これらの機能を安全に使い始めることができます。疑問があれば GitHub に連絡してください。