第1章 Jekyll、GitHub Pagesとは
このチュートリアルの範囲
このチュートリアルは、Linuxオペレーティングシステムを前提としています。 Macintoshユーザの方は、インストールなどの部分をMacの方法に置き換えれば、問題なく読み進めることができます。 Jekyllは公式にはWindowsをサポートしていませんが、Windowsで動かすためのヒントを公開しています。
https://jekyllrb.com/docs/installation/windows/
これらを参考にしながら、本書を読み進めることは可能かもしれませんが、保証はいたしません。 (しかし、プログラミングとは、そもそも未知のことに挑戦することです。 Windows上でのJekyllに挑戦することはスキルアップに大いに役立つことでしょう)
ここで読者の皆様にお願いです。
- このチュートリアルはその内容が正しいことを保証するものではありません。 また、このチュートリアルによっていかなる損害が発生したとしても保証しません。 読者がチュートリアルの内容を参考にウェブサイトを構築する際は自己責任でお願いします
- チュートリアルに誤りや分かりにくい箇所があったときにはレポジトリのissueに投稿してください。 また、ご意見、提案も歓迎します
- チュートリアルの内容は不定期に更新されるのでご注意ください
Jekyllとは
Jekyllは静的なウェブサイトを構築するツールです。
ところで、Jekyllはスペルが独特なので読み方が難しいです。 調べてみると、小説「ジキル博士とハイド氏」のジキルと同じスペルで、英語の発音は「ジェクル」または「ジークル」らしいです。 Jekyllのユーチューブを見たところ「ジェキル」または「ジェクル」と発音されていました。
Jekyllの特徴について見ていきましょう。 JekyllはRailsの動的な部分を取り去ったような感じで、Railsに比べかなり単純です。
- 構築されるのは静的なウェブサイトで、サイトユーザからの入力はない(例えばコメント欄などはない)
- データベースを使わない
- Markdownを使える
- Liquidを使える(Liquidはテンプレートエンジンと呼ばれる一種のプログラミング言語)
- テーマがある。テーマを使えば一から構築しなくて済む
これらがJekyllの特徴ですが、最初は何のことか分からなくても大丈夫です。 チュートリアルを読み進めていけば、これらがJekyllの長所であることが分かってくるでしょう。
Jekyllで構築されたウェブページで有名なものは、
- Ruby on Rails
- Spotify for developers
- Netflix devices
- GitHub on demand training
- Bitcoin
などです。
Jekyllのウェブサイトはこちらです。
GitHub Pagesとは
GitHub Pagesは、GitHubのレポジトリを通して静的ウェブサイトを公開できる仕組みです。 また、GitHub PagesはJekyllをサポートしています。 GitHubには有料と無料のコースがありますが、無料でも十分に使えます。 何でも料金の発生する昨今、嬉しいシステムです。
GitHub Pagesのヘルプはこちらです。
https://docs.github.com/en/pages
JekyllとGitHub pagesの利点
利点は多々ありますが、ここではサイト作成者のプログラミングスキルの観点から考えてみたいと思います。
サイト提供者は一人のことも複数のこともあります。 最低一人はプログラミングの知識が必要ですが、そうでない人も関わることができます。 ここでは次の2つのタイプの製作者を考えましょう。
- (A)ウェブサイトを構築する人=Jekyllでプログラムする人
- (B)構築されたウェブサイトに内容を加える人
(A)はJekyllやHTMLなどの知識が必要な「開発者」ですが、(B)にはプログラムのスキルは必要ありません。 マークダウンが書ければ十分で、それすら必要ないこともあります。
例えば、そのウェブサイトが毎日の天気を記録して、グラフや表にして表示するとします。 (A)はそのウェブの仕組みを作り、(B)は毎日の天気を入力してウェブに上げるというように役割分担ができます。 まずは(A)がサイトを作らなければなりません。 一度作ってしまえば、(A)はメンテナンスをするだけで、その後は(B)が作業するだけです。 (B)は、例えば
date: 2022/8/18
weather: 晴れ
temperature: 32
などと入力したファイルをウェブサイトにアップロードします。 単純作業ですから、やり方を覚えればプログラムのスキルは要りません。
もうひとつの利点は開発者(A)にとっても作業が楽になるということです。 Jekyllではウェブサイト構築の相当部分を自動化できます。 テーマを使えば更に作業の大部分をしなくて済むようになります。
また、作られるウェブサイトが静的だというのも開発者の負担を軽減します。 動的ウェブサイトのフレームワークであるRailsでは、サイト攻撃の対策に頭を悩ませることが少なくありません。 それに比べ静的なサイトは安全です。 さらに、データベースを使わないのも構築をシンプルにしてくれます。