フロントエンドカンファレンス東京の公式サイトです。Astroで構築し、GitHub Pagesに公開しています。
年別のページとして/2025/、/2025/contents/、/2026/があります。
現在、トップページ(/)は/2025/へリダイレクトします。
旧特定商取引法に基づく表記のURL(/tokushoho/)は、astro.config.mjsのredirectsで公式サイトの表記ページへリダイレクトします。
Node.js 24(.node-versionおよびpackage.jsonのVolta設定では24.5.0)とnpmを使用します。
npm ci
npm run dev開発サーバーはhttp://localhost:3000で起動します。公開用の出力をローカルで確認する場合は、
npm run buildの後にnpm run previewを実行します。ビルド結果はdist/に生成されます。
| パス | 内容 |
|---|---|
src/pages/ |
URLに対応するページ。年別のページは2025/、2026/に配置 |
src/components/2025/、src/components/2026/ |
年別の表示部品 |
src/data/2025/ |
2025年のセッション、タイムテーブル、スポンサーなどのデータ |
src/data/2026/ |
2026年のお知らせとリンク先。チケットなどのURLはlinks.tsで管理 |
src/css/、src/assets/ |
スタイルと画像・SVG |
public/ |
faviconやOG画像など、そのまま配信するファイル |
| コマンド | 内容 |
|---|---|
npm run check |
AstroとTypeScriptのチェック |
npm run build |
本番用サイトのビルド |
npm run markuplint |
Astroファイルのマークアップ検査 |
npm run markuplint:dist |
ビルド後のHTMLのマークアップ検査 |
npm run eslint |
JavaScript・TypeScript・AstroファイルのLintと自動修正 |
npm run stylelint |
Astro・CSSファイルのLintと自動修正 |
npm run format |
AstroファイルをPrettierで整形 |
npm run screenshots |
Playwrightでスクリーンショットを取得 |
スクリーンショットを初めて取得する環境ではnpx playwright installでブラウザーを用意してください。
npm run screenshotsはビルドしたサイトをポート3000で配信し、結果をscreen-shot/に保存します。
.github/workflows/publish.ymlの「Deploy Pages」をGitHub Actionsから手動実行すると、
npm ciとnpm run buildを行い、dist/をGitHub Pagesにデプロイします。
タグを指定して実行した場合は、ビルド成果物のアーカイブをGitHub Releaseにも添付します。
Node.js 24とGitを用意し、npm ciを実行すると、既存のHusky経由で
pre-pushとreference-transactionフックが有効になります。Pythonは不要です。
手動で再設定する場合はnpm run prepareを実行します。
git commit時、Git indexで追加・変更されたファイルだけを検査します。
未ステージの編集や既存履歴はここでは走査しません。
git push時、送信対象の各コミットの追加・変更ファイルをGitオブジェクトから
取り出して検査します。途中で追加し、後のコミットで削除・置換した秘密も対象です。
新規ブランチや送信先のコミットがローカルにない場合は、送信する全履歴を検査します。
削除だけのpushは検査不要です。
.env、秘密鍵、AWS設定などのファイル名を禁止します。.env.example/.env.sample/.env.template/.env.distは内容検査のみ行います。- secretlintの推奨ルールと追加パターンで認証情報を検査します。
- 検出時はファイル名・行・ルールだけを表示し、認証情報の実値は表示しません。
- 依存不足や検査エラーでもpushを止めます。
手動検査はnpm run check-secrets(stagedの追加・変更だけ)、
追跡ファイル全体の検査はnpm run check-secrets:tracked、
検査機構のテストはnpm run test:secretsです。未ステージの編集は手動検査に含みません。
誤検出は.secretlintrc.jsonの該当ルールのallows、ファイル名の判定は
scripts/check-secrets.mjsのdenyで対象を絞って調整してください。
reference-transactionの
prepared段階で新規コミットの参照更新だけを判定し、staged内容を1回検査します。
秘密が見つかると参照更新を中止するため、git commit --no-verifyでも検査を省略できません。
既存コミットを指すブランチの作成・切り替えでは履歴の内容検査を行いません。
削除とsymbolic refの切り替え、remote追跡refの更新も対象外です。
Husky v9が標準生成しないフックなので、prepareで専用の起動ファイルを補います。
git push --no-verifyは引き続きpre-pushを省略しますが、この環境で通常作成する
コミットは参照更新時点で検査されます。導入前・別環境で作成されたコミットや、
HUSKY=0・core.hooksPath変更などによる意図的な無効化までは防げません。
送信自体を強制的に拒否するにはサーバー側のsecret push protectionや受信フックが必要です。
パターンに一致しない秘密は検出できないため、検査は漏洩防止の補助です。