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
Developing static sites with Ruby
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Masafumi Okura
December 06, 2025
Programming
430
1
Share
Developing static sites with Ruby
https://regional.rubykaigi.org/hokuriku01/
Masafumi Okura
December 06, 2025
More Decks by Masafumi Okura
See All by Masafumi Okura
Metaprogramming isn't real, it can't hurt you
okuramasafumi
0
150
Why doesn't Ruby have Boolean class - final version
okuramasafumi
0
400
Reading Rails 1.0 Source Code
okuramasafumi
0
370
RDoc meets YARD
okuramasafumi
4
250
Why doesn't Ruby have Boolean class?
okuramasafumi
0
53
My KaigiEffect at RubyKaigi 2025, part 1
okuramasafumi
1
110
Writing documentation can be fun with plugin system
okuramasafumi
0
270
Alba: Why, How and What's So Interesting
okuramasafumi
0
520
Why did my proposals get rejected?
okuramasafumi
1
920
Other Decks in Programming
See All in Programming
cloudnative conference 2026 flyle
azihsoyn
0
180
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
4
490
ついに来た!本格的なマルチクラウド時代の Google Cloud
maroon1st
0
440
Agent Skills を社内で育てる仕組み作り
jackchuka
1
2k
AWSはOSSをどのように 考えているのか?
akihisaikeda
0
120
開発とはなにか、Essenceカーネルで見えるもの
ukin0k0
0
170
「なんか〇〇ライブラリで脆弱性あるみたいなんだけど。。。」から始める脆弱性対応 / First Steps in Vulnerability Response
mackey0225
2
120
AI Agent と正しく分析するための環境作り
yoshyum
2
500
Import assertionsが消えた日~ECMAScriptの仕様はどう決まり、なぜ覆るのか~
bicstone
2
180
空間オーディオの活用
objectiveaudio
0
150
Structured Concurrency, Scoped Values and Joiners in the JDK 25 26 27
josepaumard
1
150
なぜあなたのコードには「コシ」がないのか?〜AI時代に問う、最後まで美味しい設計と戦略〜 #phpconkagawa / phpconkagawa2026
shogogg
0
210
Featured
See All Featured
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
800
Designing for humans not robots
tammielis
254
26k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
130
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
55k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
How to Talk to Developers About Accessibility
jct
2
200
Making Projects Easy
brettharned
120
6.6k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Statistics for Hackers
jakevdp
799
230k
Heart Work Chapter 1 - Part 1
lfama
PRO
7
35k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.4k
Transcript
RubyͰ࡞Δ੩తαΠτ Rubyձٞ01 OKURA Masafumi, 2025-12-06
self.introduce • ໊લɿ͓͓͘Β·͞;Έʢେխ࢙ʣ • ॴଐɿϑϦʔϥϯε • ׆ಈɿKaigi on RailsνʔϑΦʔΨφΠβʔɺOSSʢAlbaͳͲʣɺ֤छ ొஃɺϙουΩϟετʢOH!
MY RUBYISTSʣ
None
None
͓͠ͳ͕͖ 1. ੩తαΠτͱɺͳͥඞཁͳͷ͔ 2. RubyΤίγεςϜʹ͓͚Δ੩తαΠτδΣωϨʔλʔʢSSGʣͷൺ ֱ 3. ͳͥRubyͳͷ͔
1. ੩తαΠτͱɺ ͳͥඞཁͳͷ͔
੩తαΠτ
None
HTML CSS JavaScript
αʔόʔ͕ͳ͍ ຊདྷαʔόʔϨεͬͯͬͪ͜ʹ͏͖୯ޠͩͬͨΑͶ…
ੈେ ੩తαΠτ࣌ ʂʂʂʂʂ [ཁग़య]
Digital Garden
Digital GardenͱʁʢࢲͳΓͷཧղʣ • ݫີͳఆٛͳ͍Β͍͠ • ϓϨʔϯςΩετʢMarkdownؚΉʣΛΉ • SaaSΑΓϩʔΧϧΛΉ • ࣌ܥྻͷฒͼΛ·ͳ͍ʢϒϩάͱͷࠩҟʣ
• ΞϯνϏοάςοΫ
Digital GardenΛ ڞ༗͍ͨ͠ͱ͖ɺ
੩తαΠτʂ
੩తαΠτͰेͦ͏ͳͷͨͪ • ݸਓαΠτʢϦϯΫूͱͪΐͬͱͨ͠ίϯςϯπʣ • https://okuramasafumi.com • ΠϕϯταΠτʢΧϯϑΝϨϯεͳͲʣ • https://kaigionrails.org/2025 •
اۀαΠτʢখنͳͷʣ
੩తαΠτʂʂ
…ͦͦɺ
ຊʹͦΕඞཁʁ • ΄͍͠ͷͪΐͬͱͨ͠σʔλͰखॻ͖ͷYAMLͰेͰʁ • σʔλϕʔε͍Δʁཧ͢Δʁ • ಈతͳϩδοΫຊʹඞཁʁ੬ऑੑରԠͰ͖Δʁ • Ϗϧυ࣌ʹશ෦ܾΊΒΕͨΒɺ͋ͱGitHub PagesͰແྉɻ
• SPAͰ͋Δඞཁ͋Δʁ • ͳ͍ɺੈͷதSPA͕աద༻͞Εͯ͠·͍ͬͯΔ͠ΈΜͳ֮ࣗͯ͠ͳ͍
ຊʹඞཁͳͷ • ϨΠΞτ • HTMLʹมͰ͖ΔͷʢMarkdownLiquidͳͲʣ • ͪΐͬͱͨ͠ϩδοΫ • ͋Δσʔλιʔε͔ΒෳϖʔδΛੜ͢ΔͳͲ •
গ͠ͷJavaScript • Ϗϧυπʔϧ
੩తαΠτʂʂʂ
2.RubyΤίγεςϜ ʹ͓͚Δ੩తαΠτ δΣωϨʔλʔͷൺֱ
੩తαΠτ δΣωϨʔλʔ
Static Site Generator
͓͓͘Β͕ͬͨ͜ͱͷ͋ΔSSG • Jekyll • Middleman • Nanoc • Bridgetown
Jekyll • ݹࢀʢ2008ʣͷSSGɺGitHub PagesͷσϑΥϧτ • μϯϩʔυ͕ಥग़ʢ3000ສʣɺϓϥάΠϯඇৗʹ๛ • ϒϩάͱͷ૬ੑ͕ྑ͍Β͍͠ • 2025࣌Ͱϝϯςφϯεܧଓத
• εϖϧ͕֮͑ΒΕͳ͍
middleman • ݹࢀʢJekyllͱ΄΅ಉ࣌ظʣͷSSG • RailsʹدͤͨAPIʢlink_toͳͲʣ͕ಛ • μϯϩʔυ600ສɺϓϥάΠϯͷଟ͘ͳ͍ • Kaigi on
RailsͷαΠτߏஙʹར༻ʢʙ2023ʣ • 2025࣌Ͱϝϯςφϯεܧଓத
Nanoc • ࣮࠷ݹࢀͷSSGʢ2007ʹόʔδϣϯ1ʣ • μϯϩʔυ͕গͳ͘ʢ100ສʣɺར༻ྫগͳ͍ • ґଘ͕ؔগͳ͘ɺػೳతʹܰྔͰγϯϓϧ • ͓͓͘ΒͷݸਓαΠτ͜ΕͰߏங͞Ε͍ͯΔ •
2025࣌Ͱϝϯςφϯεܧଓத
Bridgetown • 2020ʹొͨ͠ظͷ৽ɺSSG݉ϑϧελοΫϑϨʔϜϫʔΫΛ ᨳ͏ • μϯϩʔυ30ສҎԼɺϓϥάΠϯগͳ͍ • RodaesbuildΛར༻͍ͯ͠Δͷ͕ಛత • Kaigi
on RailsͷαΠτߏஙʹར༻ʢ2024ʙʣ • 2025࣌Ͱϝϯςφϯεܧଓதʢόʔδϣϯ2͕ϦϦʔεʣ
తผྨ • ͱʹ͔ͬ͘͘͞ͱαΠτΛ࡞Γ͍ͨɺϖϥΠνʹ͍ۙ -> Nanoc • GitHub PagesͰ͍͍ͨ -> Jekyll
• Railsͷײ֮Ͱ։ൃ͍ͨ͠ -> Middleman • ৽͍͜͠ͱΛࢼ͍ͨ͠ -> Bridgetown
None
׆ൃͳ։ൃ ଟ༷ͳબࢶ
RubyͬΆ͍ʂ
3. ͳͥRubyͳͷ͔
ຊʹඞཁͳͷʢ࠶ܝʣ • ϨΠΞτ • HTMLʹมͰ͖ΔͷʢMarkdownLiquidͳͲʣ • ͪΐͬͱͨ͠ϩδοΫ • ͋Δσʔλιʔε͔ΒෳϖʔδΛੜ͢ΔͳͲ •
গ͠ͷJavaScript • Ϗϧυπʔϧ
ຊʹඞཁͳͷʢ࠶ܝʣ • ϨΠΞτ • HTMLʹมͰ͖ΔͷʢMarkdownLiquidͳͲʣ • ͪΐͬͱͨ͠ϩδοΫ • ͋Δσʔλιʔε͔ΒෳϖʔδΛੜ͢ΔͳͲ •
গ͠ͷJavaScript • Ϗϧυπʔϧ
ͪΐͬͱͨ͠ ϩδοΫ
…Λॻ͘ݴޠ
εΫϦϓτݴޠ
Ruby
None
None
Γ͍ͨΑ͏ʹ ΕΔʂ
ʮ͜ͷαΠτϏϧμɺ ͜ͷػೳ͕ͳ͍ͷ ͭΒ͍ͳ͋…ʯ
ʮͦΕɺSSGͳΒ Ͱ͖ΔΑʯ
ͱ͜ΖͰɿ ϗεςΟϯάʹ ͍ͭͯ
લఏ݅ • ϩʔΧϧͰϏϧυ͢ΔͱՌશʹ੩తʹͰ͖Δ • S3ʹஔ͘͜ͱ͢ΒͰ͖Δ • `git push`ͷΈͰϏϧυΛؚΊͨσϓϩΠΛ͍݁ͤͨ͞߹ɺϗε ςΟϯάαʔϏεଆʹRubyͷ࣮ߦڥ͕ඞཁ •
جຊతʹશ෦ແྉͰ͍͚Δͣ
͓͓͘Β͕ͬͨ͜ͱ͕͋Δͷʢશͯແྉʣ • GitHub Pages • మ൘ɺͨͩ͠एׯบ͕͋ΓɺͰ͖ͳ͍͜ͱଟ͍ • Netlify • ओʹSPAͷσϓϩΠʹΘΕΔҹ͕ͩ੩తαΠτʹे
• Cloud fl are Pages • CDN͕વࠐΈࠐΈɺҰ൪શ෦ೖΓʹ͍ۙҹ
׆ൃͳ։ൃ ଟ༷ͳબࢶ
RubyͬΆ͍ʂ
·ͱΊ
·ͱΊ • ඞཁͳͷ͚ͩͰࡁΉ੩తαΠτ͍͍ͧ • Rubyʹͨ͘͞ΜͷSSG͕͋Δ • αΠτߏஙʹ͓͚Δͪΐͬͱͨ͠ϩδοΫΛॻ͘ͷʹRuby࠷ద