history

青木日記 RSS

<前の日 | この月 | 次の日>

2004-01-09

まだまだ tdiarygrep

なるほど。 require 'tdiary' に成功したらプラグイン適用、 というのはアリだと思います。 いろいろありましたがマージしました。

……本当に、いろいろあったんですよ (泣)

[変更点]

  • 可能ならば tDiary のスタイルクラスを使ってパースし、プラグインを適用する (Matz 版マージ)
  • CGI で設定した tdiary.conf も見るようになった (Matz 版マージ)
  • 大衆に媚びたスタイルをデフォルトにした。(USE_THEME=true)
  • リンクのターゲットを日付じゃなくてセクションにした
  • 謎の検索ヒストリを追加

[稼働条件]

  • secure モードじゃない tDiary が動いていること
  • 自分で CGI プログラムを追加できる権限がある
  • それなりにマシンパワーが必要かもしれない

[インストールと設定]

  • tdiary.conf と同じディレクトリに置く。 ファイル名は制限に応じて grep.rb とか grep.cgi にする。
  • 実行可能にする。必要なら #! を書き換える。
  • 好みに応じて、ファイル先頭にあるフラグを書き換えてもよい。
  • ファイル先頭に書いてあるフォームをページのどこかに入れる。 意味がよくわからなければ tdiary.conf の HEADER に入れればよい。
  • ページキャッシュを更新しないと見えない鴨

[げっとする]

[CVS でげっとする]

% cvs -d :pserver:anonymous@cvs.loveruby.net:/src co tdiarytools

/.{,n}/

あれえ。/.{,n}/ と /.{0,n}/ って違うんだっけか?

% ruby -e 'p "aaa".slice(/.{,3}/)'
nil
% ruby -e 'p "aaa".slice(/.{0,3}/)'
"aaa"

むー。

% ruby-onig -e 'p "aaa".slice(/.{,3}/)'
nil
% ruby-onig -e 'p "aaa".slice(/.{0,3}/)'
"aaa"

むー。

うお、リファレンスマニュアルに載ってた。さすがだ。

    の繰り返し。{,n} や、{,} に対するマッチは必ず失敗する。

むー。

オーバーライドされたメソッドを呼ぶ

zt日記 2004-01-08より

> Ruby/GTKでfreezeがoverrideされているものがあるので
> Object#freezeが呼べるのかどうか考えてみた。

alias かなあ。

class C
  def freeze
    puts 'override'
  end
end
 
class Object
  alias _freeze freeze
end
 
c = C.new
c._freeze
p c.frozen?   #=> true
本日のツッコミ(全7件) [ツッコミを入れる]
ょゎ (2004-01-09 07:12)

同じくハマったことがあります。< {,n}
{0,n}と同じ意味にすると、何かマズいことがあるんでしょうかねえ。

あおき (2004-01-09 10:16)

例によって「Unixの伝統」か、
はたまた「数学的に深淵なる理由がある」の
どちらかだと思うんですが、何でしょうねえ。

こさこ (2004-01-09 10:25)

/a{,3}/.match("a{,3}")

shugo (2004-01-09 10:26)

おお、ありがとうございました:)

あおき (2004-01-09 10:29)

むー、それが通ってもあんまり嬉しくないような……

せざーる (2004-01-09 11:09)

はじめまして。RDスタイルで tdiarygrep r1.53 を使ってみたのですが、素直に動いてくれませんでした。
次の二点で引っかかっているようです。

* class RDSection なので eval に失敗する( rd_style.rb の方が悪い?)
* Diary.split_topics でサブタイトルの = が split で失われてしまう

あと、冒頭にサブタイトルなしで書き始めてしまうことがあるので、 subtitle が nil になることも想定していただけると助かります。

ただただし (2004-01-09 12:30)

tdiarygrep、tDiaryのcoreに入れませんか?

名前
メールアドレス

<前の日 | この月 | 次の日>
2002|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|04|05|06|09|10|
2009|07|
2010|09|

Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved. LIRS