astroでGitHubのプロフィールを爆速で作る
なぜastroを使うのか
GitHub Pagesでは標準でJekyllが利用可能ですが、npmでインストールできて豊富なライブラリが使えて、ローカルビルドも簡単なastroを使いたかったからです。
GitHub Pagesについて
GitHub Pagesには2種類あります。
- プロジェクトページ
- リポジトリ内の
gh-pages
ブランチ、もしくはdocs/
に配置 -
https://<GitHubユーザー名>.github.io/<リポジトリ名>/
でアクセス
- リポジトリ内の
- ユーザーまたは Organization サイト
-
<GitHubユーザー名>.github.io
リポジトリに配置 -
https://<GitHubユーザー名>.github.io/
でアクセス
-
今回は、個人や組織のプロフィールを作る内容なので後者となります。
手順
リポジトリ作成と設定
プロフィール格納用のリポジトリを<GitHubユーザー名>.github.io
で作成します。無課金で行うにはpublic
設定にしてください。
リポジトリのSettings
-Pages
で、Source
をGitHub Actions
にしておきます。
astroプロジェクトの作成
PCでnpm create astro@latest
を入力するといろいろ質問されます。
最初はプロジェクト名(フォルダ名)なのでhoge-profile
など好きなものを入れてください。
その他はすべてデフォルトで進めます。
astroでコンテンツを作る
まずは実行
cd hoge-profile
npm run dev
これでhttp://localhost:4321/
にアクセスすると、テンプレート的なページが見れます。
コンテンツ編集
あとはHTMLやCSSをどんどん編集していけばいいのですが、astroはmdファイルの表示も可能です。
pages
ディレクトリ以下を見ると、index.astro
ファイルが入っていて、これがエントリーポイントになりますが、ここにtest.md
ファイルを作って、http://localhost:4321/test
にアクセスしてみましょう。これだけで表示が可能です。フロントマターでレイアウトの指定も可能です。
---
title: 自己紹介
layout: ../layouts/Layout.astro
---
# こんにちは!
これは **Markdown** で書かれたコンテンツです。
- リストアイテム1
- リストアイテム2
Actions設定
GitHub Actionsにテンプレートが用意されています。
リポジトリのActions
-New workflow
で表示されるワークフロー一覧から、検索ボックスに「astro」と入れて検索します。
configure
ボタンを押してそのまま保存すれば基本的には問題ありません。
マークダウンにスタイルを当てる
このままだと、マークダウンのスタイルが寂しいので、こちらの記事を参考にしてGitHubのマークダウン風に修飾しました。
Layout.astroを修正します。
今回はCDN経由でCSSを呼び出し、文字化けを解消するために文字コード指定をしています。
push
あとは先程作った<GitHubユーザー名>.github.io
をローカルのプロジェクトのリモートリポジトリにしてpushすればOKです。
git remote add origin git@github.com:<GitHubユーザー名>/<GitHubユーザー名>.github.io.git
git push -u origin main
GitHub Actionsが動いて、成功するとhttps://<GitHubユーザー名>.github.io/
で作成したページを見ることができます。
できたもの
Discussion