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
俺の勉強会:oss-contribution-graphで草駆動理論
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yuji Teshima
February 24, 2026
1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
俺の勉強会:oss-contribution-graphで草駆動理論
草駆動理論が誕生しました
Yuji Teshima
February 24, 2026
More Decks by Yuji Teshima
See All by Yuji Teshima
ActionCableの相手はブラウザだけじゃない — Railsでデバイス群をリアルタイム管制する
yujiteshima
0
18
名古屋Ruby会議05_LT.pdf
yujiteshima
2
260
rubykaigi2026LT_The Joy of Taking to Hardware in Ruby
yujiteshima
1
570
Nuxtで作ったBlogサイトを高速化しようと頑張った話
yujiteshima
0
1.3k
Featured
See All Featured
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
67k
Music & Morning Musume
bryan
48
7.4k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
New Earth Scene 8
popppiees
4
2.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
630
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
350
So, you think you're a good person
axbom
PRO
2
2.2k
How to Ace a Technical Interview
jacobian
280
24k
Transcript
草駆動OSS貢献のすすめ 草を生やせば、issue読み続けるんちゃう? Yuji Teshima @yujiteshima
OSSに貢献したい、でも … モチベーションが続かない issue読むの大事なのは分かってる。でもしんどい。 でも、草でモチベ維持できる時もあったよね あの緑のマスが埋まっていく快感 … しかし、どのOSSに貢献したか分からない。 ← 全部同じ緑。どこへの貢献か分からん…
oss-contribution-graph 複数OSSへの貢献を色分けして1つのグラフに表示 Rails Vue.js Kubernetes Other 1行貼るだけ GitHub Profile READMEにURLを追加するだけ
auto=true 貢献のある組織を自動検出。手動設定不要 プリセットカラー Rails, Vue, K8s, FastAPI… 主要OSSの色を内蔵
Xでシェアしたい → OGP対応が必要 SVG出力 現状の出力形式 ベクターで綺麗 OGP SVGは OGP画像に使えない PNG出力
SVG → PNG変換 の仕組みが必要 → SVG→PNG変換の仕組みを作ることに
PNG出力の裏側 — resvg-js 1 GitHub API 貢献データ取得 → 2 SVG生成
色分けされた草グラフ → 3 resvg-js SVG → PNGラスタラ イズ (Rustベースの高速レ ンダラー) → 4 フォント読込 テキストも描画 → 5 Vercel Serverless Functionで URLアクセスでPNG返 却 ローカルでは完璧に動いた。ここまでは順調。
Vercel にデプロイしたら文字が消えた ローカル: システムフォントにフォールバック → 表示される Vercel: システムフォントがない → テキスト消滅
💀 PR#15 process.cwd() PR#16 fontBuffers PR#17 Base64埋め込み PR#18 font-family属性 PR#19 fontBuffers追加 PR#20 fontFiles に変更 fontFiles + loadSystemFonts:false + vercel.json includeFiles + SVGのfont-family属性 → 全部揃って初めて動く 上手くいかなくて、ずっとトライアンドエラーして、 上手く行った時って最高
草駆動理論 草が可視 化 される 生やしたく なる issueを 読む 貢献する 草が生える
🔄 意志の力に頼るな、仕組みで回せ
草を生やして OSSに貢献しよう oss-contribution-graph で あなたの貢献を可視化 github.com/yujiteshima/oss-contribution-graph スターお願いします!
None