cloudnativedays.jp のオフィシャルウェブサイトです。
日本最大のCloud Native技術の祭典「CloudNative Days」の情報発信プラットフォームとして、イベント情報、ブログ記事、スピーカー・セッション情報などを提供しています。
| カテゴリ | 技術 |
|---|---|
| フレームワーク | Astro 5.x |
| 言語 | TypeScript |
| スタイリング | Tailwind CSS |
| CMS | Notion (ブログ記事管理) |
| ホスティング | AWS S3 + CloudFront |
- Node.js v18以上
- npm
ブログ機能を利用する場合、以下の環境変数が必要です:
| 変数名 | 説明 | 必須 |
|---|---|---|
NOTION_API_SECRET |
Notion API シークレットキー | ブログ機能使用時 |
DATABASE_ID |
Notion データベース ID | ブログ機能使用時 |
PUBLIC_GA_TRACKING_ID |
Google Analytics トラッキング ID | 任意 |
CUSTOM_DOMAIN |
カスタムドメイン (例: cloudnativedays.jp) |
任意 |
BASE_PATH |
サブディレクトリパス (例: /docs/) |
任意 |
# 依存関係のインストール
npm install
# 開発サーバーの起動
npm run devブラウザで http://localhost:4321 を開いてください。
src/
├── pages/ # ページ(ファイルベースルーティング)
├── components/ # Astro/React コンポーネント
├── layouts/ # レイアウトコンポーネント
├── data/ # 静的データ
│ ├── events/ # イベント情報 (JSON)
│ ├── speakers/ # スピーカー情報 (JSON)
│ └── talks/ # トーク情報 (JSON)
├── lib/ # ユーティリティ・Notion API連携
├── types/ # TypeScript 型定義
└── styles/ # グローバルスタイル
| Command | Action |
|---|---|
npm install |
依存関係のインストール |
npm run dev |
開発サーバーの起動 |
npm run build |
本番用ビルド (./dist/ に出力) |
npm run build:cached |
キャッシュ取得後にビルド |
npm run preview |
ビルド結果のプレビュー |
npm run format |
Prettier でコードフォーマット |
npm run lint |
ESLint + Prettier でコードチェック |
npm run cache:fetch |
Notion からブログキャッシュを取得 |
npm run cache:purge |
キャッシュのクリア |
GitHub Actions を使用して自動デプロイされます。
- タグをプッシュ (
git tag vX.X.X && git push --tags) - Astro でビルド
- S3 へ同期
- CloudFront キャッシュ無効化
新しいイベントを追加する場合:
src/data/events/に新しい JSON ファイルを作成src/data/speakers/にスピーカー情報を追加src/data/talks/にトーク情報を追加src/data/data.tsでデータをインポート・エクスポート