[メモ]geocitiesの静的サイトをGitHub Pagesでホスティングする
Yahoo! ジオシティーズが2019/3/31に終了する。 info-geocities.yahoo.co.jp
自分も20年近くのジオシティーズユーザーで、サイト上に黒歴史も沢山残っている。ただインターネットを彩った歴史の一部ではあると思っている。今回はこれ何かの形で残したい。
自分は、ジオシティーズの有料付加サービスであるジオプラスを利用していない。CGIを利用していないからである。つまり、HTML/CSS/JavaScript/画像のみで構成された静的サイトだということだ。ということは、さくらやロリポップ!などのレンタルサーバだと明らかにオーバースペックである。
また古い情報のHTMLといえども、エンジニアとしてバージョン管理をしないのは悲しい。ということで、GitHub Pagesでホスティングできないのかと考え、移行した時のメモを記す。作業環境は macOS High Sierraである。
ちなみにGitHubの What is GitHiub Pages? にも下記の通り書かれているので、okだと思う。
GitHub Pages is a static site hosting service designed to host your personal, organization, or project pages directly from a GitHub repository.
TL;DR
geocitiesの静的サイトはGitHub Pagesでホスティングすることが可能
手順はたったの4つ
- ftpでgeocitiesのファイルを吸い出す
- ホスティング用のプロジェクト(レポジトリ)を作り、ここに1で取得したファイルを置く
- ファイルを調整し(エンコーディングの変更、不要なファイルの削除など)masterへpush
- プロジェクトのsettingsで、masterブランチからGitHub Pagesを生成する
1. ftpでgeocitiesのファイルを吸い出す
まずはftpで思って叩いてみるといきなり死。
macOS High Sierraから/usr/bin配下のftpやtelnetなどはセキュリティ上の理由で廃止されたらしい。
bash-3.2$ ftp bash: ftp: command not found
Homebrewでftpを復活させる。passiveモードになっていなくてファイヤウォールで叩き落とされていたりして解決まで時間がかかった。むしろ面倒だったら、CyberduckやFileZillaのようなftpソフトでやる方が早いし正確な気がする。
# ftpを使えるようにする brew install inetutils
2. ホスティング用のプロジェクト(レポジトリ)を作り、ここに1で取得したファイルを置く
GitHub PagesでホスティングしたときのURLはこのようになるので(ドメインなど割り当てなければ)
https://{username}.github.io/{repos}
適したrepos名のレポジトリを作り、1で取得したファイルをそのまま置く。
3. ファイルを調整し(エンコーディングの変更、不要なファイルの削除など)masterへpush
自分の場合は、htmlファイルがShift_JISで書かれていた。GitHubのエンコーディングはUTF-8っぽい(あまり調べていない)のでUTF-8に変換。 必要があれば改行コードも変えておく。
# UTF-8に変換 find . -name "*.html" | xargs nkf --overwrite -w
さらにhtmlファイル内部のcharsetもutf-8に修正する。 ここで黒歴史を消すこともお忘れなく。
4. プロジェクトのsettingsで、masterブランチからGitHub Pagesを生成する
- https://github.com/{username}/{repos}/settings にアクセスし、下部にあるGitHub PagesのSelect sourceを"master brunch"にする。
- https://{username}.github.io/{repos} で確認する
デフォルトでhttpsになっているのがいい