Webサイト制作コースのお申し込みはこちら Webサイト制作コースのお申し込みはこちら

GitHub Pagesについてまとめています。

GitHub Pagesとは?

GitHub Pagesは、GitHubのリポジトリからHTMLや画像を取得し、ウェブサイトを公開できるサイトホスティングサービスです。

関連)GitHub Pages について – GitHub Docs

ドメインはgithub.ioもしくは、独自ドメインを仕様することが可能。

GitHub Pagesは、Jekyll(ジキル)という静的サイトジェネレータが組み込まれていて、HTMLを取り込んで静的なウェブサイトを生成します。

参考)GitHub PagesにJekyllを使っていい感じのページを作る例 – Qiita

JekyllはRuby言語のgemとして動作するモジュールで、ローカル環境でも動作するように環境を作るなら、rubyや必要なgemなどのインストールが必要になります。

GitHub Pagesで単純なHTMLファイルを公開する

ただページをウェブ上に公開するだけなら、Jekyllを使う必要はないんですね。単にリポジトリ名をつけて、index.htmlやその他のHTML、画像ファイルを作成するだけでウェブページの公開ができます。

例えば、リポジトリにindex.htmlというファイルを作って、マスターブランチとしてリリースします。内容は以下を記述しました。

<html>
テストページです。
</html>

GitHubにて、プロジェクトページのSettingsをクリック後、Pagesをクリックし、Sourceの箇所にbranch:mainを設定してSaveをクリックします。

例えば、プロジェクトのページがhttps://github.com/<username>/samplexだった場合、ウェブページはhttps://<username>.github.io/samplex/というURLになります。なお、プロジェクト名を<username>.github.ioで作成するとウェブページのURLは、<username>.github.ioとなります。

具体的に書くと、potepanuserというユーザが、potepanuser.github.ioでプロジェクトを作成すると、ウェブページのURLがhttp://potepanuser.githu.ioになるんですね。Pagesの設定で、常時httpsにしたり、独自ドメインを割り当てることも可能です。

以下は「テストページです。」という文言だけの表示結果。画像やcssファイルによる装飾、javascriptファイルの使用も可能です。

しかし、現在はワードプレスなどを使えば簡単に美しいサイトを作り込むことができるため、github.ioドメイン上で凝ったページを公開しているプロジェクトは多くありませんでした。

Jekyll(静的ページジェネレータ)を使ってページを公開

index.htmlを作成する方法は簡単ですが、実際に運用する場合生でhtmlを記述していくのは大変ですし、外部のHTMLエディターで都度編集するのも大げさ…という場合は、Jekyllによる静的ページを利用するのが良いかも知れません。

Jekyll を使用して GitHub Pages サイトを作成する – GitHub Docs

Jekyll用のファイルを用意します。

├── _config.yml
├── _layouts
│   └── default.html
└── index.md

_config.ymlには設定情報、default.htmlにはデフォルトレイアウトの情報、index.mdにはマークダウン言語で記述したウェブコンテンツを記述します。なお、Setting→Pages→Change themeで何らかのテーマを設定すると、_config.ymlが自動的に変更され、見栄えが変わります。

基本となる3ファイルは、以下の内容で作成します。

_config.ymlは以下の内容となります。サイト名のみの設定です。

name: My Jekyll Website

_layouts/default.htmlには以下の内容を設定します。

<!DOCTYPE html>
<html>
  <body>
     {{ content }}
  </body>
</html>

index.mdには以下の内容を設定します。コンテンツはマークダウン言語で記述します。マークダウン言語はwikiなどでも使用されている言語で、htmlを直接記述するよりは簡単に見出しや強調などをマークの埋め込みによって実現できるというものです。

---
title: My page
layout: default
---

# {{ page.title }}

Content is written in [Markdown](https://learnxinyminutes.com/docs/markdown/). Plain text format allows you to focus on your **content**.

<!--
You can use HTML elements in Markdown, such as the comment element, and they won't be affected by a markdown parser. However, if you create an HTML element in your markdown file, you cannot use markdown syntax within that element's contents.
-->

GitHub Pagesの有効な使い方は?

確かにちょっとしたドキュメントなどを、無料ウェブスペース上にアップロード出来たら便利なのかも知れません。実際、どのように使われているのでしょうか?

GitHub Pagesから別サイトにリダイレクト

github.ioドメインを見ていたと思ったら別サイトに飛ばされてしまうケース。googleやMicrosoftなどの大手がおこなっているので、規約違反というわけではなさそうです。

例えば、Microsoftは、AzureのドキュメントやMicrosoft Open Sourceのページをgithub.ioからmicrosoft.comドメインにリダイレクトしていました。

GitHub Pagesをドキュメント公開ページとして利用

例えばPython Software Foundationは、github.ioドメインにて日本語ドキュメントの公開をおこなっていました。

参考)Python 3.6.5のDocumentation

ちなみにコンテンツ生成はJekyllではなく、Sphinxというソースコードに埋め込まれたreStructuredTextから生成されています。

GitHub Pagesを自己紹介ページとして利用

研究者のかたが、研究成果をとりまとめて公開&自己紹介の場として利用しているケース。

参考)解説記事・報道など – 秋山 和徳

参考)自己紹介 – Yuta Toyama(Jekyll使用)

FacebookやLinkedinなど自己紹介の場として簡単に使えるサービスがあるなか、ハードルの高いgithubのpagesで自己紹介ページを作成されているのはちょっとしたアピールになるのかも知れません。

GitHub Pagesまとめ

ポテパンダの一言メモ
  • GitHub Pagesを使って、単純なhtmlファイルなら簡単にウェブページとして公開できる
  • Jekyllという静的ページジェネレータを使って、ファイルからコンテンツを生成することも可能
  • ドキュメント公開や自己紹介ページとして使われているケースが多い

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。