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
Masafumi Okura
December 06, 2025
Programming
1
360
Developing static sites with Ruby
https://regional.rubykaigi.org/hokuriku01/
Masafumi Okura
December 06, 2025
Tweet
Share
More Decks by Masafumi Okura
See All by Masafumi Okura
Why doesn't Ruby have Boolean class - final version
okuramasafumi
0
360
Reading Rails 1.0 Source Code
okuramasafumi
0
330
RDoc meets YARD
okuramasafumi
4
200
Why doesn't Ruby have Boolean class?
okuramasafumi
0
40
My KaigiEffect at RubyKaigi 2025, part 1
okuramasafumi
1
89
Writing documentation can be fun with plugin system
okuramasafumi
0
240
Alba: Why, How and What's So Interesting
okuramasafumi
0
470
Why did my proposals get rejected?
okuramasafumi
1
820
A suggestion for the future of RDoc
okuramasafumi
1
560
Other Decks in Programming
See All in Programming
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
110
[AtCoder Conference 2025] LLMを使った業務AHCの上⼿な解き⽅
terryu16
6
1.1k
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
2.5k
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
940
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.6k
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
380
PC-6001でPSG曲を鳴らすまでを全部NetBSD上の Makefile に押し込んでみた / osc2025hiroshima
tsutsui
0
210
Combinatorial Interview Problems with Backtracking Solutions - From Imperative Procedural Programming to Declarative Functional Programming - Part 2
philipschwarz
PRO
0
150
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
11
5.6k
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
360
余白を設計しフロントエンド開発を 加速させる
tsukuha
6
1.8k
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
290
Featured
See All Featured
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
430
Mobile First: as difficult as doing things right
swwweet
225
10k
A better future with KSS
kneath
240
18k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
2.9k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
The Cult of Friendly URLs
andyhume
79
6.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Building Adaptive Systems
keathley
44
2.9k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
150
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
290
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࠷ద