Jun Hirakoのポートフォリオサイトです。
- フレームワーク: Next.js App Router
- 言語: TypeScript
- UI: React, Tailwind CSS, sanitize.css
- データ管理: YAML
- デプロイ: GitHub ActionsからGitHub Pagesへ自動デプロイ
src/app/layout.tsx: ルートレイアウト、メタデータ、ヘッダーとフッターの配置src/app/page.tsx: 1 ページ構成のポートフォリオ本体src/layouts/Header.tsx: ページ上部の名前とページ内リンクsrc/layouts/Footer.tsx: コピーライトとリポジトリリンクsrc/components/ExternalLink.tsx: 外部リンク用コンポーネントsrc/lib/content.ts: YAML ファイルをビルド時に読み込む処理と型定義src/data/profile.yaml: 名前、所属、写真パスsrc/data/publications.yaml: 査読済み論文、プレプリント、その他公開物src/data/experience.yaml: 経歴、学歴、受賞歴src/data/links.yaml: 各種アカウントへのリンク.github/workflows/nextjs.yml: GitHub Pagesへのビルドとデプロイ
依存関係をインストールします。
yarn install開発サーバーを起動します。
yarn dev品質チェックを実行します。
yarn typecheck
yarn lint
yarn buildyarn build を実行すると、静的サイトがout/に生成されます。
各項目はsrc/data/*.yamlを編集します。表示順はYAMLの配列順です。新しい論文、経歴、リンクを追加する場合は、既存の項目と同じキー構造で追記します。
写真を差し替える場合は、画像をpublic/に追加し、src/data/profile.yamlのphoto.srcを/画像ファイル名に変更します。
mainブランチへpushすると、GitHub Actionsが以下を実行します。
- Node.jsと依存関係をセットアップ
yarn typecheckyarn lintyarn buildout/をGitHub Pagesにデプロイ