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
最近流行り?の Middleman でモダンな Web 開発
Search
2no
September 21, 2013
1.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
最近流行り?の Middleman でモダンな Web 開発
Middleman のインストール、プロジェクトの作成やローカル Web サーバを使った開発方法を簡単に説明します。
2no
September 21, 2013
More Decks by 2no
See All by 2no
FuelPHP 実践 Validation
2no
4
13k
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Google's AI Overviews - The New Search
badams
0
1.6k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
480
How to Think Like a Performance Engineer
csswizardry
28
2.8k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
480
The Language of Interfaces
destraynor
162
27k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
350
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
420
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
300
We Have a Design System, Now What?
morganepeng
55
8.3k
Transcript
࠷ۙྲྀߦΓʁͷ Middleman Ͱ Ϟμϯͳ Web ։ൃ 13/09/21 ୈ8ճ Creators MeetUp
139݄20༵ۚ
ࣗݾհ 139݄20༵ۚ
139݄20༵ۚ
• ೋٶ ಙ (χϊϛϠ ΧζϊϦ) 139݄20༵ۚ
• ೋٶ ಙ (χϊϛϠ ΧζϊϦ) • Twitter: @wakuworks 139݄20༵ۚ
• ೋٶ ಙ (χϊϛϠ ΧζϊϦ) • Twitter: @wakuworks • גࣜձࣾ
಼ 139݄20༵ۚ
• ೋٶ ಙ (χϊϛϠ ΧζϊϦ) • Twitter: @wakuworks • גࣜձࣾ
಼ • ීஈ PHP Λ͍ͬͯ͡·͢ɻ 139݄20༵ۚ
• ೋٶ ಙ (χϊϛϠ ΧζϊϦ) • Twitter: @wakuworks • גࣜձࣾ
಼ • ීஈ PHP Λ͍ͬͯ͡·͢ɻ ʢRuby ͬ͞ͺΓΘ͔Γ·ͤΜʣ 139݄20༵ۚ
1. Middleman ͱʁ 2. Πϯετʔϧ 3. ։ൃͷྲྀΕ 1. ϓϩδΣΫτͷ࡞ 2.
ϓϨϏϡʔαʔόͷىಈ 3. Ϗϧυ 4. ͓͞Β͍ 4. ͦͷଞ 5. ·ͱΊ ΞδΣϯμ 139݄20༵ۚ
1. Middleman ͱʁ 139݄20༵ۚ
1. Middleman ͱʁ Middleman Ϟμϯͳ web ։ൃڥͷͯ͢ͷ γϣʔτΧοτπʔϧΛ༻ͯ͠੩త web αΠ
τΛ࡞͢ΔͨΊͷίϚϯυϥΠϯπʔϧͰ͢ɻ Ҿ༻ɿhttp://middleman-guides.e2esound.com/getting-started/ l z ॴҦɺ੩తαΠτδΣωϨʔλͷҰͭͰ͢ɻ WEB ։ൃΛγϯϓϧͭߴʹͯ͘͠Ε·͢ɻ ࣅͨͰ Jekyll ͕༗໊Ͱ͢ɻ 139݄20༵ۚ
2. Πϯετʔϧ 139݄20༵ۚ
2. Πϯετʔϧ 139݄20༵ۚ
2. Πϯετʔϧ gem install middleman օ͞Μେ͖ʰࠇ͍ը໘ʱͰ ԼͷҰߦΛॻ͍ͯΤϯλʔԡ͚ͩ͢ʂ 139݄20༵ۚ
2. Πϯετʔϧ gem install middleman օ͞Μେ͖ʰࠇ͍ը໘ʱͰ ԼͷҰߦΛॻ͍ͯΤϯλʔԡ͚ͩ͢ʂ …جຊతʹɻ 139݄20༵ۚ
• Mac 2. Πϯετʔϧ gem install middleman Xcode Command Line
Tool ͕ඞཁͰ͢ɻ Xcode ܦ༝ͰΠϯετʔϧ͢Δ͔ɺσϕϩούϙʔλϧ͔Βύοέʔ δΛμϯϩʔυ͢Δඞཁ͕͋Γ·͢ɻ Xcode Command Line Tool ͷΠϯετʔϧ͕ྃͨ͠Βɺ ޙԼͷίϚϯυΛ࣮ߦͯ͠Πϯετʔϧ͠·͢ɻ 139݄20༵ۚ
2. Πϯετʔϧ • Ubuntu sudo apt-get ruby-dev nodejs g++ make
sudo gem install middleman nodejs ߹ΘͤͯೖΕ͓͔ͯͳ͍ͱɺ ޙड़͢ΔϓϨϏϡʔαʔόΛىಈ͢ΔࡍʹΤϥʔ͕ൃੜ͠·͢ɻ Ruby 1.8 ϢʔβͰ͋Εɺ߹Θͤͯ `ruby18_source_location` ͷΠϯετ ʔϧ͕ඞཁͰ͢ɻ sudo gem install ruby18_source_location 139݄20༵ۚ
2. Πϯετʔϧ • Windows ࠷ॳʹɺRuby, RubyGems ೖ͍ͬͯ·ͤΜɻ ͜ΕΒࣗͰΠϯετʔϧ͠ͳ͚ΕͳΓ·ͤΜɻ ▼Ruby, RubyGems
ͷΠϯετʔϥ http://rubyinstaller.org/downloads/ RubyInstallers ͷ߲ʹμϯϩʔ υϦϯΫ͕͋Γ·͢ɻ͖ͳόʔδ ϣϯͷΛམͱ͍ͯͩ͘͠͞ɻ ※ 1.8.7 Ҏ্Ͱ͋Εͳ͍ͱࢥ͍·͢ 139݄20༵ۚ
• Windows 2. Πϯετʔϧ ΠϯετʔϥΛىಈ͢ΔͱɺΟβʔυ͕։͖·͢ɻ༰ʹैͬͯਐΊͯ͘ ͍ͩ͞ɻ͜ΕͰ Ruby, RubyGems ͷΠϯετʔϧྃͰ͢ɻ ࣍ʹɺDEVELOPMENT
KIT ΠϯετʔϧͰ͢ɻ ઌ΄ͲͷμϯϩʔυϖʔδͷԼʹ DEVELOPMENT KIT ͷμϯϩʔυ ϦϯΫ͕͋Γ·͢ɻ 139݄20༵ۚ
• Windows 2. Πϯετʔϧ ӈਤͷͰғͬͨϑΝΠϧΛ μϯϩʔυ͍ͯͩ͘͠͞ɻ μϯϩʔυͨ͠ϑΝΠϧΛىಈ͢ΔͱɺͲ͜ʹల։͞ΕΔ͔ฉ͔Ε·͢ɻ దͳͱ͜ΖʹσΟϨΫτϦΛ࡞ͬͯల։͍ͯͩ͘͠͞ɻ 139݄20༵ۚ
2. Πϯετʔϧ • Windows ίϚϯυϓϩϯϓτɺ·ͨ PowerShell Λ։͖ɺઌ΄Ͳల։ͨ͠σΟϨΫ τϦʹҠಈͯ͠ɺԼͷίϚϯυΛ࣮ߦ͍ͯͩ͘͠͞ɻ ͕ͳ͚Εɺ͜ΕͰΠϯετʔϧྃͰ͢ɻ ruby
dk.rb init ruby dk.rb install gem update --system gem install wdm middleman 139݄20༵ۚ
3. ։ൃͷྲྀΕ 139݄20༵ۚ
3-1. ϓϩδΣΫτͷ࡞ 139݄20༵ۚ
3-1. ϓϩδΣΫτͷ࡞ 139݄20༵ۚ
3-1. ϓϩδΣΫτͷ࡞ middleman init [ϓϩδΣΫτ໊] ·ͨ·ͨօ͞Μେ͖ʰࠇ͍ը໘ʱͰ ԼͷҰߦΛॻ͍ͯΤϯλʔԡ͚ͩ͢ʂ 139݄20༵ۚ
3-1. ϓϩδΣΫτͷ࡞ ࣮ߦ͢Δͱɺ[ϓϩδΣΫτ໊] ʹࢦఆ໊ͨ͠લͷσΟϨΫτϦ͕৽ͨʹ࡞ ͞Ε·͢ɻ 139݄20༵ۚ
3-1. ϓϩδΣΫτͷ࡞ ࣮ߦ͢Δͱɺ[ϓϩδΣΫτ໊] ʹࢦఆ໊ͨ͠લͷσΟϨΫτϦ͕৽ͨʹ࡞ ͞Ε·͢ɻ ӈਤɺ`middleman init example` Ͱ࡞ͨ͠ϓϩδΣΫτ 139݄20༵ۚ
3-1. ϓϩδΣΫτͷ࡞ middleman init [ϓϩδΣΫτ໊] -T [ςϯϓϨʔτ໊] middleman init [ϓϩδΣΫτ໊]
--template=[ςϯϓϨʔτ໊] or ϓϩδΣΫτςϯϓϨʔτΛ͍ɺ༷ʑͳεέϧτϯΛ࡞Δࣄ͕ՄೳͰ͢ɻ 139݄20༵ۚ
3-1. ϓϩδΣΫτͷ࡞ • σϑΥϧτͰೖͬͯΔϓϩδΣΫτςϯϓϨʔτ • HTML5 Boilerplate • SMACSS •
Mobile Boilerplate • ίϛϡχςΟϓϩδΣΫτςϯϓϨʔτ IUUQEJSFDUPSZNJEEMFNBOBQQDPNUFNQMBUFTBMM • ಠࣗϓϩδΣΫτςϯϓϨʔτ ~/.middleman/ ʹߋʹσΟϨΫτϦΛ࡞ͬͯಠࣗͷϓϩδΣΫτς ϯϓϨʔτΛՃ͢ΔࣄՄೳͰ͢ɻ 139݄20༵ۚ
3-2. ϓϨϏϡʔαʔόͷىಈ 139݄20༵ۚ
3-2. ϓϨϏϡʔαʔόͷىಈ 139݄20༵ۚ
3-2. ϓϨϏϡʔαʔόͷىಈ middleman server ϓϩδΣΫτ͔Βɺʰࠇ͍ը໘ʱΛͬͯ ԼͷҰߦΛॻ͍ͯΤϯλʔԡ͚ͩ͢ʂ 139݄20༵ۚ
bundle exec middleman server 3-2. ϓϨϏϡʔαʔόͷىಈ middleman `server` লུ͢ΔࣄՄೳͰ͢ɻ ڥʹΑͬͯɺઌͷೋͭͷίϚϯυͰΤϥʔ͕ൃੜ͢Δ߹͕͋Γ·͢ɻ
ͦͷ߹ɺ`bundle exec` Λઌ಄ʹ͚࣮ͯߦ͍ͯͩ͘͠͞ɻ 139݄20༵ۚ
3-2. ϓϨϏϡʔαʔόͷىಈ 139݄20༵ۚ
3-2. ϓϨϏϡʔαʔόͷىಈ 139݄20༵ۚ
3-2. ϓϨϏϡʔαʔόͷىಈ 139݄20༵ۚ
3-2. ϓϨϏϡʔαʔόͷىಈ http://0.0.0.0:4567/ or http://localhost:4567/ 139݄20༵ۚ
3-2. ϓϨϏϡʔαʔόͷىಈ http://0.0.0.0:4567/ or http://localhost:4567/ 139݄20༵ۚ
3-2. ϓϨϏϡʔαʔόͷىಈ http://0.0.0.0:4567/ or http://localhost:4567/ 139݄20༵ۚ
3-2. ϓϨϏϡʔαʔόͷىಈ http://0.0.0.0:4567/ or http://localhost:4567/ 139݄20༵ۚ
3-3. Ϗϧυ 139݄20༵ۚ
3-1. ϓϩδΣΫτͷ࡞ 139݄20༵ۚ
3-1. ϓϩδΣΫτͷ࡞ middleman build ϓϩδΣΫτ͔Βɺʰࠇ͍ը໘ʱΛͬͯ ʢҎԼུʣ 139݄20༵ۚ
ڥʹΑͬͯɺઌ΄ͲͷίϚϯυͰΤϥʔ͕ൃੜ͢Δ߹͕͋Γ·͢ɻ ͦͷ߹ɺ`bundle exec` Λઌ಄ʹ͚࣮ͯߦ͍ͯͩ͘͠͞ɻ 3-3. Ϗϧυ bundle exec middleman build
Ϗϧυʹޭ͢Δͱɺ:build_dirʢσϑΥϧτ buildʣʹ੩తϑΝΠϧΛ ॻ͖ग़͠·͢ɻ 139݄20༵ۚ
3-4. ͓͞Β͍ 139݄20༵ۚ
3-4. ͓͞Β͍ middleman init my_project ϓϩδΣΫτΛ࡞ͬͯ 139݄20༵ۚ
3-4. ͓͞Β͍ middleman init my_project ϓϩδΣΫτΛ࡞ͬͯ cd my_project ࡞ͬͨϓϩδΣΫτʹҠಈͯ͠ 139݄20༵ۚ
3-4. ͓͞Β͍ middleman init my_project ϓϩδΣΫτΛ࡞ͬͯ cd my_project ࡞ͬͨϓϩδΣΫτʹҠಈͯ͠ middleman
server ϓϨϏϡʔαʔόΛىಈ͢Δ middleman build Ϗϧυ͢Δ or 139݄20༵ۚ
3-4. ͓͞Β͍ middleman init my_project ϓϩδΣΫτΛ࡞ͬͯ cd my_project ࡞ͬͨϓϩδΣΫτʹҠಈͯ͠ middleman
server ϓϨϏϡʔαʔόΛىಈ͢Δ middleman build Ϗϧυ͢Δ or ऴΘΓ 139݄20༵ۚ
4. ͦͷଞ 139݄20༵ۚ
4. ͦͷଞ ςϯϓϨʔτΤϯδϯɾϓϦϓϩηοα • ERb • Haml • Sass •
Slim • Erubis • Less CSS • Builder • Liquid • RDiscount • Redcarpet • BlueCloth • Kramdown • Maruku • RedCloth • RDoc • Radius • Markaby • Nokogiri • CoffeeScript • Creole (Wiki markup) • WikiCloth (Wiki markup) • Yajl • Stylus 139݄20༵ۚ
4. ͦͷଞ ֦ுػೳ • sprockets • frontmatter • cache_buster •
relative_assets • asset_host • minify_css • minify_javascript • gzip • assert_hash • directory_indexes • automatic_image_sizes • i18n • livereload ͳͲͳͲ… 139݄20༵ۚ
5. ·ͱΊ 139݄20༵ۚ
• ϓϩδΣΫτςϯϓϨʔτͰ࡞ۀ͕࢝Ίқ͍ • ϩʔΧϧ Web αʔό͕༻ҙ͞Ε͍ͯΔ • ςϯϓϨʔτΤϯδϯɺ ϓϦϓϩηοαʹରԠ •
LiveReload HTML, CSS, JS ͷ minifyɺ gzip ѹॖͱݴ֦ͬͨுػೳ͕͑Δ • ެࣜαΠτͷ༁͕͋Δʢॏཁʣ 5. ·ͱΊ 139݄20༵ۚ
5. ·ͱΊ ͱʹ͔͘؆୯ɻ આ໌͖͠Ε͍ͯͳ͍ػೳࢁɻ ڵຯ͕ग़ͨΒ༁αΠτΛݟ͍ͯͩ͘͞ɻ http://middleman-guides.e2esound.com/ ੩తαΠτδΣωϨʔλଞʹ͔ͳΓͷ͋Γ·͢ɻ ͍ൺͯࣗʹ߹ͬͨΛݟ͚ɺ໘ͳ࡞ۀΛָʹ͠· ͠ΐ͏ɻ 139݄20༵ۚ
Ҏ্ ͋Γ͕ͱ͏͍͟͝·ͨ͠ 139݄20༵ۚ