BLOG

DATE 2012.12.06

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

この記事は、「Movable Type Advent Calendar 2012」の6日目の記事です。 みなさま、今日で僕は 36 歳になりました。たくさんのお祝いの言葉をいただき、ありがとうございます。36 歳の 1 年も「Update me, everyday!!」をモットーに日々精進していきたいと思います。 いやー、思い返せば 36 年間色々なことがありました。色々な、本当に色々な、、、あれ...
DATE 2012.11.09

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

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

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

このブログは、さくらのクラウドを利用しているのですが、先ほど、色々トラブルのあった旧ストレージから新ストレージに変更してみました。この記事は、新サーバーのIPアドレスを打って書いているので、この記事が見えるということは新サーバーということになります。 旧ストレージから新ストレージに変更する際に、Webサーバーの方はメモリを3Gから2Gに落としたので、少しだけスペックダウンです。それ以外はほぼ同じ構...
DATE 2012.10.19

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

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

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

Movable Type で出力されるページって、どうしても空行がいっぱいになっちゃいますよね。でも、空行を少なくするようにテンプレートを組むっていうのは、テンプレートも読みにくくなるし、無駄な労力になってしまいます。 そんなときは、以下のようなタグで、空行を削除したい場所を挟んであげればOKです。 <mt:Unless name="compress" regex_replace="/^\s...
DATE 2012.10.17

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

