Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Chart.js が簡単に使えるようになっていたので OGP 画像生成に使った話
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
すずとも
June 03, 2026
Technology
300
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.4k
Deno Tunnel を使ってみた話
kamekyame
0
560
Other Decks in Technology
See All in Technology
Alphaモジュール使っていいのかい!?いけないのかい!?どっちなんだいっ!?
watany
1
280
Network Firewallやっていき!
news_it_enj
0
170
しくみを学んで使いこなそう GitHub Copilot app
torumakabe
2
290
ゴールデンパスは敷いただけでは道にならない ─ 企画部門のエンジニアが技術標準を事業価値に変えるまで
mhrtech
1
220
Compose 新機能総まとめ / What's New in Jetpack Compose
yanzm
0
320
ソニー銀行におけるビジネスアジリティ向上のためのクラウドシフト戦略
srenext
0
800
Genie Ontologyは銀の弾丸かを考える / Is Genie Ontology a Silver Bullet?
nttcom
0
400
DatabricksにおけるMCPソリューション
taka_aki
1
280
最適な自走を最小限の支援で — M&Aで拡大する組織で少人数SREが挑んだ1年 / SRE NEXT 2026
genda
0
1.5k
アップデートで何が変わった?デモで学んで使いこなすIBM Bob2.0
muehara
0
130
公式ドキュメントの歩き方etc
coco_se
1
120
カードゲーム作りが教えてくれた プロダクトオーナーシップ
moritamasami
0
110
Featured
See All Featured
Mind Mapping
helmedeiros
PRO
1
280
Thoughts on Productivity
jonyablonski
76
5.2k
Claude Code のすすめ
schroneko
67
230k
Design in an AI World
tapps
1
260
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1k
Paper Plane
katiecoart
PRO
2
52k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
ラッコキーワード サービス紹介資料
rakko
1
3.9M
Amusing Abliteration
ianozsvald
1
230
Odyssey Design
rkendrick25
PRO
2
730
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
For a Future-Friendly Web
brad_frost
183
10k
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