アイキャッチ画像: デスクの上でパソコンを使用している

本日は「 Drupal での開発に便利なブックマークレット」という小ネタのご紹介ができればと思います。

まずは、ブックマークレットをご存じない方のためにブックマークレットについて手短にご説明をさせてください。 「ブックマークレット」( bookmarklet )とは、ブラウザのブックマークに登録できるタイプのプログラムのことです。 通常のブックマークと同様、ブックマークのタイトルと URL のペアを登録して利用する形になります。 プログラム(コード)の記述には(おそらく唯一) JavaScript が利用できます。

本当の本当に小ネタですので前置きはこれぐらいにして早速ブックマークレットのご紹介に入りたいと思います。

1. Drupal モジュールのダウンロードコマンドを出力するブックマークレット

まずはひとつめ。 こちらは Drupal.org のコントリビュートモジュールのページでダウンロード用の Drush コマンドを出力してくれるブックマークレットです。 実際の動作イメージを見ていただくのが早いかと思います。

モジュールページでブックマークレットを実行すると

プロンプトウィンドウにモジュールダウンロード用の Drush コマンドが出力されます。

コードはこちら。

javascript:(function (){

  /* 定数を定義 */
  var PROPER_URL = /^https?\:\/\/www\.drupal\.org/;
  var MODULE_PATTERN = /[^\/]+$/;

  /* 現在のページの URL を取得 */
  var url = document.URL;

  /* 現在のウェブサイトが Drupal.org 以外なら何もせずに終了 */
  if (!(PROPER_URL.test(url))) {
    return;
  }

  /* Drush のダウンロードコマンドをプロンプトで表示 */
  var module_name = MODULE_PATTERN.exec(url);
  var command = 'drush -y dl ' + module_name;
  window.prompt('drush command for installation', command);

})();

出てきたプロンプト文字列をコピーしてコマンドラインに貼り付ければすぐにモジュールがダウンロードできます。

私自身ふだんはコマンドを手打ちするのですが、キーボードをたくさん叩き過ぎてキーボード入力がつらくなったような日(笑)には、思い出したようにこのブックマークレットを使用します。

現在のページが Drupal.org のモジュールページかどうかの厳密なチェックはしていないため、そのあたりは使う側でのチェックが必要です。

2. 現在のページの Generator を確認するブックマークレット

ふたつめは、他のサイトを見ているときに「これ Drupal かな?」と思ったときに手軽に Generator をチェックするためのブックマークレットです。

javascript:(function (){

  /* Drupal 7 には jQuery が同梱されているので jQuery をそのまま使う  */
  if (typeof jQuery !== 'undefined') {
    alert(jQuery('meta[name="Generator"]').attr('content'));
  }

})();

Drupal 7 の場合 jQuery が原則有効化されているので jQuery の機能をダイレクトに使用しています。 jQuery がないサイトの場合には何も処理せずに終了するので、汎用の Generator チェック用ブックマークレットではありません。 その点は注意が必要です。

Drupal 7 を使っているサイトで上記のブックマークレットを使用すると、次のようなアラートが出てきて Drupal 7 (http://drupal.org) という文字列が表示されます。

こちらは他のブラウザの拡張機能でも実現できたりするので、ちょっとお遊び的なブックマークレットです。

以上です。 いかがだったでしょうか?

エディタのスニペットや Drush をはじめとして、 Drupal 開発やホームページ運用をサポートしてくれるツールがいろいろあります。 今後も良さそうなものをここでご紹介していければと思います。