かたつむりくんのWWW

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

シェルスクリプトと cron で自動的にデータベースをバックアップする方法を勉強しました。サーバー初心者です。

サーバーは、CentOS 5.7 です。

参考サイトは「mysqldumpとcronでMySQLを自動バックアップする | Linuxで自宅サーバ構築」です。

続きを読む

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

すごく基本的なことですが、どうしてもド忘れしてしまうのでメモしておきます。

まず、ローカルリポジトリに hoge という名前のブランチを追加するときは、

git checkout -b hoge

で、このブランチをリモートリポジトリにも追加する場合は、

git push origin hoge

となります。

これ以降は、master ブランチにチェックアウトしている状態で、

git push

すれば、master ブランチも、hoge ブランチも、すべてのブランチの変更が push されます。

ここに書いたから、もう忘れないな。っていうか、こんな単純なことをどうして覚えられないんだろう…

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

前回は MTSearchEntries タグと MTSplitVars タグを使って複数のキーワードを OR 検索する方法を紹介しました。

今回は、AND 検索をする方法を紹介します。なお、前回の OR 検索の記事をお読みいただいている前提で進めます。

今回のテンプレートの仕様

AND 検索以外は、前回の記事と同様です。

  • 検索ワードはキーワード欄にカンマ区切りで指定する
  • 複数のキーワードは AND 検索
  • 現在のブログ内のブログ記事から検索する
  • 最新5件を表示する
  • 現在のブログ記事を除く

続きを読む

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

1年間ってあっという間ですね。

昨年は日本が一変してしまった年でした。今年も引き続き、多くの方々にとって、色々なことで大変な1年だと思いますが、まわりの人と協力しあい、この厳しい時代を乗り越えて行ければいいなと思います。皆様のもとに、少しでも多くの幸せが訪れますように、切に願います。

2012年も、かたつむりくんのWWW をよろしくお願いいたします!

さて、2011年は、あいかわらず Movable Type にどっぷりつかった年でした。そして『Movable Type 5.1 プロの現場の仕事術』の執筆に参加させていただけたことは、この上ない喜びでした。

今年も引き続き、Movable Type にどっぷりつかっていこうと思います。Love MT、Love 再構築、Love DynamicMTML、Love PowerCMS といった感じです。

また、2011年は 57 本のブログ記事を書いていました。だいたい1週間に1本ちょっとといったペースということになります。ちょっと少ないかな…

まだまだ勉強したいことは山ほどあります。今年は 100 本くらいの記事をアウトプットできるようにがんばりたいと思います。

では、新年1本目のこの記事は、今年も MT でいくぞ、という意思表示も含めて、「DynamicMTMLで期間限定でメッセージを表示する方法」を紹介します。

続きを読む

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

今回は、前回に引き続き MTSeachEntries についてと、MTSplitVars タグの使い方です。

MTSearchEntries は基本的には1つの検索ワードで検索する仕様になっています。前回のサンプルでも、キーワード欄に入力した1つのキーワードを、動的に検索する方法を紹介しました。

今回は、MTSearchEntries に「 MTSplitVars 」というブロックタグを組み合わせて複数の検索ワードで検索してみます。複数のキーワードは、キーワード欄にカンマ区切りで設定します。

今回のテンプレートの仕様

  • 検索ワードはキーワード欄にカンマ区切りで指定する
  • 複数のキーワードは OR 検索とする(AND 検索は次回)
  • 現在のブログ内のブログ記事から検索する
  • 最新5件を表示する
  • 現在のブログ記事を除く

続きを読む

ローカルで自分がcommitしたのにアイコンが表示されなかった件

どうでもいいといえばどうでもいいんですけど、Tower とか Bitbacket とかのコミット履歴の画面で、ローカルの Git で自分が commit したのに、アイコンが表示されないのがずっと気になってたんです、というか、アイコンどうやって設定するのかなーって。