Movable Type のカテゴリ一覧で、カテゴリをまとめて削除したいときってありません? 僕はありました、今。で、いちいちクリックするのは面倒なので、JavaScript コンソールで以下の jQuery を実行すれば OK。確認のダイアログが表示されるので安心です。 jQuery('#root span.delete').each(function(){ jQuery(this).clic...
DATE 2012.10.09

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 この環境を構築したときの作業手順を、備忘録として残しておこうと思います。 ※スクリーンショットは乗せるとページの表示が重くなりそうですし、無くても十...
DATE 2012.09.19

Custom Field GUI Utility 3.2.7 リリース

WordPress のカスタムフィールドを使いやすくするプラグイン「Custom Field GUI Utility 3.2.7」をリリースしました。 get_attachment_object() を the_content() よりも前に書くと、the_content() で何も表示されなくなるバグを修正しました。 なお、the_content() 意外でも同様の状態になる可能性がありますので...
DATE 2012.09.07

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

Smarty を知っていれば簡単な話なんですが、自分はまったく分からないのでメモメモ・・・。 EC CUBE で作ったページのフッターのコピーライト(著作権表示)の年数が更新されてなかったので、自動で更新されるようにしました。 data/Smarty/templates/default/footer.tpl このファイルの年数のところを、 <!--{$smarty.now|date_form...
DATE 2012.09.06

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

まーしーさんに言われたんで CategoryDepth というプラグインを作ってみました。 tinybeans/mt-plugin-CategoryDepth カテゴリコンテキストでは <$mt:CategoryDepth$> タグを、ブログ記事コンテキストでは <$mt:EntryCategoryDepth$> を使います。 ブログ記事がカテゴリに属していないときは空文字...
DATE 2012.08.06

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

2012年8月4日に開催された MTDDC Tokyo 2012 に参加しました。 今回の MTDDC も色々と参考になることが多くて勉強になりました。さらに、今回は LT(Lightning Talk)が15組もいました。それぞれが5分に凝縮されたおもしろい内容で、こちらも勉強になりました。 MTDDC の後のビアガーデンでの懇親会、さらにその後の2次会へも参加し、とても楽しい時間を過ごせました...
DATE 2012.07.30

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

ローカル環境で Movable Type のプラグインを開発するとき、いちいちファイルをコピペしないでシンボリックリンクを作ればいいじゃん。
DATE 2012.07.27

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

Movablet Type では、プラグインを作って自由に MT タグを拡張することができます。しかし、ちょっとした MT タグを追加するにしても、MT プラグインのお作法にのっとって、config.yaml を書き、決まったディレクトリ構造で色々なファイルを作り、と少々面倒です。 そんな時は、アルファサードさんの Github で公開されている EasyMTML というプラグインを使う...
DATE 2012.07.25

Path Finder で複数ファイルのファイル名を一括置換できることを知った

Path Finder の複数ファイルの一括置換機能をご紹介します。
DATE 2012.07.22

MT タグを MTML タグに変換する Coda 2 プラグイン - アップデート

先日「MT タグを MTML タグに変換する Coda 2 プラグイン」というのを公開してみましたが、あれから少し機能を追加したのでアップしておきます。 追加した機能は以下の通り。 加工処理 MT を mt: に変換(選択した文字列中の MT を mt: に変換) mt: を MT に変換(選択した文字列中の mt: を MT に変換) MT タグを除去(選択した文字列中にあるMTタグを除去) コ...
DATE 2012.07.13

Custom Field GUI Utility 3 の imagefield でアップロードした画像の各要素を取り出す方法

久しぶりに WordPress の記事です。ちょっと聞かれたので記事にしておきます。 Custom Field GUI Utility 3 で、imagefield でアップロードした画像の各要素(アップロード画面で入力できる要素)の取り出し方を紹介します。 なお、「imagefield・filefield の使い方(ver 3.1 以降)」を前提知識とさせていただきます。...
DATE 2012.07.11

ユーザーが自由に編集できる Movable Type のダッシュボードウィジェットを作ってみた

Movable Type の管理画面にログインしたときに最初に表示されるユーザーダッシュボード。そこに、ユーザーが自由に編集できるダッシュボードウィジェットを作ってみました。 ユーザーのタスクリストに、備忘録に、自分のエントリー一覧に、ご自由にお使いください!という感じです。...
DATE 2012.07.09

ちょっと知っておくといいかもしれないDynamicMTMLで実行するPHPのパス関係

例えば、DynamicMTML 適用ファイル内に書いてある PHP で file_get_contents() とかしようとしたときに、うまく取得できなくてハマったことありませんか?(無いか…) これって、自分が思っていたのと実行されている PHP でのパスが違うのが原因だったりします。...
DATE 2012.06.21

MT タグを MTML タグに変換する Coda 2 プラグイン

ようやく、App Store の Coda 2 のアップデートが来ましたね。 日本語化もされましたし、クリップ機能周りにバグ(?)があったのか、新機能の複数設置のプレースホルダーが使えなかったり、クリップの新規作成のダイアログが画面の外側に出てしまったりしてすごく困っていましたが、これらは解決されていました。うれしい! ということで、なんとなくですけど、MT タグを MTML タグに変換する Co...
DATE 2012.06.16

カンマ区切りの文字列をプラグインなしで配列のようにループで取り出すTips

Movable Type でテンプレートを書いているとき、カンマ区切りの文字列があって、これを配列にしてループさせたいってことは多々あるかと思います。 そんな時は、荒木さんの Split プラグイン(小粋空間)を使ったりしますが、プラグインを使えない環境もあるかもしれません。 そこで、今回はプラグインを使わないで、カンマ区切りの文字列を配列のようにループする方法を紹介します。...
DATE 2012.05.21

今年の目標:ブログ記事x本、現在y本、残りz本 をDynamicMTML を使ってリアルタイムに表現する方法

今年は、1年間で 100 本のブログ記事を書こうという密かな目標があるのですが、現在の状況をいちいち管理画面でカウントするのが面倒なので、DynamicMTML を使ってリアルタイムで状況を表示させてみます。 これには MTSearchEntries タグを利用します。...
DATE 2012.05.18

文字コード latin1 の MT4 を utf8 の MT5 に移行する方法

MySQL の文字コードが latin1 の MT4 を、文字コードを utf-8 に変換した上で MT5 に移行する方法です。うまくいくでしょうか(理解が足りない部分もあると思うので、ご指摘ください)。 今回は、MAMP のローカル環境で実験してみたいと思います。...
DATE 2012.05.17

MAMP の MySQL をコマンドで扱うには

Mac の代表的な開発環境と言えば MAMP ですね。 MAMP をインストールすると、初めから phpMyAdmin が使えるので、MySQL の作業はついついそれに頼ってしまいがちです。 しかし、サーバーによっては phpMyAdmin がインストールされていない場合もあり、コマンドで作業しないと行けないこともあります。そんな時のために、MAMP の MySQL をコマンドで操作して練習してお...
DATE 2012.04.25

MTAppjQuery の機能(jQueryプラグイン)をリストアップしてみたらこんなにあった

ふと、MTAppjQuery プラグイン の機能(プラグインにセットされている jQuery プラグインの機能)をリストアップしてみたらこんなにあって、自分でも少し驚いた!...
DATE 2012.04.19

MTCafe Tokyo に行ってきました

もう東京では桜がほとんど散ってしまいました。この一瞬の美しさに、人は魅了されるのでしょうか。 さてさて、桜が満開だった4月7日、MTCafe Tokyo に行ってきました(→ MTCafe とは?)。MTCafe はゆるい感じの会なので、この記事もゆるゆると。 1次会は、4人のLTと雑談、2次会はぶらぶらお酒を飲みながら MT の話をつまみにお散歩しながらお花見、3次会は MT の話をつ...
DATE 2012.04.19

Custom Field GUI Utility 3.2.5 リリース

WordPress のカスタムフィールドを使いやすくするプラグイン「Custom Field GUI Utility 3.2.5」をリリースしました。 ラジオボタンに「must = 1」を設定したときのバグを修正しました。 以下のページからダウンロードしてください。 Downloads - custom-field-gui-utility-3 - Google Project Hosting ...
DATE 2012.04.18

Movable Type の特定の記事のユーザーを変更する SQL

Movable Type の特定の記事のユーザーを変更する SQL です。 phpMyAdmin を使うのであれば、mt_entry のテーブルを開いた状態で、上のタブメニューの「SQL」で次の SQL を実行すればOKです。この例では、エントリーID = 1136 の記事の著者を ID = 3 に変更しています。 UPDATE `mt_entry` SET `entry_author_id`=3...
DATE 2012.04.15

入れ子になったカテゴリの階層を調べるテンプレート

入れ子になったカテゴリの階層を調べる方法です。 MTSubCategories タグやカテゴリアーカイブに次のテンプレートを入れればOKです。 <$mt:SetVar name="cat_level" value="0"$><mt:ParentCategories><$mt:SetVar name="cat_level" op="++"$></mt:Par...
DATE 2012.04.13

Movable Type で 13 日の金曜日に JSON が現れる

今日は平成24年4月13日(金)ということで、JSONの日だとか Twitter で見かけたので Movable Type でもやってみましょう。 DynamicMTML が使える環境で、次のようなインデックステンプレートを作ればOKです! <!DOCTYPE HTML><html lang="ja"><head>    <m...
DATE 2012.04.03

AnotherCustomFields プラグインの日付型のフィールドを DynamicMTML に対応させる

前回に引き続き、今回は AnotherCustomFields プラグインで追加した日付型のフィールドを DynamicMTML に対応させる方法を紹介します。なお、この記事は前回の記事を前提として話を進めます。 まずは藤本さんのところで販売されているマニュアルに沿って、「日付と時刻」型のフィールドを追加してください。 今回は、次のようなのフィールドを EntryFields の config.y...
DATE 2012.03.28

AnotherCustomFields プラグインを DynamicMTML に対応させる

藤本さんの AnotherCustomFields プラグインの解説書を買いました。 AnotherCustomFields プラグインは、MTOS(オープンソース版の Movable Type)にカスタムフィールドの機能を追加することができるプラグインです。フィールドの追加は、管理画面から行うのではなく config.yaml という設定ファイルを書いてサーバーにアップロードするという手間はあり...
DATE 2012.03.16

Movable Type のスタティック・パブリッシングでループ以外でも odd と even を出力する方法

リストや表を出力するときに、交互に odd(奇数)や even(偶数)というクラス名などを付けたいことって結構ありますよね。 それを実現する方法としては、jQuery など JavaScript を使う方法が簡単ですが、Movable Type を使っているなら、できればスタティック・パブリッシングで直接出力しておきたいですよね。 MTLoop などの繰り返しタグの中であれば、<mt:If ...
DATE 2012.03.15

『よくわかるPHPの教科書』感想

昨年話題になり、発売以降いまだに売れ続けているっぽい書籍『よくわかるPHPの教科書』(たにぐち まこと 著)を読みました。評判通り、すごく良かったです! PHPって、すごく手軽に動的なWebページが作れるし、人気の CMS なども PHP で作られていることが多いですよね。 そのため、「さあ、PHP でも勉強しようか」という人は、「手軽に何かを作りたい人」が多いのだと思います。作りたい...
DATE 2012.03.09

DynamicMTML の MTIfLogin が動かなくなったときには

MT5.13 にアップグレードしてから、DynamicMTML の MTIfLogin がうまく動かなくなりました。もしそうなったら、mt-config.cgi に以下の記述があるか確認し、無ければ追記してみてください。 CookiePath / 僕はそれで解決しました(アルファサードの抜群のソーシャルサポートのおかげで解決できました。ありがとうございました)。 ただし、この設定は、Cookie ...
DATE 2012.03.05

Movable Type のブログ記事一覧で下書き記事の背景色を変更する

当ブログで公開している「MTAppjQuery - Movable Type 5 の管理画面をjQueryでカスタマイズしやすくするプラグイン」について、以下のようなコメントを頂きました。 $.MTAppDebug();で記事一覧画面を見ると下書き保存の記事が赤くハイライトされます。この機能をMTAppDebugなしで実装することは可能でしょうか?とても見やすく便利な機能です。 これを実現するのは...
DATE 2012.02.28

はじめての DynamicMTML #14 - デバイスごとに表示を分ける MTIfUserAgent と MTUserAgent

今回は、サイトにアクセスしてきたユーザーエージェントによって条件分岐する MTIfUserAgent タグと、ユーザーエージェントの情報を出力する MTUserAgent タグを紹介します。...
DATE 2012.02.28

MTIfUserAgent と MTUserAgent 確認ページ

あなたのユーザーエージェント情報 サンプル <mt:IfUserAgent wants="smartphone"><p>スマートフォン:<$mt:UserAgent raw="1"$></p></mt:IfUserAgent><mt:IfUserAgent wants="keitai"><p>携帯:<$mt:...
DATE 2012.02.24

Custom Field GUI Utility 3.2.4 リリース

WordPress のカスタムフィールドを使いやすくするプラグイン「Custom Field GUI Utility 3.2.4」をリリースしました。 主に「Custom Field GUI Utilityでeditorが無いときにもメディアアップローダーが使えるようにする | モンキーレンチ」さんの内容を反映させた形になります。 モンキーレンチさん、ありがとうございます! 以下のページからダウン...
DATE 2012.02.08

PowerCMS 3 のスニペットフィールド+MTAppjQuery で作ってみた個人情報入力画面

PowerCMS 3 のスニペット・カスタムフィールドと MTAppjQuery プラグイン(←この MTAppjQuery のドキュメント、ちょっと古い…)を組み合わせて、個人情報を入力する感じの画面を作ってみました。 HTML 側は全部スニペット・カスタムフィールドで、動的な部分は MTAppjQuery の user.js で管理する感じです。 メールアドレスなどは、...
DATE 2012.02.08

はじめての DynamicMTML #13 - 指定期間内の記事をリストアップする

今回は、MTSearchEntries を使って、指定期間内の記事をリストアップする方法を紹介します。 指定期間を設定する際に、開始日などは PHP の data 関数等を使うと楽に求められます。しかし、今回紹介する方法は、MT のテンプレート内に直接 PHP のコードを書くという MT らしからぬ方法かもしれませんが、時としてそれもメリットの1つになるかもしれません。...
DATE 2012.02.06

はじめての DynamicMTML #12 - 静的ファイルの PHP を実行する

前回の記事「はじめての DynamicMTML #11 - MT タグの中で PHP を実行する」の中で、「DynamicMTML では、テンプレート中の PHP も実行してくれます」と書きましたが、今回はそれについて少し詳しく見ておこうと思います。...
DATE 2012.02.04

はじめての DynamicMTML #11 - MT タグの中で PHP を実行する

これまで数回にわたって DynamicMTML で提供されているテンプレートタグの使い方を紹介してきました。今回はいったん雰囲気を変えて、MT タグの中で PHP のコードを実行する方法を紹介します。正確には「MT タグを実行する前に PHP を実行する」ということになります。 今回の記事では「クラシックブログ」のテーマを使って解説します。もちろん DynamicMTML が有効な環境というのが前...
DATE 2012.01.31

『ソーシャルメディアマーケター美咲 新人担当者 美咲の仕事帳』感想

表紙の絵につられて思わず買った書籍ですが、すごく良かったです。 僕は、Facebook 関連のイベントに参加するとマーケティング色が強くて、それだけで疲労困ぱいになってしまうようなマーケティング素人ですが、この本は、そんな僕でもすらすら読み進めることができました。 本書は、次の4つの大きなテーマについて、新人ソーシャルメディアマーケター美咲と同僚の拓也が奮闘するというストーリーになっています。 認...
DATE 2012.01.26

はじめての DynamicMTML #10 - クエリを処理する4つのテンプレートタグ

DynamicMTML には、クエリを処理するテンプレートタグがいくつか用意されています。今日は、そのうちの4つ、MTQueryLoop、MTQueryVars、MTSetQueryVars、MTQuery を紹介します。 なお、検索サイトやサイト内検索からの流入の際に、検索されたキーワードを処理する MTReferralKeywords というタグもあります。これについては、前回の記事を参照して...
DATE 2012.01.25

JavaScript で連番の文字列を簡単に作る

すごく基本的な内容ですが、たった今自分が必要だったので。 例えば、次のような5つの項目があったとします。 expensedtlname_1,expensedtlcount_1,expensedtlunitmoney_1,expensedtlmoney_1,expensedtlremarks_1 これらは枝番が _1 となっていますが、これを 1 〜 10 まで一気に作りたいという場面に出くわしまし...
DATE 2012.01.24

Movable Type のカスタムフィールド一覧ですべてのテンプレートタグをまとめてコピーしたい

Movable Type のカスタムフィールド一覧、テンプレートタグが表示されるようになったのは嬉しいんですけど、人間欲深いもので、今度はまとめてコピーしたくなったりします。 そんなときは、次のコードを Firebug や Chrome の JavaScript コンソールにコピペして実行すればOK。一覧の上に表示されます。 (function($){ var code = []; $('pr...
DATE 2012.01.23

AND 検索のテンプレートを修正しました

「はじめての DynamicMTML #08 - MTSearchEntries (4) MTSplitVars を組み合わせて複数ワードのAND検索」の記事で紹介している AND 検索のテンプレートですが、別のところに流用したらうまく動きませんでした。 そのため、最後の出力の前に、一度 MTLoop を回してすべてのキーワードにマッチするものだけを、最終的な出力用のハッシュ変数 result に...
DATE 2012.01.21

はじめての DynamicMTML #09 - MTSearchEntries (5) MTReferralKeywords で検索サイトからの流入に対する関連記事を表示する

今回は、MTReferralKeywords というブロックタグを使い、Google、Yahoo!、bing、MSN、goo で検索してサイトに訪れたユーザーに対して、そのキーワードに関連する記事をリストアップする方法を紹介します。 今回のテンプレートの仕様 検索サイトで検索されたキーワードを含むブログ記事一覧を表示する 検索サイトからの流入のときだけ表示する 現在のブログ内のブログ記事から検索す...
DATE 2012.01.17

Custom Field GUI Utility の conf.ini ジェネレーターを作ってみた

Custom Field GUI Utility の設定ファイルを書き出す「conf.ini ジェネレーター(BETA)」というのを作ってみました。少しは設定ファイルを作るのが楽になるでしょうか。 あまり動作検証してないので適当に使ってみてください! 明日からまた、MT に戻ります。...
DATE 2012.01.16

Custom Field GUI Utility 3.2 リリース - WordPress 3.3 に対応

WordPress のカスタムフィールドを使いやすくするプラグイン「Custom Field GUI Utility 3.2」をリリースしました。 主な変更点は以下の通りです。 投稿タイプごとに設定ファイルを変えられるようにしました。 カスタムフィールドのボックス名(「カスタムフィールド」というタイトルバーです)も変更できるようにしました。 オリジナルの必須チェックを廃止し、「exValidati...
DATE 2012.01.16

シェルスクリプトで自動的にデータベースをバックアップ

シェルスクリプトと cron で自動的にデータベースをバックアップする方法を勉強しました。サーバー初心者です。 サーバーは、CentOS 5.7 です。 参考サイトは「mysqldumpとcronでMySQLを自動バックアップする | Linuxで自宅サーバ構築」です。...
DATE 2012.01.11

Git でローカルに作ったブランチをリモートに反映させる

すごく基本的なことですが、どうしてもド忘れしてしまうのでメモしておきます。 まず、ローカルリポジトリに hoge という名前のブランチを追加するときは、 git checkout -b hoge で、このブランチをリモートリポジトリにも追加する場合は、 git push origin hoge となります。 これ以降は、master ブランチにチェックアウトしている状態で、 git pu...
DATE 2012.01.06

はじめての DynamicMTML #08 - MTSearchEntries (4) MTSplitVars を組み合わせて複数ワードのAND検索

前回は MTSearchEntries タグと MTSplitVars タグを使って複数のキーワードを OR 検索する方法を紹介しました。 今回は、AND 検索をする方法を紹介します。なお、前回の OR 検索の記事をお読みいただいている前提で進めます。 今回のテンプレートの仕様 AND 検索以外は、前回の記事と同様です。 検索ワードはキーワード欄にカンマ区切りで指定する 複数のキーワードは AND...
DATE 2012.01.01

2012年 今年もよろしくお願いいたします - をDynamicMTMLで期間限定で表示する

1年間ってあっという間ですね。 昨年は日本が一変してしまった年でした。今年も引き続き、多くの方々にとって、色々なことで大変な1年だと思いますが、まわりの人と協力しあい、この厳しい時代を乗り越えて行ければいいなと思います。皆様のもとに、少しでも多くの幸せが訪れますように、切に願います。 2012年も、かたつむりくんのWWW をよろしくお願いいたします! さて、2011年は、あいかわらず Movabl...

年別アーカイブ

PAGETOP