CNDW2026: 機能フラグ付きでkaigi.cloudnativedays.jpの機能を移植 - #433
Merged
Conversation
node-fetch@2とNode.js 22の組み合わせでgzipレスポンス受信時に Premature closeが発生しビルドが失敗していたため、ランタイムの ネイティブfetchを使うよう変更。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
src/features.tsにFEATURES(sponsors/timetable/sessions/jobboard、 デフォルトOFF)を定義し、ENABLE_*環境変数で上書き可能にする。 Navbar/Footerのリンクをフラグ駆動化し、古いkaigi告知バナーを削除。 新機能用の依存(marked/shiki/minisearch/tsx)を追加し、実体のない scripts/を参照していた死んだnpm scriptsを削除。 tsconfigのmoduleResolutionをbundlerへ(astro/zodのexports解決のため)。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
src/lib/dreamkast/にzodスキーマ・スナップショット読取クライアント・ ETag対応画像ダウンローダ・スポンサーtier共通ヘルパを実装。 ページはビルド時にDREAMKAST_DATA_DIRのJSONのみを読み、API取得は scripts/update-data.ts(npm run update:data)に分離。eventAbbrは EVENT_ABBR環境変数でパラメータ化。 src/data/dreamkast-fixtures/はcnk由来のテストデータで、 DREAMKAST_DATA_DIR指定時のみ使用(本番データ投入後に削除予定)。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
kaigi.cloudnativedays.jpの構造を現行デザインイディオムに適合させて移植。 全ページ/セクションはFEATURESフラグでゲートされ、デフォルト無効 (無効時はページ自体が生成されない)。 イベント固有設定はtimetable-config.tsに集約し、実データ確定後に 更新すべき箇所へTODO(CNDW2026)マーカーを付与。 セッション一覧はURLパラメータ同期のクライアントフィルタ付き。 ジョブボードはjobboard.jsonをスポンサーIDでjoinし、marked+shikiで 説明文を描画。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
MiniSearch+CJKバイグラムによるクライアント検索と静的検索インデックス (/posts/search-index.json)を追加。記事詳細に検索フォーム・最新5記事・ タグを持つサイドバーとJSON-LDを追加。ページネーションを廃止して 全件表示+検索に置換し、タグページは維持。 トップページの最新ブログをLatestPosts(1大+2小構成)へ抽出し、 rss.xmlを追加。壊れたCSS変数を使っていたBlogPostsLink/BlogTagsLinkを Tailwind化。Notionクライアントにはブロック取得キャッシュを追加 (検索インデックスと記事ページの二重取得防止)。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
トップページでスクロールまでNavbarを隠すフェードイン挙動を廃止し、 全ページで常時表示に統一。最新ブログセクションをスポンサーより 上に移動。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
This pull request is automatically being deployed by Amplify Hosting (learn more). |
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
kaigi.cloudnativedays.jp の主要機能を、現行サイトのデザインを維持したまま移植しました。
機能フラグ
上記機能(ブログ除く)は
src/features.tsでデフォルト無効です。ENABLE_SPONSORS/ENABLE_TIMETABLE/ENABLE_SESSIONS/ENABLE_JOBBOARD環境変数で有効化できます。無効時はページ自体が生成されないため、本PRマージ後も本番の見た目は変わりません。
データ層
npm run update:dataで手動取得→コミット)src/data/dreamkast-fixtures/はcnk由来のテストデータ(DREAMKAST_DATA_DIR指定時のみ使用、本番データ投入後に削除予定)動作確認
🤖 Generated with Claude Code