Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Chart.js が簡単に使えるようになっていたので OGP 画像生成に使った話
Search
すずとも
June 03, 2026
Technology
430
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Chart.js が簡単に使えるようになっていたので OGP 画像生成に使った話
2026.6.3
toranoana.deno #25
登壇資料
すずとも
June 03, 2026
More Decks by すずとも
See All by すずとも
Node vs Deno vs Bun 〜推しランタイムを見つけよう〜
kamekyame
1
1.8k
Deno Tunnel を使ってみた話
kamekyame
0
640
Other Decks in Technology
See All in Technology
生成AIと進める探索的データ分析(2026.10.03 第122回Tokyo.R勉強会)
tatamiya
2
1.4k
プロダクト価値を、 チームが使える判断軸に変える
vivion
0
130
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
290
The seven pitfalls of AI (revised version)
ufried
0
290
Codex概要
ymiya55
0
470
あなたの知らないAmazon VPC Route Server/Amazon VPC Route Server you don't know about
masakiokuda
2
230
生成AIで高い生産性を求められて、 悩み、乗り越えた話
mot_techtalk
2
130
AgentCoreで実践するハーネスエンジニアリング
yakumo
1
290
オンラインゲームのシステム全体像 - コロプラ 2026年度 新卒研修
colopl
0
930
Snowflake Horizon Catalog と Apache Iceberg で作る オープンなデータ基盤
kitagawaz
0
460
全人類(ほぼ)AWS Organizations の上でAWSを利用している、その世界を知る話
htan
1
120
全PRの83%が AIレビューだけでマージできるようになった開発組織は その後どうなったか @2026/10
athug
0
120
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
22k
Six Lessons from altMBA
skipperchong
29
4.5k
Documentation Writing (for coders)
carmenintech
77
5.6k
Designing for Performance
lara
612
70k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Rails Girls Zürich Keynote
gr2m
96
14k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
New Earth Scene 8
popppiees
4
2.7k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
590
Transcript
Chart.js が簡単に使えるようになっていたので OGP 画像生成に使った話 2026.06.03 toranoana.deno #25 すずとも / kamekyame
自己紹介 すずとも / subname: kamekyame 株式会社 jig.jp フロントエンドエンジニア 福井在住 Deno、Angular
2 @SuzuTomo2001 @kamekyame kamekyame.com
Deno + Chart.js 3
Chart.js とは JavaScript でチャートを書くためのライブラリ Canvas を使って描画される 4 https://www.chartjs.org/docs/latest/samples/line/line.html https://www.chartjs.org/docs/latest/samples/other-charts/doughnut.html
Deno + Chart.js だけではチャートを作れない サーバー用のランタイムには Canvas API がない → Canvas
API 互換のライブラリ を組み合わせる必要がある Deno 用に Canvas API を実装したライブラリがある JSR “canvas” 🔎 で出てきたいくつかのライブラリで使ってみたが… jsr:@gfx/
[email protected]
❌ jsr:@gfx/
[email protected]
❌ jsr:@josefabio/
[email protected]
❌ 5
Deno + Chart.js だけではチャートを作れない npm もいくつか試してみて… npm:
[email protected]
❌ npm:
[email protected]
❌
nodeModulesDir: “auto” にしてと言われるし、しても動かない :( 6 npm:@napi-rs/
[email protected]
🎉 nodeModulesDir の設定も不要!
Deno + Chart.js + @napi-rs/canvas の使い方 7 github.com/kamekyame/deno-chartjs-sample
Deno + Chart.js + @napi-rs/canvas の使い方 8 github.com/kamekyame/deno-chartjs-sample
とても簡単 😙 9
活用した事例を紹介 10
crux-feed github.com/kamekyame/crux-feed CrUX : Chrome UX Report LCP、INP、CLS(Core Web Vitals で使われる指標)など
実際のユーザー環境 で測定&集計したものがデータとして公開 CrUX Viz という可視化ツールはある→ 変化を Slack で 継続的に監視 したい! → RSS Feed として配信しよう Deno Deploy でホスト 11
crux-feed の機能 CrUX API から得られるデータを XML 形式にして返すだけ /feed subscribe https://crux-feed.kamekyame.deno.net/?view=cwvsummary&url=https://deno.com/&identifier=url
12 OGP 画像の作成に Chart.js を使用
OGP 画像はアクセス時に作成 OGP に指定している画像 URL https://crux-feed.kamekyame.deno.net/i?url=https://deno.com https://crux-feed.kamekyame.deno.net/i?url=https://nodejs.org/ja 13 deno.com nodejs.org/ja
まとめ Chart.js + @napi-rs/canvas を使えば Deno でもチャート作成ができる Node & npm
互換性向上 のおかげ いつから動くようになったんだろう? この組み合わせを crux-feed に活用しました Deno Deploy 上でも問題なく動くことを確認済み ファイルから フォント読み込みもできました(数字には Roboto を使っています) よかったら使ってください! CrUX Viz とクエリパラメータがほぼ互換なので、ドメイン名を変えれば使えます! 14