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
すずとも
June 03, 2026
Technology
200
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.2k
Deno Tunnel を使ってみた話
kamekyame
0
540
Other Decks in Technology
See All in Technology
Disciplined Vibes: Scaling AI-Assisted Engineering
sheharyar
0
140
Agent Skills設計で柔軟性と硬さのバランスが難しい話
nassy20
0
130
新しいUbuntu/GNOMEが使いたいからXからWaylandへ移行頑張ってるの巻 2026-06-20
nobutomurata
0
100
小さく始める AI 活用推進 ― 日経電子版 Web チームの事例/nikkei-tech-talk47
nikkei_engineer_recruiting
0
270
LLMにもCAP定理があるという話
harukasakihara
0
360
現地で盛り上がった WWDC26 Keynote
zozotech
PRO
1
250
MCP Appsを作ってみよう
iwamot
PRO
4
640
NAB Show 2026 動画技術関連レポート / NAB Show 2026 Report
cyberagentdevelopers
PRO
0
200
FinOps × AIエージェントで実現する コストインシデントの自動調査
oasis1994liveforever
0
140
Snowflakeと仲良くなる第一歩
coco_se
4
470
マルチアカウント環境での コーディングエージェントを使った障害調査が大変なので AIエージェントにReadOnly権限を付与してみた / ReadOnly AI Agents for Multi-Account AWS Incident Response
yamaguchitk333
2
100
なぜ Platform Engineering の土台に Kubernetes を選ぶのか
r4ynode
2
640
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
190
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
71
40k
It's Worth the Effort
3n
188
29k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
840
What's in a price? How to price your products and services
michaelherold
247
13k
Scaling GitHub
holman
464
140k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
160
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
280
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