{"id":21894685,"url":"https://github.com/susumuota/livechatgrid","last_synced_at":"2026-04-15T14:02:39.678Z","repository":{"id":44731864,"uuid":"447304936","full_name":"susumuota/livechatgrid","owner":"susumuota","description":"Live Chat Grid","archived":false,"fork":false,"pushed_at":"2022-01-28T05:29:53.000Z","size":716,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-27T08:07:39.727Z","etag":null,"topics":["chrome","chrome-extension","chrome-extensions","material-ui","mui","nicolive","niconico","nicovideo","reactjs","typescript","youtube","youtube-livestream"],"latest_commit_sha":null,"homepage":"https://github.com/susumuota/livechatgrid","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/susumuota.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-01-12T17:12:19.000Z","updated_at":"2023-08-01T05:25:03.000Z","dependencies_parsed_at":"2022-09-04T07:53:13.812Z","dependency_job_id":null,"html_url":"https://github.com/susumuota/livechatgrid","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/susumuota/livechatgrid","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/susumuota%2Flivechatgrid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/susumuota%2Flivechatgrid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/susumuota%2Flivechatgrid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/susumuota%2Flivechatgrid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/susumuota","download_url":"https://codeload.github.com/susumuota/livechatgrid/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/susumuota%2Flivechatgrid/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31844329,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T13:28:40.153Z","status":"ssl_error","status_checked_at":"2026-04-15T13:28:29.396Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chrome","chrome-extension","chrome-extensions","material-ui","mui","nicolive","niconico","nicovideo","reactjs","typescript","youtube","youtube-livestream"],"created_at":"2024-11-28T13:27:39.229Z","updated_at":"2026-04-15T14:02:39.661Z","avatar_url":"https://github.com/susumuota.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Live Chat Grid\n\n[YouTube Live](https://www.youtube.com/live) と[ニコニコ生放送](https://live.nicovideo.jp/)のチャットを抽出して、グリッドレイアウトで表示する Chrome 拡張機能です。両方のチャットを一つのウインドウに同時に表示出来ます。\n\n一度表示したチャットはスクロールせず同じ位置に表示し続けるので、テキストを読んでいる途中でテキストの位置がスクロールで上下に動くことはありません。新しいチャットは一番古いチャット位置に順次上書きされます。\n\n## インストール\n\n- ターミナルを開く\n- ビルドする(要 `node`, `git`)\n\n```sh\ngit clone https://github.com/susumuota/livechatgrid.git\ncd livechatgrid\nnpm ci\nnpm run build\n```\n\n- Chrome 拡張機能の設定ページを開く `chrome://extensions`\n- `デベロッパー モード` を ON にする\n- `パッケージ化されていない拡張機能を読み込む` をクリック\n- ビルドした `dist` フォルダを指定する `/path/to/livechatgrid/dist`\n\n\n## 使い方\n\n- YouTube Live `https://www.youtube.com/watch/v=*` または ニコニコ生放送 `https://live.nicovideo.jp/watch/lv*` のページを開く\n- 右クリックしてコンテキストメニューを開き、`Live Chat Grid` を選択すると別ウインドウを表示しライブチャットを表示\n  - さらに、このウインドウで `F12` キーを押して DevTools を表示すると、過去のチャットログを表示できます。ログの種類で `Verbose` と `Info` をそれぞれ有効にしてください。\n- チャットが更新されないときは元ページをリロード\n- それでもダメなら拡張機能の設定ページで更新を押してから元ページをリロード\n\n## 設定\n\n`Live Chat Grid` のウインドウで `F12` キーを押して DevTools を表示し、以下のコードを入力して設定を行います。\n詳細は [common.ts](https://github.com/susumuota/livechatgrid/blob/main/src/common.ts) を参照してください。以下設定例です。\n\n### チャットを横 5 列, 縦 15 行のグリッドで表示\n\n`columns` で列、 `rows` に行を指定します。\n\n```javascript\nchrome.storage.local.set({ columns: 5, rows: 15 })\n```\n\n上記設定後に、スクロールバーが消えるようにウインドウサイズをマウスで調整してください。フォントサイズは通常通り `Command+-` と `Command+=` で調整出来ます。\n\n### 個々のチャット欄の高さを 3 行にする\n\n`rowHeight` に `(行数 * 1.5 + 2)rem` を文字列で指定(1.5 は line-height, 2 は padding)。はみ出た分はマウスホバーすると表示出来ます。\n\n```javascript\nchrome.storage.local.set({ rowHeight: '6.5rem' })\n```\n\n### チャット全体を表示\n\n`rowHeight` に `auto` を指定するとチャット全体を表示出来ますが、グリッドの高さがメッセージによって変わるのでテキストの位置がずれます。\n\n```javascript\nchrome.storage.local.set({ rowHeight: 'auto' })\n```\n\n### 固定グリッド表示をやめる\n\n`isFixedGrid` を `false` にすると、固定グリッドをやめてチャットをスクロールさせます。 `rows` を多めに設定出来ます。スクロールバーの一番下までスクロールした状態だと自動スクロールします。\n\n```javascript\nchrome.storage.local.set({ isFixedGrid: false, rows: 20 })\n```\n\n### 機能を停止\n\n`isEnabled` を `false` にした後に元ページをリロードすると、チャットの抽出を停止します。\n\n```javascript\nchrome.storage.local.set({ isEnabled: false })\n```\n\n## ソースコード\n\nhttps://github.com/susumuota/livechatgrid\n\n## 作者\n\nSusumu OTA\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsusumuota%2Flivechatgrid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsusumuota%2Flivechatgrid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsusumuota%2Flivechatgrid/lists"}