Ruby言語やLinuxのネタが多いです。
March 03, 2002
■ [Ruby] Ruby/GTKのDrag and Dropの実装
無事、CVSに取り込まれました。サンプルの方も取り込んでもらったので興味のある方はどうぞ。ちなみにCVS版Ruby/GTK(Ruby-GNOME)の取得方法についてはこちらをどうぞ。
March 03, 2003
■ [tDiary] アンカー自動生成プラグイン-1.3.0
プラグインのa.rbのみ最新版をtDiaryのCVSにあげました。設定CGI等も順次最新版にしていきますが、現状のモノでもそのまま使えます(表示例を変更するくらい)。 ドキュメントは明日以降に書こうと思います。これから試してみようかなぁと思っている人はドキュメントその他が揃うまで待ってください。
#1.5.x系向けのみです。
■ 先走って使いたい方に
今まで使っていた方はそのままの使い方でも大丈夫です。 変わっていないところは上記アンカの説明を読んでいただくとして、変更点は<%= a "表示文字列|keyword:option" %>といった形式をサポートしたことです。keyword以外は省略可能です。
#今までの形式もそのまま使用可能です。
(例) a.datの内容(こちらも今までのがそのまま使用可能です) mutoh http://ponx.s5.xrea.com/bibo/ users http://tdiary-users.sourceforge.jp/cgi-bin/wiki.cgi? tDiary-users Project euc ※keyword url デフォルト表示文字列 文字コード ※デフォルト表示文字列、文字コードは省略可能(defaultはeuc) ※文字コードがeuc(あるいはascii)以外の場合は明示的に指定する(sjis,jisが指定可能)。
(記述方法) <%= a "Linuxビボ〜ろく|mutoh:20020303.html#p01" %> <%= a "Linuxビボ〜ろく|mutoh" %> <%= a "mutoh" %> <%= a "mutoh:20020303.html#p01" %> <%= a "tDiary-usersのスタイルのページ|users:スタイル" %>
他に、myの代わりにもなるようにしてみました。といっても内部的にmyを呼ぶだけですが。
#私がよく間違えるんで一緒にしちゃいました。
<%= a "この日の日記|20020303#p01" %>
■ [tDiary] Wikiスタイルのリンク機能で使えるようにするパッチ
Wikiスタイルの
[[tDiary-usersのスタイルのページ|users:スタイル]]
形式でこのプラグインが使えるようになるパッチ。
--- ../misc/style/wiki/wiki_style.rb 2003-02-27 02:13:21.000000000 +0900
+++ wiki_style.rb 2003-03-04 01:25:17.000000000 +0900
@@ -153,18 +153,7 @@
s = CGI::escapeHTML( s ) unless stat == :GS
case stat
when :KS
- if /\|/ =~ s
- k, u = s.split( '|', 2 )
- if /^(\d{4}|\d{6}|\d{8})[^\d]*?#?([pc]\d\d)?$/ =~ u then
- r << "%=my '" << $1
- r << $2 if $2
- r << "', '" << k << "'%"
- else
- r << %Q[a href="#{u}">#{k}</a]
- end
- else
- r << "%=kw '" << s << "'%"
- end
+ r << "%=a '" << s << "'%"
when :XS
case s
when /^mailto:/
@@ -289,18 +278,7 @@
s = CGI::escapeHTML( s ) unless stat == :GS
case stat
when :KS
- if /\|/ =~ s
- k, u = s.split( '|', 2 )
- if /^(\d{4}|\d{6}|\d{8})[^\d]*?#?([pc]\d\d)?$/ =~ u then
- r << "%=my '" << $1
- r << $2 if $2
- r << "', '" << k << "'%"
- else
- r << %Q[A HREF="#{u}">#{k}</A]
- end
- else
- r << "%=kw '" << s << "'%"
- end
+ r << "%=a '" << s << "'%"
when :XS
r << s << '">' << s.sub( /^mailto:/, '' )
else
■ [tDiary] Wikiスタイル
Wikiスタイルで
[[ ... ]]
のカッコをエスケープするのってできないのかな。 なんか、ちと制限多いな、Wikiスタイル。tDiaryスタイルに戻そうかな...。
■ [Ruby] はまりそうなら破壊的メソッドを普段から使わない
いや、ごもっともです。破壊的メソッドの方が高速だろうというのが頭にあるのでつい使っちゃうんですよねぇ、別に高速にする必要がなくても(^^;)。以後気をつけますです。
#ちと、リンクの確認もかねちゃってたりします。うん良い感じだ(^^;)。
■ [tDiary] カレンダーの表示がおかしい件
@data_path/2002/になぜか200301.td2が紛れ込んでた。たぶん、ftpでuploadする際に間違えたんだろう。削除したら直った。
#こちらはmyの代わり。うん、これも良い感じだ。
March 03, 2004
■ [Ruby] (続)予約語
ささださんの解。なるほど、例外を捕捉するやり方は気づきませんでした。予約語のテーブルを持たせていちいち比較するより効率も良さそうですね(試してないけど)。Ruby側の仕様追加等も気にする必要ないですし。さっそくいただきますです。
■ そうそう、昨日「プロパティ値からアクセッサを自動生成する」と書きましたが、該当する部分の機能は「set_foo(v) からfoo=(v)を自動生成する」の間違いでした。前者の機能もあるんですけどね。
March 03, 2005
■ [Ruby-GNOME2] Rabbit-0.0.7をWindowsで使ってみよう
日本語がトーフ(□)になってしまっていたんだけど、lib/rabbit/theme.rbのset_font_family()メソッドを無効化してあげれば文字化けしなくなるYO!
--- theme.rb 2005-02-12 15:12:02.000000000 +0900
+++ theme.rb.new 2005-03-03 20:25:25.707180594 +0900
@@ -213,7 +213,7 @@
end
def set_font_family(target, family=@font_family)
- target.prop_set("font_family", family) if family
+# target.prop_set("font_family", family) if family
end
def windows?
■ もちろん、フォントが常に同じになっちゃうけど、サイズは普通に変わるし実用上は問題なさげ。
この辺を工夫したテーマを書くと良いかもしれない。
#どうもデフォルトで取得しているフォントが英語フォントっぽい。
■ [Ruby-GNOME2] フォント選択
そのシステムでどんなフォントが使えるのかなぁ、と思ったら以下のようなone-linerが便利。
$ ruby -rgtk2 -e 'Gtk.init;Gtk::FontSelectionDialog.new.run'

▲ aamine [最近は破壊的メソッドのほうが遅いこともありますよ。gsub とか。]
▲ ただただし [Wikiスタイルはいたずらに文法を複雑にしない、というのが方針です:-) 「できること」は増やしません(笑)]
▲ むとぽん [aamineさん:なるほど。盲信はいけないですねぇ、反省。 たださん:そうですねぇ。やはり、結局のところ、オレスタイ..]