今まで色々とググってみても情報が出てこなかったんですけど、やっと見つけました。

続きを読む

MTAppjQuery 0.25.1 リリース - バグフィックス

Movable Type 5 の管理画面をjQueryでカスタマイズしやすくするプラグイン「MTAppjQuery」の ver.0.25.1 をリリースしました。バグフィックスです。

変更点は以下の通りです(詳細はこちら)。

  • mtappVarsなどに「encode_js="1"」を追記しました。

スカイアークシステム方川さんにコメントで教えていただきました。ありがとうございました!

アップデートが必要なファイルは、以下の2つです。

  • plugins/MTAppjQuery/MTAppjQuery.pl
  • plugins/MTAppjQuery/lib/MTAppjQuery/Callbacks.pm

これらの差分ファイルも置いておきますので、こちらだけ差し替えていただければOKです。

プラグイン全体のダウンロードは以下からお願いします。

はじめての DynamicMTML #06 - MTSearchEntries (2) 基本的な使い方

前回は、ブログ記事を動的に検索する MTSearchEntries タグの説明をしました。

今回は、MTSearchEntries の基本的な使い方を紹介します。なお、以下の記事のテンプレートは「ブログ記事アーカイブ」テンプレートでの利用を想定しています。

続きを読む

はじめての DynamicMTML #05 - MTSearchEntries (1) 動的にブログ記事を検索する

今回は、DynamicMTML を利用して、動的にブログ記事を検索する MTSearchEntries の使い方を紹介します。

MTSearchEntries

MTSearchEntries は、target モディファイアで指定したカラムに query モディファイアで指定した文字列を含むエントリーを出力するブロックタグです。MTSearchEntries タグ内では、MTEntry系のファンクションタグが使えます。

MTSearchEntries タグで利用できるモディファイアは以下の通りです(詳細は後述します)。

query : 検索文字列
blog_id : ブログID
include_blogs : 対象とするブログIDを列記(カンマ区切り)または
"all" "children" "siblings"が指定可能です。
exclude_blogs : 対象外とするブログIDを列記(カンマ区切り)します。
target : 検索対象とするカラムを指定します。
operator : SQLの条件式を記載します。デフォルトはLIKEです。
class : entry(デフォルト)もしくはpage
category : カテゴリ名
category_id : カテゴリID
tag : タグ
status : 数字もしくは'*'(すべて)
sort_by : 表示順に指定するカラム名
sort_order : 表示順(descendもしくはascend)
lastn : 表示数
offset : オフセット値(何件目から読み込むか)
unique : 同じテンプレート内で使用したMTSearchEntries
ブロックで出力したエントリーを除いて出力します。
not_entry_id : IDを指定した単一のエントリーを除いて出力します。

README.ja.md at master from alfasado/DynamicMTML - GitHub

詳細に入る前に、まずはサンプルを見てみましょう。

続きを読む

MTAppjQuery 0.25 リリース - MTAppKeyboardShortcut を追加

Movable Type 5 の管理画面をjQueryでカスタマイズしやすくするプラグイン「MTAppjQuery」の ver.0.25 をリリースしました。内容は以下の通りです。

  • ブログ記事やウェブページ、コメントなどの一覧画面で、キーボードショートカットの「j, k, x」が使えるようになりました。Gmail のキーボードショートカットの j, k, x とほぼ同様の動きをします。
  • mt-static/MTAppjQuery/lib 内にあった jQselectable ディレクトリを削除しました。ご利用される場合は作者のサイトからダウンロードしてください。

アップデートが必要なファイルは、

  • plugins/MTAppjQuery ディレクトリ
  • mt-static/plugins/MTAppjQuery/js/MTAppjQuery.js
  • mt-static/plugins/MTAppjQuery/css/MTAppjQuery.css

となります。

ダウンロードは以下からお願いします。

続きを読む

はじめての DynamicMTML #04 - ログイン状態で分岐する MTIfLogin

