SlideShare a Scribd company logo
1 of 59
Download to read offline
Middleman Guides
& How to Learn
Tokyo Middleman Meetup #1
2013/11/22 @株式会社ジェニュインブルー
自己紹介
• てらじまゆうや / yterajima	

• フリーのプログラマ

(PHP, Ruby, JavaScript, C# etc)	


• 群馬県東吾妻町 在住 (元 三鷹市民)	

• guRuby, Gunma.web, agatsuma.survive
Middlemanと私
• Middleman Guides 日本語版	

• gems (RubyGems or On Github)	

• middleman-slim	

• middleman-pure	

• middleman-assets	

• [wip] middleman-bowest
利用シーン
• CSS, JS ライブラリのテスト	

• モック, プロトタイプの開発時	

• プロジェクト用ドキュメント	

• 静的サイト
話すこと
• 日本語版公開までの道のり	

• Middleman Guides を理解する	

• 知られざる機能を知る
日本語版公開までの
道のり
2011年秋
群馬にUターン
地方の案件といえば
• 予算が少ない	

• クライアントにITに強い人が少ない	

• 「安くできるんでしょ?」
安くできる

んでしょ?
作業量を減らす

•

HTMLをやめる


→ Slim
HTML
Slim
Slim (with iterator)
Slim (with iterator 2)
日本語README.md
https://github.com/yterajima/slim
作業量を減らす

•

CSSをやめる


→ Sass
CSS
Sass
+
Indent Style Markup
さて, ここで困った
毎回コマンド
$ slimrb -p target.slim > result.html
$ sass --watch sass:css
Slim + Sass で
最後にHTMLが刈り取
れるものが欲しい
公開からの

Milestone
日本語版ガイドを作る
都会の人たちが使い始める
イマココ!!

みんな使い始める
群馬でも使い始める
私の仕事が楽になる
Middleman Guides 	

を理解する
Middleman Guides 日本語版
http://middlemanjp.github.io/
Middlemanを3行で
• テンプレートコンパイラ
• Preview Server	

• Static Site Build	

• パーツ共有機能 (Layout, Partial)	

• その他便利機能 


(Asset Pipeline, Local Data, Frontmatter,

Helper, Directory Index etc)
Middleman Guides の特徴
• すべての項目を説明してはいない	

• 1/2 読めば問題なく使える	

• 日本語版は 2週間毎にUpdate	

• 記述がないことをするのは大変
必読
混乱しそうなもの
Middleman を始める前に
• テンプレートエンジン

• Haml, Jade, Slim, Markdown etc	

• Sass, Less etc	

• Syntax 対応のエディタ採用	


• YAML
• Bundler, Git (できれば)
テンプレートエンジン
Haml

http://fukuyama.co/haml2
Jade
Slim
Sass (+ Compass)
エディタ
• Vim	

• emacs	

• Sublime Text2	

• その他 Syntax 対応が充実したもの
YAML
Rubyist Magazine	

プログラマーのための YAML 入門 (初級編) 	

http://magazine.rubyist.net/?0009-YAML
Bundler
• Ruby の gem (ライブラリ) 管理ツール	

• プロジェクトごとに必要なライブラ
リを管理できる	


• $ bundle install --path vendor/bundle	

• $ bundle exec middleman server
Git (& Github)
• バージョン管理ツール	

• そろそろ使えて当たり前感	

• 複数人のプロジェクトでは必須
+ Middleman Guides
知られざる機能を知る
middleman-*
• 機能別に分割されている	

• middleman (依存関係定義)	

• middleman-core (基本機能)	

• middleman-livereload (livereload)	

• middleman-sprockets (Asset Pipeline)
基本設定
• middleman-core の中を探す	

• $ grep -r define_setting *

※ application.rb 内のdefine_setting 一覧
assets 用 gemを作る
• middleman-sprockets に Asset Pipeline
に関する処理がある	


• gem の中の特定のディレクトリを読
み込む	


• https://github.com/yterajima/middlemanassets

bower 連携
• config.rb で :bower_dir オプションを設定	

• Middlemanの中でbowerを使う ~>3.1.4 

http://www.e2esound.com/wp/2013/08/09/
bower_in_middleman_project_3-1-4/
CHANGELOG.md
feature を読む
• 自然言語で書かれたテスト
気をつけること
• 実現している/したい機能は 

Middleman 自体の機能なのか	


• ex. middleman-syntax 	

• ex. middleman-autoprefixer
Middleman は
• モダンな web 開発の	

• あらゆるショートカットや	

• ツールを採用した	

• 静的サイトジェネレータです。	

• ※機能追加可能
おわりに
おさらい
• 日本語版公開までの道のり	

• Middleman Guides を理解する	

• 知られざる機能を知る
帰ったらやること
目を通す
$ gem install middleman
$ middleman init PROJECT

More Related Content

What's hot

Sinatraの紹介
Sinatraの紹介Sinatraの紹介
Sinatraの紹介
longkey1
 

What's hot (20)

Rubyist started to learn Groovy - things important to leran new LL
Rubyist started to learn Groovy - things important to leran new LLRubyist started to learn Groovy - things important to leran new LL
Rubyist started to learn Groovy - things important to leran new LL
 
Walking front end
Walking front endWalking front end
Walking front end
 
How about travel while working?
How about travel while working?How about travel while working?
How about travel while working?
 
2016 02-09-co-edo lt
2016 02-09-co-edo lt2016 02-09-co-edo lt
2016 02-09-co-edo lt
 
RubyとRailsのおいしい使い方 ver. okayama1
RubyとRailsのおいしい使い方 ver. okayama1RubyとRailsのおいしい使い方 ver. okayama1
RubyとRailsのおいしい使い方 ver. okayama1
 
2015 07-04-ruby rails
2015 07-04-ruby rails2015 07-04-ruby rails
2015 07-04-ruby rails
 
2015 12-19-ruby rails
2015 12-19-ruby rails2015 12-19-ruby rails
2015 12-19-ruby rails
 
PHPer のための Ruby 教室
PHPer のための Ruby 教室PHPer のための Ruby 教室
PHPer のための Ruby 教室
 
エンジニアが Webを学ぶために やっててよかったこと
エンジニアが Webを学ぶために やっててよかったことエンジニアが Webを学ぶために やっててよかったこと
エンジニアが Webを学ぶために やっててよかったこと
 
時代はMiddleman
 時代はMiddleman 時代はMiddleman
時代はMiddleman
 
初めての公開Gem作り
初めての公開Gem作り初めての公開Gem作り
初めての公開Gem作り
 
神奈川Ruby会議の会場係 だけが知る密かな危機の話
神奈川Ruby会議の会場係だけが知る密かな危機の話神奈川Ruby会議の会場係だけが知る密かな危機の話
神奈川Ruby会議の会場係 だけが知る密かな危機の話
 
Sinatraの紹介
Sinatraの紹介Sinatraの紹介
Sinatraの紹介
 
RubyとRailsのおいしい使い方
RubyとRailsのおいしい使い方RubyとRailsのおいしい使い方
RubyとRailsのおいしい使い方
 
言語設計者が意味論を書くときに考えていたこと
言語設計者が意味論を書くときに考えていたこと言語設計者が意味論を書くときに考えていたこと
言語設計者が意味論を書くときに考えていたこと
 
Cogbot 勉強会 #7: ウチのショム ~ BSC Bot powered by Bot Framework
Cogbot 勉強会 #7: ウチのショム ~ BSC Bot powered by Bot FrameworkCogbot 勉強会 #7: ウチのショム ~ BSC Bot powered by Bot Framework
Cogbot 勉強会 #7: ウチのショム ~ BSC Bot powered by Bot Framework
 
コルーチンの実装について
コルーチンの実装についてコルーチンの実装について
コルーチンの実装について
 
MF GeeksNight pplogの話
MF GeeksNight pplogの話MF GeeksNight pplogの話
MF GeeksNight pplogの話
 
RubyMotionを1週間 触ってみた印象
RubyMotionを1週間 触ってみた印象RubyMotionを1週間 触ってみた印象
RubyMotionを1週間 触ってみた印象
 
Ruby programmer silverの取得に向けて
Ruby programmer silverの取得に向けてRuby programmer silverの取得に向けて
Ruby programmer silverの取得に向けて
 

Viewers also liked

Drawing project 2 july 2015
Drawing project 2 july 2015Drawing project 2 july 2015
Drawing project 2 july 2015
Ong Ke Qi
 
Questionnaire results
Questionnaire resultsQuestionnaire results
Questionnaire results
Ashley Riley
 
Placabase natalia
Placabase nataliaPlacabase natalia
Placabase natalia
NataliaMdeL
 
Презентация для Дилеров
Презентация для ДилеровПрезентация для Дилеров
Презентация для Дилеров
mrdoors
 
Disco duro yus
Disco duro yusDisco duro yus
Disco duro yus
alvaroy98
 
Resume_Finance
Resume_FinanceResume_Finance
Resume_Finance
Mei Yee Ng
 
Tar sessio 7
Tar  sessio 7Tar  sessio 7
Tar sessio 7
mtinoco1
 
Unitat 2 pràctica_1(yovan_campos)
Unitat 2 pràctica_1(yovan_campos)Unitat 2 pràctica_1(yovan_campos)
Unitat 2 pràctica_1(yovan_campos)
ericbalmes
 
Babysitting your orm essenmacher, adam
Babysitting your orm   essenmacher, adamBabysitting your orm   essenmacher, adam
Babysitting your orm essenmacher, adam
Adam Essenmacher
 

Viewers also liked (18)

Drawing project 2 july 2015
Drawing project 2 july 2015Drawing project 2 july 2015
Drawing project 2 july 2015
 
Never forsaken
Never forsakenNever forsaken
Never forsaken
 
Repeater in the CDMA network
Repeater in the CDMA networkRepeater in the CDMA network
Repeater in the CDMA network
 
ola k ase
ola k aseola k ase
ola k ase
 
Questionnaire results
Questionnaire resultsQuestionnaire results
Questionnaire results
 
Placabase natalia
Placabase nataliaPlacabase natalia
Placabase natalia
 
Презентация для Дилеров
Презентация для ДилеровПрезентация для Дилеров
Презентация для Дилеров
 
Einfach Nachrüsten mit Zenecs Navi Z-E3715 für Fiat Ducato
Einfach Nachrüsten mit Zenecs Navi Z-E3715 für Fiat Ducato Einfach Nachrüsten mit Zenecs Navi Z-E3715 für Fiat Ducato
Einfach Nachrüsten mit Zenecs Navi Z-E3715 für Fiat Ducato
 
Presentacion google calendar
Presentacion google calendarPresentacion google calendar
Presentacion google calendar
 
Disco duro yus
Disco duro yusDisco duro yus
Disco duro yus
 
Resume_Finance
Resume_FinanceResume_Finance
Resume_Finance
 
Smact medioflor-tendances-couleurs prnt2014
Smact medioflor-tendances-couleurs prnt2014Smact medioflor-tendances-couleurs prnt2014
Smact medioflor-tendances-couleurs prnt2014
 
Tar sessio 7
Tar  sessio 7Tar  sessio 7
Tar sessio 7
 
Evaluación Primer Parcial
Evaluación Primer ParcialEvaluación Primer Parcial
Evaluación Primer Parcial
 
Unitat 2 pràctica_1(yovan_campos)
Unitat 2 pràctica_1(yovan_campos)Unitat 2 pràctica_1(yovan_campos)
Unitat 2 pràctica_1(yovan_campos)
 
Babysitting your orm essenmacher, adam
Babysitting your orm   essenmacher, adamBabysitting your orm   essenmacher, adam
Babysitting your orm essenmacher, adam
 
Tecno
TecnoTecno
Tecno
 
Boletin navidad 013
Boletin navidad 013Boletin navidad 013
Boletin navidad 013
 

Similar to Middleman Guides & How to Learn

The History of Groovy #GroovyBase
The History of Groovy #GroovyBaseThe History of Groovy #GroovyBase
The History of Groovy #GroovyBase
kyon mm
 
Tokyurubykaigi05
Tokyurubykaigi05Tokyurubykaigi05
Tokyurubykaigi05
yamanekko
 
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevioクラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
smokey monkey
 
20130202 ドメイン駆動設計読書会at名古屋のお誘い
20130202 ドメイン駆動設計読書会at名古屋のお誘い20130202 ドメイン駆動設計読書会at名古屋のお誘い
20130202 ドメイン駆動設計読書会at名古屋のお誘い
Ryo RKTM
 

Similar to Middleman Guides & How to Learn (20)

Yapc2012ltthon
Yapc2012ltthonYapc2012ltthon
Yapc2012ltthon
 
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementationビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
 
Hiroshima Ruby Conference発表資料
Hiroshima Ruby Conference発表資料Hiroshima Ruby Conference発表資料
Hiroshima Ruby Conference発表資料
 
The History of Groovy #GroovyBase
The History of Groovy #GroovyBaseThe History of Groovy #GroovyBase
The History of Groovy #GroovyBase
 
mrubyで作るマイコンボード
mrubyで作るマイコンボードmrubyで作るマイコンボード
mrubyで作るマイコンボード
 
"はやく" 開発するための開発速度のあげかた
"はやく" 開発するための開発速度のあげかた"はやく" 開発するための開発速度のあげかた
"はやく" 開発するための開発速度のあげかた
 
Koi::Bana〜恋に落ちたエンジニア〜
Koi::Bana〜恋に落ちたエンジニア〜Koi::Bana〜恋に落ちたエンジニア〜
Koi::Bana〜恋に落ちたエンジニア〜
 
プログラミング同好会とすごい合同勉強会
プログラミング同好会とすごい合同勉強会プログラミング同好会とすごい合同勉強会
プログラミング同好会とすごい合同勉強会
 
Tokyurubykaigi05
Tokyurubykaigi05Tokyurubykaigi05
Tokyurubykaigi05
 
RubyとRのおいしい関係
RubyとRのおいしい関係RubyとRのおいしい関係
RubyとRのおいしい関係
 
mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec
mrubyボードを使って こんなことしてみました Kansai.mrb 2014 decmrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec
mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec
 
Aiming における scrum 20130118
Aiming における scrum 20130118Aiming における scrum 20130118
Aiming における scrum 20130118
 
jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」
jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」
jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」
 
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevioクラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
 
XamarinStudio勉強会 2014/09/08
XamarinStudio勉強会 2014/09/08XamarinStudio勉強会 2014/09/08
XamarinStudio勉強会 2014/09/08
 
Mrubyの始め方
Mrubyの始め方Mrubyの始め方
Mrubyの始め方
 
What's Drupal & Drupal as a Employee App Platform
What's Drupal & Drupal as a Employee App PlatformWhat's Drupal & Drupal as a Employee App Platform
What's Drupal & Drupal as a Employee App Platform
 
Hiroshima.rb on github
Hiroshima.rb on githubHiroshima.rb on github
Hiroshima.rb on github
 
How Would You Like Component Management System
How Would You Like Component Management SystemHow Would You Like Component Management System
How Would You Like Component Management System
 
20130202 ドメイン駆動設計読書会at名古屋のお誘い
20130202 ドメイン駆動設計読書会at名古屋のお誘い20130202 ドメイン駆動設計読書会at名古屋のお誘い
20130202 ドメイン駆動設計読書会at名古屋のお誘い
 

More from Yuya Matsushima (7)

tansuの紹介
tansuの紹介tansuの紹介
tansuの紹介
 
Niigatarb#3
Niigatarb#3Niigatarb#3
Niigatarb#3
 
群馬県民
群馬県民群馬県民
群馬県民
 
モダンすぎる静的サイトの作り方
モダンすぎる静的サイトの作り方モダンすぎる静的サイトの作り方
モダンすぎる静的サイトの作り方
 
はじめてのCodeIgniter
はじめてのCodeIgniterはじめてのCodeIgniter
はじめてのCodeIgniter
 
Word pressの可能性とplugin拡張
Word pressの可能性とplugin拡張Word pressの可能性とplugin拡張
Word pressの可能性とplugin拡張
 
Codeigniterでhello world!!
Codeigniterでhello world!!Codeigniterでhello world!!
Codeigniterでhello world!!
 

Recently uploaded

Recently uploaded (12)

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 

Middleman Guides & How to Learn