jekyllとは、MarkdownからHTMLを生成する静的サイトジェネレータ です。 Markdownファイルにあれこれ書いてコマンドでHTMLに変換できます。
GitHub Pagesとは、 GitHubレポジトリに置いたHTMLを公開することができるホスティングサービス です。
これらを組み合わせることで普段書き慣れたMarkdownを使い、面倒なサーバ管理などもせず、ブログなどのサイトを公開することが可能です。
備忘メモとして、勉強したことを書き留めて置こうと思います。
GitHub Pagesとは、username.github.io
というレポジトリに静的コンテンツを置くことでWebサイトとして公開できるものです。
WebサイトのデフォルトURLはレポジトリ名と同じhttp://username.github.io
となります。
ちなみに、username
は自分のGitHubアカウント名に置き換えてください。
GitHub PagesとしてWebページを作成することでコンテンツをGit管理にできるほか、GitHubレポジトリに置けることでバックアップとしての意味合いも果たします。
このサイト は静的ファイルジェネレータのmojombo/jekyllを使って生成したHTMLを GitHub Pages で公開しています。
jekyll
はGemsライブラリ として登録されているので gem install
で入ります。
$ gem install jekyll
$ jekyll --version
jekyll 3.6.0
jekyll
でサイトを構築するには jekyll new
コマンドで作成します。
$ mkdir jekyll-sites
$ cd jekyll-sites/
$ jekyll new my_sites
jekyll new
コマンド実行直後のディレクトリ構成は以下のとおりであるmy_sites/
│
│ # 404 Page not found のテンプレート
├ 404.html
│
│ # my_sites サイトで利用するgemライブラリ
├ Gemfile
│
│ # Gemfileのロックファイル
├ Gemfile.lock
│
│ # jekyll の設定ファイル
│ # refs https://jekyllrb.com/docs/configuration/
├ _config.yml
│
│ # /about/ にアクセスした際に表示されるページ
├ about.md
│
│ # buildした際の _site/index.html のソース
├ index.md
│
│ # 投稿記事(動的コンテンツ)の置き場
└ _posts
│
│ # welcomeページ
└ 2017-10-08-welcome-to-jekyll.markdown
Markdownで書いた記事などをローカルのブラウザで簡単に確認できる様に jekyll serve
コマンドで組み込みのWebサーバを起動することができます。
serveサブコマンドのオプションはたくさんあるので --help
オプションで確認して欲しいですが、私がよく使うのは以下のパターンです。
$ jekyll server
$ jekyll server --skip-initial-build
$ jekyll server --detach
$ jekyll server --drafts
jekyll server
127.0.0.1:4000
で起動します_sites
ディレクトリ以下に公開用HTMLが生成される--skip-initial-build
オプションで 公開用HTMLを生成しない(buildをskip)
--detach
オプションでバッグラウンドで起動します--drafts
オプションで _drafts
ディレクトリ以下を公開用HTMLが生成される_sites
ディレクトリ以下の構成my_sites/
└ _site
├ 404.html
├ feed.xml
├ index.html
├ about
│ └ index.html
├ assets
│ └ main.css
└ jekyll
└ update/2017/10/08/welcome-to-jekyll.html
jekyll server
コマンドを実行したローカル環境のブラウザで http://127.0.0.1:4000/
にアクセスすると以下のようなページが表示されれば、組み込みサーバが起動していることになります。