Ruby言語やLinuxのネタが多いです。
July 20, 2003 [おもひで]
■ [Misc] Software Design 8月号
Hikiが出てるとのことなので記念に購入。Hiki/RD+にも触れて欲しかったけど枚数が少ないからしょうがないか。
表1の「Wikiを利用しているサイトたち」がかなり偏ってるような気もしないでもないが、そのおかげでRuby-GNOME2 Project Websiteを入れてもらってるのはラッキーと言うべきか(^^;)。
■ [Ruby] Rubyのメソッド名は「動詞は原形を使う」
Rubyのメソッド名は「動詞は原形を使う」というルールを採用しているので、has_sid?はhave_sid?またはsid?とかsid_available?などになるべきです。
■ うげげっ。Ruby-GNOME2では、Hoge#has_foo? とかってたくさんあるな。正直、今更変更は厳しいなぁ。Ruby/GTKの時代からそうだったわけだし...。
■ あれ、でも、Object#is_a?(mod)は、Object#be_a?じゃないのね。まぁ、be_a じゃなんのことかわからないか。
それにしてもbe動詞とhaveだけは例外でも良いような気がするんだけどなぁ。
■ [Hiki] rd+ style
久しぶりにイロイロと巡回してたら、うささんにHeadlineの仕様が変わったのはわけわからん(意訳)とおしかりを受けてた(?)のに気づいたので、オプション設定できるように以下のパッチを投げておきました。
近いうち採用されると思います。
--- old/rd2html.rb 2003-07-21 02:08:34.000000000 +0900
+++ rd2html.rb 2003-07-21 02:39:07.000000000 +0900
@@ -175,8 +175,10 @@
anchor = get_anchor(element)
label = hyphen_escape(element.label)
@toc.push({'level' => element.level, 'index' => anchor, 'title' => title.join('')})
- %Q[<h#{element.level}>#{a_name_href(anchor, title.join(""))}] +
- %Q[</h#{element.level}><!-- RDLabel: "#{label}" -->]
+ depth = element.level
+ depth += $options['rd.header_depth'] - 1 if $options['rd.header_depth']
+ %Q[<h#{depth}>#{a_name_href(anchor, title.join(""))}] +
+ %Q[</h#{depth}><!-- RDLabel: "#{label}" -->]
end
def apply_to_TextBlock(element, content)
hikiconf.rbに
$options['rd.header_depth'] = 2
と書けば以前と同じになります。
■ ところで、なぜ、HeadLineの深さのデフォルトが変わったかというと、MLではちょっと説明したのですが、Hiki本体にページタイトルという概念が導入されたことが関係しています。
通常はページタイトルに'='に該当する内容を書くことになるだろうと想定しました(つまりHiki/RD+内では=要素は使われなくなり、==が主に使われるようになる)。
とはいえ、好みもあるでしょうし、以前との互換性を考えるとオプションなしで変更してしまうのはちと強引すぎました。申し訳ないです。
■ #ご要望は直接言っていただけると対応も早いかと。最近、巡回頻度も減ってますので;)。
■ [Hiki] タイトル周辺
Hikiのタイトル周辺ってプラグイン化できないかなぁ。と思っていじり始めたんだけど挫折。
ここがいじれると結構自由度の高いWebページができると思うんだけどなぁ。
例えば、view.htmlで言えば以下の部分。誰かやってくんないかな。
<div class="adminmenu" id=tools></div> <span class="header" id=title></span> <div class="adminmenu" id=page_title></div> <h1 class="header" id=view_title></h1>

ありがとう。感謝します(笑)
偏ってるのは私の好みのせいでしょう。確かに Hiki/RD+は触れてませんでしたね。rbgnome2 があるのは、ある意味お約束かと。
どうもです。
あれでアクセス数が増えてくれたら良いなぁ、とちょっと期待してます;)。
「is_a?」は慣習ですから。
適切に名前を定義すればbe動詞とhaveは例外的なものを除いて、なくなるはずです。
Ruby-GNOME2では、has_foo?, foo?(is_foo)が違う意味のメソッド(プロパティ)として同居するんですよね。だから、どちらかは残さないといけないんです。あとuse_fooなんてのもあります。
一度議論があったのですがそのときはis_だけ削除してあとはそのままでという形になってるんですよね...。うーむ。
http://ruby-gnome2.sourceforge.jp/hiki.cgi?Naming+and+Conversion+Rules#is_%2A+methods.
Hash(とその仲間)には has_{key?,value?} がありますね。
あ、ホントだ。
Hashのhas_keyなどは互換性用です。
そのうち無くなると思います。
今後は、key?, value?を使うようにということですね。
なるほど。