よたらぼ
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。

July 20, 2003 [おもひで]

[Misc] Software Design 8月号

Hikiが出てるとのことなので記念に購入。Hiki/RD+にも触れて欲しかったけど枚数が少ないからしょうがないか。

表1の「Wikiを利用しているサイトたち」がかなり偏ってるような気もしないでもないが、そのおかげでRuby-GNOME2 Project Websiteを入れてもらってるのはラッキーと言うべきか(^^;)。

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>

本日のツッコミ(全8件) [ツッコミを入れる]
たむら (July 20, 2003 22:03)

ありがとう。感謝します(笑)
偏ってるのは私の好みのせいでしょう。確かに Hiki/RD+は触れてませんでしたね。rbgnome2 があるのは、ある意味お約束かと。

むとぽん (July 21, 2003 00:13)

どうもです。
あれでアクセス数が増えてくれたら良いなぁ、とちょっと期待してます;)。

ま。 (July 21, 2003 00:55)

「is_a?」は慣習ですから。
適切に名前を定義すればbe動詞とhaveは例外的なものを除いて、なくなるはずです。

むとぽん (July 21, 2003 01:00)

Ruby-GNOME2では、has_foo?, foo?(is_foo)が違う意味のメソッド(プロパティ)として同居するんですよね。だから、どちらかは残さないといけないんです。あとuse_fooなんてのもあります。
一度議論があったのですがそのときはis_だけ削除してあとはそのままでという形になってるんですよね...。うーむ。

http://ruby-gnome2.sourceforge.jp/hiki.cgi?Naming+and+Conversion+Rules#is_%2A+methods.

ょゎ (July 21, 2003 04:30)

Hash(とその仲間)には has_{key?,value?} がありますね。

むとぽん (July 21, 2003 04:34)

あ、ホントだ。

ま。 (July 21, 2003 11:00)

Hashのhas_keyなどは互換性用です。
そのうち無くなると思います。

むとぽん (July 21, 2003 14:51)

今後は、key?, value?を使うようにということですね。
なるほど。


編集