今回は、DynamicMTML を利用して、ユーザーのログイン状態によって表示を変える方法を紹介します。

この方法を利用すれば、会員専用サイトを構築したり、会員のみに見せる特別なコンテンツを設置したりすることができます。

続きを読む

はじめての DynamicMTML #03 - スタティックパブリッシングで DynamicMTML を使う書き方

今回は、いよいよ DynamicMTML を Movable Type のテンプレートで使う方法を紹介します。

利用するテーマは、デフォルトテーマの「クラシックウェブサイト」と「クラシックブログ」です。また、特に説明がない限り、テンプレートの [公開] は「スタティック」に設定してあるものとします。

DynamicMTML をスタティックパブリッシングで利用する

DynamicMTML は、ページにアクセスがあったときに、そのファイルに含まれている MT タグを動的に展開してその結果をユーザーに返すものです。

したがって、スタティックパブリッシングのテンプレートで DynamicMTML を利用するには、テンプレートを再構築する際に、部分的に MT タグを展開しないで MT タグを残したままの状態でページを生成する必要があります。

DynamicMTML には、これを実現するために、主に次の2つの正式な方法と、1つの裏技的な方法があります。

  1. MTDynamicMTML というブロックタグでテンプレートを囲む方法
  2. MTML というファンクションタグで MT タグ自体を出力する方法
  3. replaec する裏技的な方法

続きを読む

はじめての DynamicMTML #02 - .htaccess と .mtview.php の役割

前回の記事で、DynamicMTML のインストールまで完了しました。

DynamicMTML を有効にすると、ウェブサイト/ブログのサイト・パス直下に「.htaccess」と「.mtview.php」という2つのファイルが生成されます。今回は、このファイルの役割を見てたいと思います。

続きを読む

はじめての DynamicMTML #01 - 準備とインストール

僕は Movable Type の「再構築」が好きです。「Love 再構築」という名前の Xtalk 動かしているくらいですw サイトに来てくれたユーザーにスタティックなファイルを返すだけ、というのは、サイト運営側のおもてなしの一つだと思っています。

しかし、運営側にとって「再構築」という作業に何分も時間がかかるというのはデメリットであることも事実です。この気持ちもよく分かります。この再構築時間をできるだけ短くするというのは、Movable Type を使ってサイトを構築するWeb制作者の腕の見せ所でもあるのかもしれません。

また、スタティックなファイルだと、デバイスやユーザーごとに表示を変えにくいこともあるかもしれません。

そんな Movable Type の弱点(?)を克服するかのように現れたのが、Alfasado Inc. が公開している DynamicMTML というプラグインです。

今日から、自分の勉強も兼ねて、この DynamicMTML について記事を書いていきたいと思います。なお、DynamicMTML の詳しいドキュメントは以下のページに載っています。

続きを読む

「MT関係書籍 + 緑の太陽ピンバッジ」3.11を忘れない。ミニキャンペーン

先日、宮城県出身の友達から「緑の太陽」というものを教えていただきました。

「緑の太陽」には、2011年3月11日東日本大震災による甚大な被害から学んだ様々な教訓を決して忘れずに、未来へ語り継いでいきたいという思いが込められています。緑色の円は、この時代を共に生きるすべての人とのつながりと団結力を意味します。澄んだ緑は東北の美しい自然の色、痛みを癒すやさしさと力強い希望の芽吹きの色です。被災地である宮城から発信する「緑の太陽」は、より多くの方々のご理解とご協力を求めています。

green-sun-badge

「緑の太陽プロジェクト」で販売している「緑の太陽ピンバッジ」(500円)の収益は、被災地への義援金として日本赤十字社に寄付されてきました。そして、今後の寄付先は、被害の大きい沿岸部の市町村を中心に、約半年おきに直接寄付されるようです。

