jEditにTwigの編集モードを追加する
PHPの開発とか、エディタはjEditを使ってる。
jEdit - Programmer's Text Editor -
さんざん言ってるけど、jEditは本当にいいエディタなんですって*1。
加えて、PHPのテンプレートエンジンはTwigを使ってる。
pythonのdjangoに近いらしい。
ところで、PHPのテンプレートエンジンと言うとsmartyが定番だったり、そもそも、PHPでテンプレートエンジン(笑)みたいな論調もあったりして論争になると泥沼なんだけど、
個人的にはplainなPHPで組むのは選択肢として無く*2、定番のsmartyは…3から結構良さそうな感じはするけれど、何というか泥臭い*3。
そんな訳で、Twigを使うようになった。
構文もシンプルだし動作も軽いし、テンプレート内部から割り当てた変数のプロパティとかメソッドへのアクセス方法も柔軟で使いやすい。
Twig自体のバージョンも1.0を超えて成熟してきた感じがする。
とは言え、日本語ドキュメントは少ないし、メジャーバージョンアップで結構動作が変わっているところがあるので、この辺を参考にするとハマるので注意。
具体的にはdebugが無くなってたり…えーと、他にもいろいろあった気がする。気が向いたらまとめようかな。
今のところは公式の英語ドキュメントかソース読むのが確実。
Twig定義をjEditに追加する
そんな訳で、jEditでTwigのテンプレートを編集したりして快適なwebアプリ開発ライフを送ってるんだけれど、当然のようにjEditにはTwigの定義が無い。
一応、djangoの定義はあるからそれを使うようにすればある程度ハイライトされるようになるけれど、{# #}形式のコメントに対応していなかったりするので、djangoの定義を元にTwigの定義を作るTipsを記す。
参考元:How do I add an edit mode to jEdit?
1:"C:\Program Files\jEdit\modes\django.xml"を"%USERPROFILE%\.jedit\modes\twig.xml"にコピーする
当初、"C:\Program Files\jEdit\modes"に設置って書いてたけど、インストーラーでバージョンアップすると消えたので、やっぱり"%USERPROFILE%\.jedit\modes"に設置するのが適当みたい。
2:twig.xmlを編集
以下の置換をする
コメントの開始タグ(2箇所)
{% comment %} → {#
コメントの終了タグ(2箇所)
{% endcomment %} → #}
定義内の要素名、大文字のみ(約21箇所)
DJANGO → TWIG
これで{# #}形式のコメントがハイライトされるようになる。
その他、Twig特有のキーワードとかあるかも知れないけど面倒なので調べてない。
Twitterでフォローしてる人のIDから、ザ・インタビューズのIDを探すサービス
公式にはまだユーザー検索も無いし、作りました。
http://itvs.yomitwi.org/
仕組み
- http://api.twitter.com/1/statuses/friends.xml?screen_name=331soba&cursor=-1
こんな感じでフォローしてる人の一覧を取得 - IDごとに、http://theinterviews.jp/<ユーザー名>に、HTML_Request2で問い合わせ
- ステータスコードが302なら登録無し、200なら登録ありって判定して画面に表示
問題点
- フォロー一覧の取得が150/hしかできないこと。使う人増えたらアウト
- TheInterviewsさんに怒られたらアウト
- そもそもID違ったら追えない
150/hの制限って、FRIENDorFOLLOWとか、認証の無い連携サービスってどうしてるんだろ。
ちなみに、フォロー100人程度いれば大抵は同じIDでインタビューズに登録してる人がいる感じ。
これって結構凄いよなぁ。ユーザーかなり多い。
Logicool VX Revolution のチャタリング修理
もう古いマウスになるけれど、数年前にノートPCを中古で買ったらついてきた中古のVX-Rを愛用している。
既に新品はプレミア価格やね…。
で、やっぱりLogicoolは使いやすいんだけど、ここ数日、チャタリングが発生した。
以前使ってたLogicoolのマウスもやっぱりチャタリング起こるし、そんでまたこうなると微妙にイラッと来る。ドラッグが勝手に外れたり、シングルクリックがダブルクリックになったり…。
どうにかして直せないかとグーグル先生に聞いていたら、以下のページを発見。
Logicool MX-610 チャタリング問題 解消法
http://mono-zukuri.net/blog/archives/2007/11/logicool_mx610.html
おぉぉ、なるほど、スイッチにコンデンサを突っ込むのか。
これは良い、根本的な解決になりそうだし、なにより安く済む。
見た感じ、スイッチの構造もVX-Rと同等っぽいので、行けそうと踏んだら上手く行った。
という訳で、VX-Rのコンデンサ追加をまとめる
Thunderbird7アップデートでMinimizeToTrayが使えなくなった
って、6に上げたの数日前なんだけど。
それに伴って、MinimizeToTray revivedが使えなくなったけど、Add-on Compatibility Reporterを使ったら上手く行ったよって話。
続きを読むという訳で、Twitterのアイコンをモザイク化するアレを作ってみた
作ろうかなぁとは言ったけど
http://d.hatena.ne.jp/sansaisoba/20110926
アイデア丸パクリで、単に画像サイズ指定とドット数指定が出来るようになっただけだけど作ってみた。
しかし、元ネタが流行ったのは4x4ってサイズが絶妙だったんだなーと改めて思った。6x6だとわりとなんか普通だ。