build 時に robots.txt を生成する gem を作った(middleman-robots)

ある Middleman を採用している案件で, クローラを拒否したいが source ディレクトリ以下に robots.txt を置きたくない事情があるものがありました。

middleman-robots を使うと直接 robots.txt を用意せずとも config.rb に設定を書くことで自動で作成してくれます。

使い方

README に一応の使い方が書かれています。詳しい使い方が気になる方は feature を読んでいただいた方が使い方の理解は早いかもしれません。

今回の目的であった “クローラを拒否したい” を達成するためには, 次のように書くことで対応できます。

configure :build do
  activate :robots, :rules => [
    {'user-agent' => '*', :disallow => ['/']}
  ]
end

build 時に robots.txt を自動で生成します。内容は次のようになります。

User-Agent: *
Disallow: /

作りながら面倒だったこと

  • README.md に badge 貼る時, もっと一括で貼れないだろうか?
  • これ誰か使うんだろうか…
  • aruba 便利

作れなかったもの

middleman-remover という gem も作りたかったんですが, 思った以上に middleman-robots で手間取ったので, また時間ができたら作りたいと思います。尚, build ディレクトリからいらないファイルを削除するような gem です。