さて、このプロジェクトを知って僕にも何かできないか、ということで、「MT関係書籍+緑の太陽ピンバッジ」をセットで500円で、抽選で2名の方に提供したいと思います。もちろん、この500円はピンバッジの購入代金ですので、義援金として寄付されます。書籍代は無料です。

数も少なく、本当に些細か行動かもしれませんが、できることをコツコツとやっていきたいと思います。

続きを読む

Power CMS for MT ver 3.1 に追加されたTwitter連携プラグインを使ってみた

Power CMS for MT ver.3.1 がリリースされました。

話題の「スマートフォンオプション for Movable Type - Six Apart」がバンドルされたり、Twitter連携プラグインが追加されたりと、ますますパワーアップ(してどんどんお買い得感がアップ)しました。

さっそく、スマートフォンオプションとTwitter連携プラグインを適用させてみました。Twitter連携はずっと待っていたのですごく嬉しいです。次は Facebook 連携ですかね。

Twitter連携プラグイン(TweetEntry)の設定でちょっとつまずきましたが、超速のサポートのおかげですぐに解決しました。

アルファサードさんのサポート、すごくいいです。本当に感謝!

このサポートも Power CMS for MT の大きな魅力の一つですね。

MTのダイナミックパブリッシングが真っ白だったのが解決したメモ

ちょっとよく分からない状態に遭遇してハマってました。

  • <$mt:Date$>だけを記述したインデックス・テンプレートをダイナミックパブリッシングにしたときは問題なく動作する
  • コメントの確認などのシステムのダイナミックは動作する
  • MTIncludeでモジュールを読み込んでいるインデックス・テンプレートだとダイナミックパブリッシングが真っ白になる

こんな具合でした。

色々検証した結果、どうも名前が日本語のテンプレートモジュールをMTIncludeしている部分が問題だったようです(コメントの確認とかは平気なんだけど…)。

そこで、きっとサーバーの設定に問題があるのかな〜と色々と確認した結果、MySQLの設定ファイル(/etc/my.cnf)に「skip-character-set-client-handshake」を加えたらうまく動作するようになりました。

でも、ググってみると「2007/04/23-01、skip-character-set-client-handshake について - debian-etch に関するメモ(後、lennyへアップグレード)」には「skip-character-set-client-handshake」は使わないほうがいいとあります。他にうまい解決策があるのだろうか…

ブログのデザインをリニューアルしました

もう先週の話になりますが、ブログのデザインをガラッとリニューアルしました。今回は、やわらかい感じでかわいい系を目指してみましたw

Before】約4年間、慣れ親しんだデザイン

After】やわらかく、かわいい感じを目指したデザイン

全部 Fireworks で

今回のデザインはすべてFireworksで作ってみました。僕のFireworksデビュー作です。Fireworks、予想以上に便利でたまげました。全部Fireworksでやろうと思ったきっかけとなったのは、今年の3月5日に開催された「CSS Nite LP, Disk 14「Photoshopper meets Fireworks」」でした。このイベント、僕の中ではかなり満足度が高かったのを良く覚えています。

続きを読む

ユーザーにブログの権限を与えるときのブログ一覧にウェブサイト名を表示するプラグイン - AssociationView

昨日、Twitterでこんなつぶやき(というか叫び?)を見ました。

: MT5でユーザーに権限を付与する際に違うウェブサイトで同一のブログが多量に有る場合、ウェブサイト名が出ないから全部同じなんだけど、どーしたもんか(;´Д`) 
http://twitter.com/#!/hira/status/129068859205488640

これ、そういや自分も経験あるな〜と思って「AssociationView」っていうプラグインを作ってみました。

続きを読む

MoreXtalk v1.3 リリース - フォローユーザーの入力補完に対応

先日のXtalkをより快適にする Google Chrome 拡張機能「MoreXtalk」について、@yagishitaさんから要望があったので、@を入力すると、自分がフォローしているユーザーの入力補完をできるようにしました。

ダウンロードはGithubから。