てっくめも

主に技術的なことをつらつらと

BitBarでMacのメニューバーにブログの更新情報を表示してみた

BitBarというツールを使って、Macのメニューバーに自社のブログの更新情報を表示してみたのでご紹介します。

いつだったかのRebuild.fmでBitBarというツールが紹介されていたので使ってみたところ、様々な情報をMacのメニューバーに表示できて便利でした。

このツールの良いところは、表示する内容は全てプラグインで実現されているため、非常に簡単にカスタマイズをすることができる点です。
プラグインはBitBarのオフィシャルサイトからダウンロードすることができますし、自分で作成して追加することも可能です。

今回、自社のブログの更新情報が表示されるようなプラグインPHPで実装してみました。

PHPでBitBarのプラグインを作成するにあたり、bitbar-phpというライブラリを使用しました。
また、Feedの解析にはrss-phpというライブラリを使用しました。

それぞれのサンプルプログラムを参考に以下のようなプログラムを作成しました。

#!/usr/local/bin/php

<?php

date_default_timezone_set('Asia/Tokyo');

require_once ".bitbar/vendor/autoload.php";
require_once '.bitbar/vendor/dg/rss-php/src/Feed.php';

use SteveEdson\BitBar;

$url = 'http://flame1980.hatenablog.com/feed/';
$atom = Feed::loadAtom($url);

if ($atom) {
    $bb = new BitBar();

    // output title
    $bb->newLine()
        ->setText($atom->channel->title)
        ->setColour("black")
        ->show();

    // output feeds
    foreach ($atom->channel->item as $row) {
        $title = date('Y-m-d H:i:s', strtotime($row->pubDate)) . ' : ' . $row->title;
        $bb->newLine()
            ->setText($title)
            ->setColour("black")
            ->setUrl($row->link)
            ->show(false);
    }
}

ファイル名を付けて保存しますが、ファイルの命名には以下の様な規則があるので注意が必要です。

[任意の名称].[更新時間].[拡張子]

今回は以下の名称で保存しました。

blog.10m.php

この場合、10分毎に情報が更新されます。

作成したファイルを所定のプラグインディレクトリに設置して、BitBarをリロードすれば自動で読み込んで動作してくれます。
とても簡単ですね!