かたつむりくんのWWW

MTCafe Tokyo 2013 でお話しさせていただきます!

4月20日に「MTCafe Tokyo 2013 Spring」が開催されます。

MTCafe というのは、MTユーザーのゆるいオフ会です。これまでもリラックスした雰囲気で何度か開催されてきましたが、今回は少し違って勉強会形式で2つのお部屋に分かれて開催されます。

内容は次の通りで、恐れ多くも僕も1セッションお話させていただくことになりました。

続きを読む

Custom Field GUI Utility 3.3.0 リリース

WordPress のカスタムフィールドを使いやすくするプラグイン「Custom Field GUI Utility 3.3.0」をリリースしました。

今回のアップデートは「カスタムフィールドを扱いやすくするWordPressプラグイン「Custom Field GUI Utility」をアップデートしました!WordPress3.5に対応&管理画面での編集が可能に! | WebCake」にあるように、全部 Tsuyoshi さんがやってくださいました。Tsuyoshiくん、ありがとうー!!

Custom Field GUI Utility 3.3.0 で新しくなった部分は上記 Tsuyoshi さんの記事をご覧ください。丸投げですみません(>_<)

最新版は以下のページから zip ファイルをダウンロードしてください。

ダウンロードして解凍したら、フォルダ名を「custom-field-gui-utility」に変更した後、サーバーにアップロードしてお使いください。

