middleman guides & how to learn

59
Middleman Guides & How to Learn Tokyo Middleman Meetup #1 2013/11/22 @株式会社ジェニュインブルー

Upload: yuya-terajima

Post on 18-Jun-2015

1.735 views

Category:

Technology


3 download

DESCRIPTION

Tokyo Middleman Meetup #1 発表資料

TRANSCRIPT

Page 1: Middleman Guides & How to Learn

Middleman Guides & How to LearnTokyo Middleman Meetup #1

2013/11/22 @株式会社ジェニュインブルー

Page 2: Middleman Guides & How to Learn

自己紹介• てらじまゆうや / yterajima

• フリーのプログラマ(PHP, Ruby, JavaScript, C# etc)

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

• guRuby, Gunma.web, agatsuma.survive

Page 3: Middleman Guides & How to Learn

Middlemanと私• Middleman Guides 日本語版

• gems (RubyGems or On Github)

• middleman-slim

• middleman-pure

• middleman-assets

• [wip] middleman-bowest

Page 4: Middleman Guides & How to Learn

利用シーン

• CSS, JS ライブラリのテスト

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

• プロジェクト用ドキュメント • 静的サイト

Page 5: Middleman Guides & How to Learn

話すこと

• 日本語版公開までの道のり • Middleman Guides を理解する

• 知られざる機能を知る

Page 6: Middleman Guides & How to Learn

日本語版公開までの 道のり

Page 7: Middleman Guides & How to Learn

2011年秋 群馬にUターン

Page 8: Middleman Guides & How to Learn
Page 9: Middleman Guides & How to Learn

地方の案件といえば

Page 10: Middleman Guides & How to Learn

• 予算が少ない

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

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

Page 11: Middleman Guides & How to Learn

安くできるんでしょ?

Page 12: Middleman Guides & How to Learn

作業量を減らす

•HTMLをやめる

→ Slim

Page 13: Middleman Guides & How to Learn

HTML

Page 14: Middleman Guides & How to Learn

Slim

Page 15: Middleman Guides & How to Learn

Slim (with iterator)

Page 16: Middleman Guides & How to Learn

Slim (with iterator 2)

Page 17: Middleman Guides & How to Learn

日本語README.mdhttps://github.com/yterajima/slim

Page 18: Middleman Guides & How to Learn

作業量を減らす

•CSSをやめる

→ Sass

Page 19: Middleman Guides & How to Learn

CSS

Page 20: Middleman Guides & How to Learn

Sass

Page 21: Middleman Guides & How to Learn

+Indent Style Markup

Page 22: Middleman Guides & How to Learn

さて, ここで困った

Page 23: Middleman Guides & How to Learn

毎回コマンド

$ slimrb -p target.slim > result.html

$ sass --watch sass:css

Page 24: Middleman Guides & How to Learn

Slim + Sass で 最後にHTMLが刈り取れるものが欲しい

Page 25: Middleman Guides & How to Learn
Page 26: Middleman Guides & How to Learn

公開からの Milestone

Page 27: Middleman Guides & How to Learn

日本語版ガイドを作る

群馬でも使い始める

みんな使い始める

都会の人たちが使い始めるイマココ!!

Page 28: Middleman Guides & How to Learn

私の仕事が楽になる

Page 29: Middleman Guides & How to Learn

Middleman Guides を理解する

Page 30: Middleman Guides & How to Learn

Middleman Guides 日本語版 http://middlemanjp.github.io/

Page 31: Middleman Guides & How to Learn

Middlemanを3行で• テンプレートコンパイラ

• Preview Server • Static Site Build

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

• その他便利機能 (Asset Pipeline, Local Data, Frontmatter, Helper, Directory Index etc)

Page 32: Middleman Guides & How to Learn

Middleman Guides の特徴

• すべての項目を説明してはいない • 1/2 読めば問題なく使える

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

• 記述がないことをするのは大変

Page 33: Middleman Guides & How to Learn

必読

Page 34: Middleman Guides & How to Learn

混乱しそうなもの

Page 35: Middleman Guides & How to Learn

Middleman を始める前に• テンプレートエンジン

• Haml, Jade, Slim, Markdown etc

• Sass, Less etc

• Syntax 対応のエディタ採用

• YAML

• Bundler, Git (できれば)

Page 36: Middleman Guides & How to Learn

テンプレートエンジン

Page 37: Middleman Guides & How to Learn

Haml http://fukuyama.co/haml2

Page 38: Middleman Guides & How to Learn

Jade

Page 39: Middleman Guides & How to Learn

Slim

Page 40: Middleman Guides & How to Learn

Sass (+ Compass)

Page 41: Middleman Guides & How to Learn

エディタ

• Vim

• emacs

• Sublime Text2

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

Page 42: Middleman Guides & How to Learn

YAML

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

http://magazine.rubyist.net/?0009-YAML

Page 43: Middleman Guides & How to Learn

Bundler

• Ruby の gem (ライブラリ) 管理ツール

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

• $ bundle install --path vendor/bundle

• $ bundle exec middleman server

Page 44: Middleman Guides & How to Learn

Git (& Github)

• バージョン管理ツール • そろそろ使えて当たり前感 • 複数人のプロジェクトでは必須

Page 45: Middleman Guides & How to Learn

+ Middleman Guides

Page 46: Middleman Guides & How to Learn

知られざる機能を知る

Page 47: Middleman Guides & How to Learn

middleman-*

• 機能別に分割されている • middleman (依存関係定義)

• middleman-core (基本機能)

• middleman-livereload (livereload)

• middleman-sprockets (Asset Pipeline)

Page 48: Middleman Guides & How to Learn

基本設定• middleman-core の中を探す

• $ grep -r define_setting *

※ application.rb 内のdefine_setting 一覧

Page 49: Middleman Guides & How to Learn

assets 用 gemを作る

• middleman-sprockets に Asset Pipeline に関する処理がある

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

• https://github.com/yterajima/middleman-assets

Page 50: Middleman Guides & How to Learn

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/

Page 51: Middleman Guides & How to Learn

CHANGELOG.md

Page 52: Middleman Guides & How to Learn

feature を読む• 自然言語で書かれたテスト

Page 53: Middleman Guides & How to Learn

気をつけること• 実現している/したい機能は

Middleman 自体の機能なのか

• ex. middleman-syntax

• ex. middleman-autoprefixer

Page 54: Middleman Guides & How to Learn

Middleman は• モダンな web 開発の

• あらゆるショートカットや • ツールを採用した • 静的サイトジェネレータです。 • ※機能追加可能

Page 55: Middleman Guides & How to Learn

おわりに

Page 56: Middleman Guides & How to Learn

おさらい

• 日本語版公開までの道のり • Middleman Guides を理解する

• 知られざる機能を知る

Page 57: Middleman Guides & How to Learn

帰ったらやること

Page 58: Middleman Guides & How to Learn

目を通す

Page 59: Middleman Guides & How to Learn

$ gem install middleman $ middleman init PROJECT