2026年の上半期音MAD5選を追加 #2

Merged
SnO2WMaN merged 2 commits from feat/generate-kamihanki5sen into main 2026-07-25 13:05:04 -04:00
SnO2WMaN commented 2026-07-25 13:02:04 -04:00 (Migrated from github.com)

概要

2026年 上半期音MAD5選のスプレッドシートから src/data/kamihanki5sen/2026.json を生成するスクリプトを追加し,ビルドフローに組み込みました.

生成フロー

kamihanki5sen_2026.ts:

  1. スプレッドシートを export?format=csv で取得し src/data/kamihanki5sen/2026.csv に保存
  2. csv-parse でパースし,票数 / 動画タイトル / 動画URL 列を抽出(1行目がタイトル行なのでヘッダ行は内容から検出)
  3. generate_10sen.ts と同じく roxy (https://roxy.otodb.net/json) で正規タイトルとサムネイルを解決(同時実行24・リトライ3回・タイムアウト20秒,失敗時は CSV のタイトルを維持して thumbnail: null)
  4. 票数降順の { year, count, url, title, thumbnail }[] として JSON 出力

CI

prebuild に generate:kamihanki5sen を追加したので,既存の Deploy to GitHub Pages ワークフロー(main への push・毎週月曜の cron・手動実行)でビルドのたびに自動生成されます.ワークフロー定義自体の変更は不要でした.

生成物(.csv / .json)は src/data/kamihanki5sen/.gitignore で除外しています.

動作確認

ローカル実行で 551 件を出力,うち 524〜526 件でサムネイル取得に成功しました.未解決は soundcloud / bilibili / ニコニコ shorts / 削除済みと思われる YouTube 動画で,これらは thumbnail: null になります.

補足

作業ツリーにあった src/pages/kamihanki5sen/2026.astro と src/pages/index.astro の変更は作業中のものと判断し,このPRには含めていません.生成された JSON を参照する画面側の実装は別途必要です.

🤖 Generated with Claude Code

## 概要 2026年 上半期音MAD5選のスプレッドシートから `src/data/kamihanki5sen/2026.json` を生成するスクリプトを追加し,ビルドフローに組み込みました. ## 生成フロー `kamihanki5sen_2026.ts`: 1. スプレッドシートを `export?format=csv` で取得し `src/data/kamihanki5sen/2026.csv` に保存 2. `csv-parse` でパースし,`票数` / `動画タイトル` / `動画URL` 列を抽出(1行目がタイトル行なのでヘッダ行は内容から検出) 3. `generate_10sen.ts` と同じく roxy (`https://roxy.otodb.net/json`) で正規タイトルとサムネイルを解決(同時実行24・リトライ3回・タイムアウト20秒,失敗時は CSV のタイトルを維持して `thumbnail: null`) 4. 票数降順の `{ year, count, url, title, thumbnail }[]` として JSON 出力 ## CI `prebuild` に `generate:kamihanki5sen` を追加したので,既存の Deploy to GitHub Pages ワークフロー(`main` への push・毎週月曜の cron・手動実行)でビルドのたびに自動生成されます.ワークフロー定義自体の変更は不要でした. 生成物(`.csv` / `.json`)は `src/data/kamihanki5sen/.gitignore` で除外しています. ## 動作確認 ローカル実行で 551 件を出力,うち 524〜526 件でサムネイル取得に成功しました.未解決は soundcloud / bilibili / ニコニコ shorts / 削除済みと思われる YouTube 動画で,これらは `thumbnail: null` になります. ## 補足 作業ツリーにあった `src/pages/kamihanki5sen/2026.astro` と `src/pages/index.astro` の変更は作業中のものと判断し,このPRには含めていません.生成された JSON を参照する画面側の実装は別途必要です. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.
No description provided.