<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>情報工学とその周辺 &#187; Web</title>
	<atom:link href="http://eisukeito.com/blog/?cat=8&#038;feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://eisukeito.com/blog</link>
	<description>Connecting dots.</description>
	<lastBuildDate>Sat, 28 Dec 2013 13:56:12 +0000</lastBuildDate>
	<language>ja</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=3.8.41</generator>
	<item>
		<title>静的サイトアセンブラ Middlemanを試してみよう (1)</title>
		<link>http://eisukeito.com/blog/?p=315</link>
		<comments>http://eisukeito.com/blog/?p=315#comments</comments>
		<pubDate>Fri, 27 Dec 2013 15:24:22 +0000</pubDate>
		<dc:creator><![CDATA[eisuke]]></dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://eisukeito.com/blog/?p=315</guid>
		<description><![CDATA[Middlemanとは 「モダンなウェブ開発環境と同じ道具やワークフローを使って静的サイトを構築するためのコマンドラインツール」 です。 RubyとウェブフレームワークであるSinatraがベースになっています。 いわゆ [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="http://eisukeito.com/blog/wp-content/uploads/Screen-Shot-2013-12-28-at-12.01.35-AM.png"><img class="alignnone size-medium wp-image-316" alt="Middleman Logo" src="http://eisukeito.com/blog/wp-content/uploads/Screen-Shot-2013-12-28-at-12.01.35-AM-300x153.png" width="300" height="153" /></a></p>
<p><strong><a href="http://middlemanapp.com" title="Middleman" target="_blank">Middleman</a></strong>とは<br />
<span style="line-height: 1.714285714; font-size: 1rem;">「モダンなウェブ開発環境と同じ道具やワークフローを使って静的サイトを構築するためのコマンドラインツール」<br />
</span><span style="line-height: 1.714285714; font-size: 1rem;">です。</span></p>
<p>RubyとウェブフレームワークであるSinatraがベースになっています。<br />
いわゆる静的サイトのジェネレータであり、「<strong>サイトアセンブラ</strong>」ともよばれます。</p>
<p>ランディングページや告知ページなど静的なサイト作成の際に、テンプレートエンジンやCSSプリプロセッサを利用して開発することができます。</p>
<p>CSS &#8212; <a href="http://sass-lang.com" title="Sass" target="_blank">Sass</a> / <a href="http://compass-style.org" title="Compass" target="_blank">Compass</a><br />
Javascript &#8212; <a href="http://coffeescript.org" title="Cofeescript" target="_blank">Coffeescript</a></p>
<p>MiddlemanはRackアプリケーションであり、Ruby製のWebアプリケーションフレームワークであるRuby on Railsとの相性も良いことから、最近では普通に使われるようになりました。</p>
<h2>＃インストール</h2>
<p>Rubyとパッケージ管理システムであるRubyGems(gemコマンド)がインストールされている必要があります。</p>
<p>Mac OS Xでの開発にはCommand Line Toolsのインストールが必要です。(最新版のXcodeからインストールできます)</p>
<p>Middlemanのインストールは、</p>
<p>$ gem install middleman</p>
<p>とコマンドラインに打つだけです。これでmiddlemanコマンドが使用できるようになりました。</p>
<p>$ middleman version<br />
middleman 3.2.1</p>
<p>なお、この記事を書いた時点でのMiddlemanのバージョンは3.2.1となっています。</p>
<h2>＃基本コマンド</h2>
<p>とりあえず、以下の3つのコマンドを覚えておきましょう。</p>
<ul>
<li>middleman init</li>
<li>middleman server</li>
<li>middleman build</li>
</ul>
<h2>＃新しいプロジェクトの作成: middleman init</h2>
<p>$ middleman init &lt;プロジェクト名&gt;</p>
<p>とコマンドを打つと、プロジェクト名のフォルダの中にWebサイトのひな型が生成され、Middlemanが必要とするライブラリがBundlerで自動的にインストールされます。<br />
(プロジェクト名のフォルダがない場合は自動的にフォルダが作成されます。)</p>
<p>treeコマンドで確認すると、以下のようにファイルが生成されます。(middleman init testsiteとした場合)</p>
<p>$ tree</p>
<p></p><pre class="crayon-plain-tag">.
└── testsite
    ├── Gemfile
    ├── Gemfile.lock
    ├── config.rb
    └── source
        ├── images
        │   ├── background.png
        │   └── middleman.png
        ├── index.html.erb
        ├── javascripts
        │   └── all.js
        ├── layouts
        │   └── layout.erb
        └── stylesheets
            ├── all.css
            └── normalize.css</pre><p> </p>
<h2>＃サーバの起動: middleman server</h2>
<p>$ cd &lt;プロジェクト名&gt;</p>
<p>で作成されたプロジェクトフォルダに入ります。</p>
<p>$ bundle exec middleman server</p>
<p>でサーバーが起動します。</p>
<p>(MiddlemanがプロジェクトのなかのgemはBundlerで管理するようにしてくれるので、bundle execつきで実行します。)</p>
<p>Webサーバーが起動し、<a href="http://localhost:4567/" title="http://localhost:4567/" target="_blank">http://localhost:4567/</a>にアクセスすると、以下のように初期ページが表示されます。</p>
<p><a href="http://eisukeito.com/blog/wp-content/uploads/Screen-Shot-2013-12-28-at-12.39.17-AM.png"><img src="http://eisukeito.com/blog/wp-content/uploads/Screen-Shot-2013-12-28-at-12.39.17-AM-300x223.png" alt="Middleman Initial Page" width="300" height="223" class="alignnone size-medium wp-image-324" /></a></p>
<p>先ほど生成したひな型のファイルをMiddlemanサーバーに要求し、ブラウザで表示することができました。<br />
以降は、ひな型のファイルを編集することでカスタマイズしていきます。</p>
<p>Webサーバーを停めるには、コマンドラインでCTRL-C(コントロールキーとCの同時押し)をします。</p>
<h2>＃ウェブサイトの出力: middleman build</h2>
<p>編集が終わったら、最後にプロジェクトをビルドします。</p>
<p>$ bundle exec middleman build</p>
<p>とコマンドを打つと、</p>
<p>      create  build/images/background.png<br />
      create  build/images/middleman.png<br />
      create  build/javascripts/all.js<br />
      create  build/stylesheets/normalize.css<br />
      create  build/stylesheets/all.css<br />
      create  build/index.html</p>
<p>と言った感じで、buildディレクトリに各種ファイルが生成されます。</p>
<p>ブラウザでindex.htmlを開くと確認できます。</p>
<p>これらbuildディレクトリ以下のファイルとフォルダをサーバーにアップロードすればOKです。</p>
<p>(リンクされるcssとjsファイルの相対パスが標準では有効になっていないので、ビルドする前にconfig.rbのなかのactivate :relative_assetsのコメントアウトを解除し有効にすると、相対パスが設定され、これらのファイルが正しく読み込まれるようになります。)</p>
]]></content:encoded>
			<wfw:commentRss>http://eisukeito.com/blog/?feed=rss2&#038;p=315</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
