初めての Middleman シリーズ初めてのMiddleman:設定について
前回の記事初めてのMiddleman:HTML/CSS/JS/画像をビルド時に圧縮するで各種ファイルの圧縮について覚えました。今回、Middlemanの設定について調べていきたいと思います。
何が設定できるのか
どんな設定が行えるか知るには$ middleman server
時にアクセスできるhttp://localhost:4567/__middleman/config/
を確認します。この専用のconfigページでは基本的な設定項目から拡張機能の設定までチェックすることができます。
ただし、拡張機能の項目はconfigure :build do
の中に定義していると$ middleman server
の際に実行されないため設定項目を確認できません。設定項目を確認したいときはビルド指定なしで記述します。
ビルドに関するディレクトリ設定
ソースやビルド先のディレクトリを変更することができます。
set :source, 'source'
set :build_dir, 'build'
set :layout_dir, 'layouts'
set :partials_dir, 'partials'
set :data_dir, 'data'
set :helpers_dir, 'helpers'
アセットに関するディレクトリ指定
アセットヘルパーを使う際に基準となるディレクトリを指定します。
set :css_dir, 'assets/css'
set :js_dir, 'assets/js'
set :fonts_dir, 'assets/fonts'
set :images_dir, 'assets/images'
Compassに関する設定
Sass/Compassに関する設定は今までの設定方法とは若干違います。細かい設定項目は公式ドキュメントのConfiguration Propertiesを参照。
compass_config do |config|
config.output_style = :compressed
config.line_comments = false
end
Sassに関する設定
Compassを使わない人はSass Optionsを指定することもできます。Sass Optionの設定項目は公式ドキュメントのOptionsを参考にしてください。
# sass option
configure :development do
set :sass, {
:style => :nested
}
set :sass_assets_paths, []
end
configure :build do
set :sass, {
:style => :compressed
}
set :sass_assets_paths, []
end
URLに関わる指定
詳しい挙動までは把握できていないけれど、URLや相対パス、index.htmlだったときにindex.htmlを省くかとかの指定ができるみたい。
set :http_prefix, '/'
set :relative_links, false
set :strip_index_file, true
set :trailing_slash, true
Live Reloadに関する指定
Live Reloadに関してもいくつか設定項目があります。
configure :development do
activate :livereload do |config|
config.apply_css_live = true
config.apply_js_live = true
config.host = '192.168.1.47'
config.no_swf = false
config.port = '35729'
end
end
その他
他にも細かな設定があります。
indexファイルの指定
set :index_file, 'index.html'
エンコーディング
set :encoding, 'utf-8'
コンパイル対象外ファイルの追加
config[:file_watcher_ignore] += [/^\.ruby-version/]
デフォルトレイアウトの指定
set :layout, 'layout'
Markdownのエンジンを指定する
set :markdown_engine, :kramdown
独自の設定項目を追加する
config.rb
に独自の設定項目を追加してソース内から参照することもできます。
set :site_name, 'Site Name'
set :site_title, 'Site Title'
set :site_subtitle, 'SIte SubTitle'
set :site_description, 'Site Description'
<h1 id="siteId" class="site-id">
<span class="site-name"><%= site_name %></span>
</h1>
以上、設定についてでした。
次回:初めてのMiddleman:静的サイトのキャッシュとasset_hash拡張を使ったキャッシュのパージ
シリーズ
- 初めてのMiddleman:rbenv, bundler 環境でMiddlemanを使ったHello World
- 初めてのMiddleman:レイアウト機能でレイアウトとコンテンツを分離する
- 初めてのMiddleman:パーシャルを使ったコンテンツのモジュール化
- 初めてのMiddleman:SCSSのコンパイルとテンプレートの基礎
- 初めてのMiddleman:Sass MixinライブラリのBourbon, Neatを導入してみる
- 初めてのMiddleman:データファイルとデータファイルを使った動的ページ生成
- 初めてのMiddleman:サイトにブログ機能を追加する
- 初めてのMiddleman:Amazon S3にビルドされたファイルを同期する
- 初めてのMiddleman:HTML/CSS/JS/画像をビルド時に圧縮する
- 初めてのMiddleman:設定について
- 初めてのMiddleman:静的サイトのキャッシュとasset_hash拡張を使ったキャッシュのパージ
- 初めてのMiddleman:Middleman::S3Syncで使うAWS IAMユーザーのアクセスキー管理方法について
- 初めてのMiddleman:Helperを使ってGravatarのアイコンを表示する
- 初めてのMiddleman:アセットパイプラインを使った外部アセットファイルの読み込みと結合
- 初めてのMiddleman:Bowerを使ってjQueryなどのライブラリをロードする
- 初めてのMiddleman:スケルトンを自作する方法
- 初めてのMiddleman:Middleman Blogの記事データを使いやすく管理する方法
- 初めてのMiddleman:Middleman-blogのシングルブログを前提としたSkeletonを作った
- 初めてのMiddleman:Middleman-blogでマルチブログを試してSkeletonを作った
- 初めてのMiddleman:Markdown EngineをkramdownからRedcarpetに切り替える
- 初めてのMiddleman:RedcarpetとMiddleman::Rougeを使ったシンタックスハイライト
- 初めてのMiddleman:Middleman-Syntaxを使ったシンタックスハイライト
- 初めてのMiddleman:Middleman-Blogで記事毎に画像を管理する方法
- 初めてのMiddleman:Gulpを使ってサムネイル画像を生成する
- 初めてのMiddleman:Middleman-OGPのOGP画像指定を相対パスで設定する
- 初めてのMiddleman:Middleman-OGPでMiddleman-BLogにOGPを設定する
- 初めてのMiddleman:Middleman-Titleでタイトルタグを手軽に設定する
- 初めてのMiddleman:多言語化 - 言語ファイルの作成とヘルパーの埋め込み
- 初めてのMiddleman:Middleman-blogにカテゴリやシリーズなどのカスタムコレクションを追加する方法
- 初めてのMiddleman:Bowerで管理されているフォントファイルをインポートする