なお、当プラグインのドキュメントも少し古くなってきました。ドキュメントも GitHub の README に移そうと思います。

    MTML Completions(MTタグを補完する Sublime Text 2 用パッケージ)でタグの書式が変更可能になりました

    先日公開したMTML Completions」と「PowerMTML Completions」で、テンプレートタグの入力フォーマットを変更できるようになりました。

    <mt:EntryTItle /> や <$mt:EntryTitle$>、<MTEntryTitle />、<$MTEntryTitle$>、<MT:EntryTitle> などお好きなフォーマットで補完することができます。

    続きを読む

    Movable Type と PowerCMS のテンプレートタグを補完する Sublime Text 2 のパッケージを公開しました

    Movable Type と PowerCMS のテンプレートタグの入力補完を提供する Sublime Text 2 用のパッケージ、「MTML Completions」と「PowerMTML Completions」公開しました。

    今年1月から linker の mersy くんと始めた bit part の成果物第一弾といったところです(2013年からbit partという取り組みを始めることにしました|linker journal)。

    続きを読む

    続:さくらのクラウドの2台構成とさくらのVPSのSSD1台でMTの再構築時間を比べてみた(PSGI編)

    前回「さくらのクラウドの2台構成とさくらのVPSのSSD1台でMTの再構築時間を比べてみた」の続編です。前回の構成は、MT5.13、CGI でしたが、今回は MT5.2.2、PSGI(PSGI + Starman + Apache)にして比較してみました。

    前回同様、比較したのは次の二つの環境です。

    1. さくらのクラウドのプラン1(仮装1コア、メモリ2GB)を2台(WebサーバーとDBサーバー)で動かした MT
    2. さくらのVPS の SSD2G のプラン(仮想3コア、メモリ2GB、SSD)1台で動かした MT

    続きを読む

    さくらのクラウドの2台構成とさくらのVPSのSSD1台でMTの再構築時間を比べてみた

    さくらの VPS に SSD プランが登場したので、どれだけ速いのかと期待に胸を膨らませて Movable Type の再構築時間を比較してみました。

    比較したのは次の二つの環境です。

    1. さくらのクラウドのプラン1(仮装1コア、メモリ2GB)を2台(WebサーバーとDBサーバーとして)で動かした MT
    2. さくらの VPS の SSD2G のプラン(仮想3コア、メモリ2GB、SSD)1台で動かした MT

    これらのサーバーに、このブログのデータを入れて、すべてのブログ記事を再構築してみました。なお、どちらも普通に CGI で動いています。

    続きを読む

    あけましておめでとうございます!今年はもっとアウトプットも。

    あけましておめでとうございます。

    あっという間に 2012 年が過ぎ去っていた感じがします。去年も相変わらず Movable Type、特に PowerCMS にお世話になりまくりました。そして、今年も引き続き PowerCMS にはお世話になりたいと思っています。

    さて、去年は1年間に100本のブログ記事を書くという目標を立てましたが、結果は 53 本に終わりました・・・。今年こそは年間 100 本という目標を達成できるようにがんばりたいと思います。

    去年は、このブログで公開している Movable Type のプラグインの「MTAppjQuery」や、jQuery のプラグインの「flexibleSearch」は、わりと多くの方に使っていただいて頂いているのですが「ドキュメントが少ないぞ!」とのお叱りをよく受けます。申し訳ないです・・・。

    特に、MTAppjQuery については、公開されているドキュメントよりも機能が増えていたり、もう少し使いやすくなっていたり、誰も知らない機能があったり、という有様です。

    今年は、そういった情報ももっとアウトプットしていきたいと思っています。

    また、DynamicMTML を活かしたプラグインの開発や、去年はほとんど取り組まなかったスマホ系の何かについて、今年は少し力を入れていきたいと思います。

    そして、今年もやはり、PowerCMS を使っての作業がメインになればいいなと思います。そこは維持できるように、もっと自分の中型免許スキルを上げていきたいと思います。

    その他、WPプラグインの Custom Field GUI Utility も相変わらずお使いいただいていて感謝しております。こちらも半ばやっつけの更新ですが、もうちょっとこうしたら便利だよなーというのはあるので、時間があればカスタマイズしていきたいと思います。

    去年1年間でいろいろないろいろな事を経験しましたが、自分に足りないモノが色々と見えてきました。技術面でも、効率の面でも、人間的な面でも父親としても。今年はそれを課題とし、克服していきたいと思います。

    ということで、本年もよろしくお願い申し上げます!

    Update Me, Everyday!!

    データベースも静的ファイルも丸ごとバックアップする Perl スクリプト all-backup.pl

    この記事は、「Movable Type Advent Calendar 2012」の6日目の記事です。

    みなさま、今日で僕は 36 歳になりました。たくさんのお祝いの言葉をいただき、ありがとうございます。36 歳の 1 年も「Update me, everyday!!」をモットーに日々精進していきたいと思います。

    いやー、思い返せば 36 年間色々なことがありました。色々な、本当に色々な、、、あれ?思い出せない。。。思い出せないぞ、過去の記憶が〜〜〜!

    ええ、過去の記憶はとても大事です。なくさないようにバックアップしておきましょう。

    ということで、データベースも静的ファイルも丸ごとバックアップして、FTP で別のサーバーに転送までしてくれる「 all-backup.pl 」という Perl スクリプトを書きました。

    続きを読む

    Sublime Text 2 用 Movable Type テンプレートタグのスニペット集

    今夜の Coda2 + Sublime Text 2 特集の「CPI x CSS Nite「After Dark」(5)」に参加するということもあるので、自分で使っている Sublime Text 2 用の MT タグの補完ファイル(スニペット)を公開します。多分、MT5.2 までの全部の MT タグが入っていると思います。

    ファイルを展開して、Sublime Text 2 の Packages のディレクトリに突っ込めば良いかと思います。

    インストールしたら「mt」と打って「ctrl + space」で補完リストが表示されます。素敵!(SublimeCodeIntel 使っても自動では表示されませんでした。なんでだろう?)。

    もう少し自分好みにカスタマイズしたら、まじめに公開しようと思いますw

    さくらのクラウドのサーバーを変えてみた

    このブログは、さくらのクラウドを利用しているのですが、先ほど、色々トラブルのあった旧ストレージから新ストレージに変更してみました。この記事は、新サーバーのIPアドレスを打って書いているので、この記事が見えるということは新サーバーということになります。

    旧ストレージから新ストレージに変更する際に、Webサーバーの方はメモリを3Gから2Gに落としたので、少しだけスペックダウンです。それ以外はほぼ同じ構成とし、その状態で全ブログ記事を再構築(Movable Type)したところ、旧ストレージのときよりも再構築時間が 5 分短くなっていました。

    11月から、新規受付も再開したさくらのクラウド。これから巻き返しに期待したいですね。

    Movable Type でカスタムフィールド foo の値が bar なブログ記事のカテゴリを hoge に一括で変更したい

    なんかクイズのようなタイトルですね…

    例えば、basename が「birthday_year」(誕生日の年)のカスタムフィールドの値が、1810年代に該当するブログ記事が属するカテゴリのうち、カテゴリIDが120のカテゴリを、一括でカテゴリIDが121のカテゴリに変更したいとき、以下の SQL を実行すれば OK です(妙に具体的w)。

    UPDATE `mt_placement`
    INNER JOIN `mt_entry_meta`
    ON `mt_placement`.`placement_entry_id` = `mt_entry_meta`.`entry_meta_entry_id`
    SET `mt_placement`.`placement_category_id` = 121
    WHERE `mt_placement`.`placement_category_id` = 120
    AND `mt_entry_meta`.`entry_meta_type` LIKE 'field.birthday_year'
    AND `mt_entry_meta`.`entry_meta_vchar_idx` REGEXP '^181.*';

    直接データベースをいじるので、バックアップは忘れずに!ご利用は自己責任で。

    Movable Type で出力するテンプレートから空行を削除したい

    Movable Type で出力されるページって、どうしても空行がいっぱいになっちゃいますよね。でも、空行を少なくするようにテンプレートを組むっていうのは、テンプレートも読みにくくなるし、無駄な労力になってしまいます。

    そんなときは、以下のようなタグで、空行を削除したい場所を挟んであげればOKです。

    <mt:Unless name="compress" regex_replace="/^\s*\n/gm","">

    </mt:Unless>

    ここでは compress という変数名にしていますが、これは存在しない変数名であれば何でもOKです。僕は分かりやすく(かっこつけて)compress ってすることが多いです。

    Movable Type のカテゴリ一覧で、カテゴリをまとめて削除したい

    Movable Type のカテゴリ一覧で、カテゴリをまとめて削除したいときってありません?

    僕はありました、今。で、いちいちクリックするのは面倒なので、JavaScript コンソールで以下の jQuery を実行すれば OK。確認のダイアログが表示されるので安心です。

    jQuery('#root span.delete').each(function(){
    jQuery(this).click();
    });

    確認が不要な場合は、以下で OK です。

    jQuery('#root div.sortable-item:visible').remove();
    jQuery('#actions-bar-top button.save').click();

    ご利用は自己責任で。

    Mac OS X Mountain Lion + VMware Fusion 5 + CentOS 6.3 + Apache + mod_proxy + PSGI + Movable Type 5.2 のローカル環境を構築した

    タイトルのままですが、次のような組み合わせのローカル環境を構築しました。

    • Mac OS X Mountain Lion
    • VMware Fusion 5
    • CentOS 6.3
    • Apache
    • mod_proxy
    • PSGI
    • Movable Type 5.2

    この環境を構築したときの作業手順を、備忘録として残しておこうと思います。

    ※スクリーンショットは乗せるとページの表示が重くなりそうですし、無くても十分分かると思いますのでテキストリンクにしました。

    続きを読む

    Custom Field GUI Utility 3.2.7 リリース

    WordPress のカスタムフィールドを使いやすくするプラグイン「Custom Field GUI Utility 3.2.7」をリリースしました。

    get_attachment_object() を the_content() よりも前に書くと、the_content() で何も表示されなくなるバグを修正しました。

    なお、the_content() 意外でも同様の状態になる可能性がありますので、当プラグインをご使用中の方は、以下のページからダウンロードして、cfg-utility.php を差し替えて下さい。

    EC CUBE で作ったサイトの copyright の年数を自動で更新する

    Smarty を知っていれば簡単な話なんですが、自分はまったく分からないのでメモメモ・・・。

    EC CUBE で作ったページのフッターのコピーライト(著作権表示)の年数が更新されてなかったので、自動で更新されるようにしました。

    • data/Smarty/templates/default/footer.tpl

    このファイルの年数のところを、

    <!--{$smarty.now|date_format:"%Y"}-->

    とすればいいっぽい。

    カテゴリの階層の深さを出力する Movable Type プラグイン - CategoryDepth

    まーしーさんに言われたんで CategoryDepth というプラグインを作ってみました。

    カテゴリコンテキストでは <$mt:CategoryDepth$> タグを、ブログ記事コンテキストでは <$mt:EntryCategoryDepth$> を使います。

    ブログ記事がカテゴリに属していないときは空文字を返します。

    ごめんなさい、今はスタティックの方しか対応してないです。あとでダイナミックにも対応させます。

    【2012年9月6日午後2時33分追記】

    藤本さんがダイナミックにも対応させてくれたので取り込みました!

    【2012年9月6日午前12時05分追記】

    CategoryDepth という名前のプラグインはすでに2008年に「エムロジック放課後プロジェクト」で公開されていました。名前がかぶってしまってすいません!(>_<)

    以上です。

    MTDDC Tokyo 2012 に参加しました & LT しました

    2012年8月4日に開催された MTDDC Tokyo 2012 に参加しました。

    今回の MTDDC も色々と参考になることが多くて勉強になりました。さらに、今回は LT(Lightning Talk)が15組もいました。それぞれが5分に凝縮されたおもしろい内容で、こちらも勉強になりました。

    MTDDC の後のビアガーデンでの懇親会、さらにその後の2次会へも参加し、とても楽しい時間を過ごせました。みなさん、ありがとうございました。Six Apart の皆様、お疲れ様でした。

    関係者以外のみなさん、MT のコミュニティ、いいですよ−。

    さて、MTDDC で LT するのが趣味になりつつある僕ですが、今回ももれなくしゃべらせていただきました。

    スライドは大したこと書いてないですが一応アップしておきます。

    そして、肝心の mt-plug.in.cgi は Github に上げておきました。ざっとですが、README ファイルに説明書いたし、設定を編集するところにもコメント入れておいたので、少しは使えるかと思います。

    こちらの CGI は、今後もう少し自分で使いやすいようにカスタマイズしていく予定です。

    さてさて、次の MTDDC はどこで開催されるのでしょうか。できれば地方の MTDDC にも参加してみたいと思います。

    ローカルでプラグインを開発してインストールとテストをするときはシンボリックリンクを使えば楽じゃん...

    今まで気がつかなかった…

    ローカル環境で Movable Type のプラグインを開発するとき、Dropbox にフォルダ作って開発し、テストするときにいちいち MAMP 内の MT にファイルをコピペしてやってました。更新する度に毎回…。

    で、ふとさっき思いついたんだけど、ファイルをコピペしないで MT のフォルダ内にシンボリックリンクを作っちゃえば楽じゃん。

    ln -s  /Users/tinybeans/Dropbox/plugins/MTAppjQuery /Applications/MAMP/htdocs/mt/plugins

    これで更新する度にいちいちコピペしなくて良くなりました。感動!(何か弊害あるのかな?)

    MT タグの拡張を簡単にする Movable Type プラグイン - EasyMTML

    Movablet Type では、プラグインを作って自由に MT タグを拡張することができます。しかし、ちょっとした MT タグを追加するにしても、MT プラグインのお作法にのっとって、config.yaml を書き、決まったディレクトリ構造で色々なファイルを作り、と少々面倒です。

    そんな時は、アルファサードさんの Github で公開されている EasyMTML というプラグインを使うと、新規の MT タグの登録が少し便利になります。

     

    続きを読む