【初心者向け】Jekyllで始める静的サイトの生成方法や使い方をわかりやすく解説

Jekyll(ジキル)は、Rubyで開発された静的サイトジェネレータです 静的サイトジェネレータとは、HTMLやMarkdownで書かれたコンテンツをもとに、静的なWebサイトを生成するツールのことを指します。
Jekyllを使えば、データベースを使用せずに、静的なHTMLファイルとCSSファイルだけでブログを作成することができます。
初心者の方にもわかりやすく、Jekyllの概要や使い方、メリット・デメリットなどを解説していきます。

監修者 Kyama23_writer

本業でシステムエンジニアをしています。 分かりやすい記事を心がけています。

\エキスパートが回答!/
この記事に関する質問はこちら
記事に関するご質問以外にも、システム開発の依頼やAIの導入相談なども受け付けております。

    会社名必須
    必須
    必須
    Eメール必須
    電話番号必須
    ご依頼内容必須

    Jekyll(ジキル)とは?その特徴を簡単に解説


    Jekyll(ジキル)は、静的サイトジェネレータの一種で、Rubyで開発されています。
    静的サイトジェネレータとは、HTMLやMarkdownで書かれたコンテンツをもとに、静的なWebサイトを生成するツールのことを指します。
    Jekyllを使うことで、データベースを使用せずに、静的なHTMLファイルとCSSファイルだけでWebサイトやブログを作成することができます。

    静的サイトを生成する

    Jekyllは静的なWebサイトを生成します。静的サイトは、リクエストに対して予め用意されたHTMLファイルを返すだけなので、動的サイトに比べて高速に表示できます。

    シンプルで効率的な開発

    Jekyllは、シンプルで直感的な設計になっているため、初心者でも短時間で習得できます。Markdownを使ってコンテンツを作成し、テンプレートを用意するだけで、静的なWebサイトを生成できます。

    データベースや複雑なバックエンド処理が不要なため、開発や管理にかかる手間を大幅に削減できます。
    また、また、JekyllはLiquidというテンプレートエンジンを使用しています。テンプレートを使うことで、Webサイトのデザインを一貫性のあるものにしつつ、コンテンツとデザインを分離して管理できます。

    Github PagesやNetlifyでサポート

    Jekyllは、GitHub PagesやNetlifyなどのホスティングサービスでサポートされており、簡単に公開することができます。
    技術的なハードルが低く、サイトを公開できるという手軽さがあることが特徴です。

    カスタマイズ性に優れている

    Jekyllは、豊富なカスタマイズオプションを提供しています。テーマやプラグインを使って、Webサイトの見た目や機能を自由にカスタマイズできます。

    多様なテーマが提供されているため、自分のニーズに合ったデザインを選択できます。
    また、プラグインを使うことで、検索機能やコメント機能など、様々な機能を追加できます。

    さらに、Jekyllのソースコードは公開されているため、自分で拡張することもできます。
    この柔軟性により、Jekyllは個人ブログから企業サイトまで、幅広い用途に適しています。

    セキュリティ性が高い

    Jekyllで生成された静的サイトは、表示速度が非常に速いという利点があります。動的サイトと異なり、サーバー側での処理が少ないため、リクエストに対する応答時間が短くなります。

    また、静的ファイルはCDNを使って配信できるため、世界中のユーザーに高速で安定したアクセスを提供できます。さらに、静的サイトはセキュリティ面でのリスクが低いです。サーバー側での動的な処理が少ないため、脆弱性を突かれる可能性が低くなります。

    メンテナンスが簡単

    Jekyllサイトは静的ファイルで構成されているため、メンテナンスが非常に簡単というメリットがあります。
    データベースの管理やサーバーサイドのスクリプト更新が不要で、ファイルを直接編集するだけで変更が反映されます。

    また、GitHubなどのバージョン管理システムと連携させることで、変更履歴を簡単に管理でき、共同作業もスムーズに行うことができます。

    無料のオープンソースである

    Jekyllは無料で利用できるオープンソースソフトウェアです。
    GitHub上で開発されており、誰でも自由にソースコードを閲覧、修正、配布することができます。
    以上のような特徴から、Jekyllは個人ブログや小規模なWebサイトの作成に適しているといえます。次の章では、Jekyllの開発経緯について説明します。

    Jekyllの使い方


    Jekyllは、静的なウェブサイトやブログを作成するための強力なツールです。
    HTMLやCSSの知識がない初心者でも、Markdownを使ってコンテンツを作成し、コマンドを実行するだけで、クオリティの高いWebサイトを生成することができます。
    ここでは、Jekyllを使った静的なウェブサイトやブログの作成方法と、制作に必要な基礎知識について説明します。

    Step1:Rubyをインストール

    JekyllはRubyで記述されているため、事前にRubyをインストールする必要があります。
    公式サイトから最新バージョンのRubyをダウンロードしてインストールしましょう。

    Ruby公式サイト

    Step2:Jekyllをインストール

    Rubyをインストールしたら、以下のコマンドを実行してJekyllとBundlerをインストールします。

    gem install jekyll bundler

    JekyllとBundlerの最新バージョンがインストールがされ、サイトの作成と管理が可能になります。

    Step3:新しいJelyllサイトを作成する

    新しいJekyllサイトを作成するには、以下のコマンドを実行します。

    jekyll new myblog

    これにより、ルートディレクトリに以下のファイルとディレクトリが含まれた新しいサイトが作成されます:

    _config.yml: このファイルは、サイトの設定を記述します。

    _config.ymlは、Jekyllサイトの設定ファイルです。
    このファイルには、サイトの基本情報や設定を記述します。例えば、サイトタイトル、メールアドレス、テーマ、プラグインの設定などを記述します。

    _posts: このディレクトリには、ブログ記事を保存します。

    MarkdownまたはHTML形式で記事を作成し、ファイル名はYYYY-MM-DD-title.mdの形式にします。
    Jekyllはこのディレクトリ内のファイルを自動的に認識し、ブログページとして生成することができます。

    index.html: これは、サイトのホームページです。

    このファイルには、サイトのトップページの内容を記述します。
    JekyllのLiquidテンプレート言語を使用して、動的にコンテンツを生成することも可能です。

    about.html: これは、サイトの「about」ページです

    このファイルには、サイトや作者の紹介などの内容を記述します。
    このページもLiquidテンプレート言語を使用してカスタマイズすることができます。

    Step4:MarkdownまたはHTMLを使ってコンテンツを作成

    作成したコンテンツは、_postsディレクトリまたは適切なディレクトリに保存する必要があります。
    例えば、新しいブログ記事を作成する場合には、_postsディレクトリにファイルを作成し、内容を記述します。

    Step5:サイトをプレビューする

    サイトをプレビューするには、以下のコマンドを実行します。

    jekyll serve

    ブラウザでhttp://localhost:4000にアクセスすると、サイトのプレビューが表示されます。
    これにより、公開前にサイトをプレビューすることができます。

    Step6:サイトをデプロイする

    サイトが完成したら、以下のコマンドを実行してサイトをデプロイできます。

    jekyll build

    これにより、サイトの静的ファイルが生成されます。
    その後、GitHub PagesやNetlifyなどのホスティングサービスを使用して、サイトを公開します。

    Jekyllを使った静的なWebサイト制作の基礎知識


    Jekyllを使った静的なWebサイト制作には、以下の基礎知識が必要です。

    • Markdown:シンプルで読みやすいマークアップ言語。Jekyllでは、MarkdownでコンテンツをHTMLに変換できる。
    • Liquid:Jekyllのテンプレートエンジン。変数やループ、条件分岐などを使って、動的にコンテンツを生成。
    • YAML:設定ファイルやメタデータを記述するための言語。_config.ymlファイルにWebサイトの設定を記述。
    • フロントマスター:MarkdownファイルやHTMLファイルの先頭に記述するメタデータ。ページのタイトルやレイアウト、カテゴリなどを指定。
    • ディレクトリ構造:_postsディレクトリに記事を、_layoutsディレクトリにレイアウトを、_includesディレクトリに共通部分を配置。

    Jekyllのデメリット

    ノーコードでアプリ開発できる「Glide」とは?使い方や活用事例、メリットや注意点まで完全解説
    Jekyllは多くの利点を持つ一方で、いくつかの制限や欠点もあります。Jekyllが適していないケースもあるため、プロジェクトの要件を十分に検討する必要があります。

    ここでは、Jekyllの主要なデメリットについて説明します。
    技術的な制約、学習コスト、機能の限定性など、Jekyllの弱点を理解することで、プロジェクトにJekyllを採用する際の判断材料になるでしょう。

    動的コンテンツの制限

    Jekyllは静的サイトジェネレータであるため、動的なコンテンツを直接扱うことができません。
    ユーザー認証、リアルタイムデータの処理、フォーム送信など、サーバー側での動的な処理が必要な機能を実装することが困難です。

    これらの機能が必要な場合は、他のツールやサービスと連携する必要があります。
    例えば、コメント機能を追加するには、DisqusやFacebookコメントなどの外部サービスを利用する必要があります。
    動的な処理が多い場合は、Jekyllよりも動的なWebアプリケーションフレームワークが適しているかもしれません。

    Rubyの知識が必要

    JekyllはRubyで書かれているため、Jekyllを使いこなすにはRubyの知識が必要です。Rubyの文法やパッケージ管理システムに慣れていない場合、Jekyllの設定やカスタマイズに苦労するかもしれません。
    また、Jekyllのプラグインの多くはRubyで書かれているため、プラグインを使う場合もRubyの知識が必要になります。

    ただし、基本的な使い方であれば、Rubyの知識がなくても問題ありません。Markdownでコンテンツを書き、YAMLでメタデータを設定するだけで、静的サイトを生成できます。

    関連記事
    Rubyとは?プログラミング言語としての特徴やできること、アプリの例などを解説
    Rubyとは?プログラミング言語としての特徴やできること、アプリの例などを解説

    大規模サイトでのパフォーマンス

    Jekyllは、サイトの規模が大きくなるにつれて、ビルド時間が長くなる傾向があります。数百ページ以上の大規模なサイトでは、ビルドに数分から数十分かかることがあります。

    これは、Jekyllがサイト全体を一度にビルドするためです。

    ただし、この問題はJekyllの incremental regeneration 機能を使うことで改善できます。
    incrementalオプションを有効にすると、変更されたページだけを再ビルドするため、ビルド時間を大幅に短縮できます。
    また、ページ数が多い場合は、ページネーションを使って分割することも可能です。

    Jekyllの活用例


    Jekyllは、シンプルで柔軟性の高い静的サイトジェネレータであるため、様々な用途で活用されています。
    ここでは、JekyllとGitHub Pagesを連携させたWebサイトの公開と、テンプレートを用いた効率的な静的HTMLページの生成について、具体的な活用例を交えて説明します。
    Jekyllのポテンシャルを理解することで、自分のニーズに合った活用方法を見つけることができるでしょう。

    GitHub Pagesとの連携

    Jekyllは、GitHub Pagesと連携することで、さらに強力なツールになります。
    GitHub Pagesは、GitHubが提供する無料のWebホスティングサービスで、Jekyllをサポートしています。
    以下の手順で、JekyllとGitHub Pagesを連携させることができます。

    Step1. GitHubリポジトリを作成する

    まず、GitHubにサインインし、新しいリポジトリを作成します。
    リポジトリ名は自由に設定できますが、ユーザー名.github.io(例:username.github.io)の形式にすると、リポジトリの内容が直接GitHub Pagesで公開することができます。

    Step2.  Jekyllでサイトを作成する

    以下のコマンドを実行し、新しいJekyllサイトを作成します。

    jekyll new my-blog

    これにより、my-blogというディレクトリに新しいJekyllサイトのテンプレートが生成されます。
    このディレクトリ内に必要なファイルとディレクトリが自動的に作成されます。

    Step3. リポジトリにファイルをプッシュする

    作成したJekyllサイトのファイルをGitHubリポジトリにプッシュします。以下のコマンドを使用して、Jekyllサイトのディレクトリからファイルを追加、コミット、およびプッシュします。

    cd my-blog
    git init
    git remote add origin https://github.com/username/username.github.io.git
    git add .
    git commit -m “First commit”
    git push origin master

    JekyllサイトのファイルがGitHubリポジトリにアップロードされます。

    Step4. GitHub Pagesを設定する

    1. GitHubでリポジトリを作成します。
    2. ローカル環境でJekyllプロジェクトを作成し、リポジトリにプッシュします。
    3. リポジトリの設定で、GitHub PagesのソースをJekyllに設定します。
    4. GitHub Pagesが自動的にJekyllをビルドし、Webサイトを公開します。

    この連携により、バージョン管理システムであるGitの利点を活かしつつ、簡単にWebサイトを公開できます。
    また、複数人での共同作業も容易になります。
    ブログやドキュメンテーション、ポートフォリオなど、様々な用途でJekyllとGitHub Pagesの連携が活用されています。

    テンプレートを用いた静的HTMLページの生成

    Jekyllのテンプレート機能を活用することで、効率的に静的HTMLページを生成できます。テンプレートは、Webサイトの共通部分を定義したファイルで、レイアウトやスタイル、メニューなどを含みます。
    以下のようにテンプレートを活用することで、メンテナンス性の高いWebサイトを作成できます。

    1. _layoutsディレクトリにテンプレートファイルを作成します。
    2. テンプレートファイルに、共通部分のHTMLやLiquidタグを記述します。
    3. 個別のページでテンプレートを指定します。
    4. Jekyllがテンプレートとコンテンツを組み合わせて、静的HTMLページを生成します。

    この方法では、デザインの一貫性を保ちつつ、コンテンツとデザインを分離して管理できます。
    また、テンプレートを変更するだけで、サイト全体のデザインを一括で更新できるため、メンテナンスが容易になります。
    企業サイトやドキュメンテーションなど、一貫性のあるデザインが求められるWebサイトの制作に適しています。

    Jekyllのまとめ


    Jekyllは、静的サイトジェネレータの中でも特に人気の高いツールです。初心者にも使いやすいインターフェースと、豊富な機能を兼ね備えているため、多くの開発者から支持されています。

    Jekyllを使えば、HTMLやMarkdownでコンテンツを作成し、簡単なコマンドを実行するだけで、高機能なWebサイトを生成できます。

    Jekyllは、静的サイトの生成に特化したツールであり、Markdownのサポート、Liquidテンプレートエンジン、豊富なカスタマイズオプション、優れたパフォーマンスとセキュリティ、SEOに適した出力など、多くの強力な機能を提供しています。

    Webサイトの制作や、技術選定などの課題を抱えている方は、ぜひ弊社Jiteraに相談することをおすすめします。経験豊富な開発者やコンサルタントが、プロジェクトの要件に合わせて最適なソリューションを提案いたします。

    例:開発手順、ツール、プロンプト

    メルマガ登録

    社内で話題になった「生成AIに関するニュース」をどこよりも早くお届けします。