/ 最近 .rdf 追記 設定 本棚

脳log[2005-05-20~]



2005年05月20日 (金)

最終更新: 2011-02-13T07:59+0900

[tDiary] wiki_parser.rb: URLを""で括ると自動リンク、画像挿入がうまくいかない

末尾の " をURLの一部だとみなすせい。wiki_parser.rbの 198行目辺りの

r = %r<(((https?|ftp):[\(\)%#!/0-9a-zA-Z_$@.&+-,'"*=;?:~-]+)|([0-9a-zA-Z_.-]+@[\(\)%!0-9a-zA-Z_$.&+-,'"*-]+\.[\(\)%!0-9a-zA-Z_$.&+-,'"*-]+))>

r = %r<(((https?|ftp):[\(\)%#!/0-9a-zA-Z_$@.&+-,'*=;?:~-]+)|([0-9a-zA-Z_.-]+@[\(\)%!0-9a-zA-Z_$.&+-,'"*-]+\.[\(\)%!0-9a-zA-Z_$.&+-,'"*-]+))>

に変更。メールの方はいじってないけど不都合があるならそっちも " を削ればいい。

 追記:2005-09-26

tDiary-2.1.3から採用される新Wikiスタイル(HikiDoc)では末尾の " が URLには含まれない模様。つまり修正の必要なし。

このページを読む限りダブルクォーテーションをURIの一部と見なす必要はないような。

山形括弧 "<" と ">" そして二重引用符 (") は排除されます。なぜなら、これらはしばしばURI周辺の区切り子として文書や作法の分野で使われるからです。 "#" 記号は排除されます。なぜなら、これはURIを、URI参照中のフラグメント識別子(第4項)から区切るのに使われるからです。 百分率記号は排除されます。なぜなら、これは回避された文字の符号化に使われるからです。

最終更新: 2011-02-13T07:59+0900

買いたい本がたまってるのに金欠な罠。あと4日。あと4日耐えるんだ。

桜庭 一樹『荒野の恋』(ファミ通文庫)とか今日発売なのに買えない。いや、買えるけど買うと本当に切羽詰まってしまう。懐具合がピンチ。免許の更新とバイクの保険の更新とチェーン&スプロケ交換と、出費の予定が目白押しだ。

それなのに桜坂 洋氏の「男坂」な応援メッセージを読んでしまったら買いたくなるじゃないか。(それでこその応援文だけどね)

こっそり全文引用。だけどIE6でもFirefox1.0.3でも表示できないね。

 [2005-05-21]

桜坂洋先生応援メッセージ by桜庭一樹

こっそり


2005年05月19日 (木)

[本日の購入][CD] 小松未歩 【I just wanna hold you tight】


2005年05月17日 (火)

[tDiary] 更新時に特別なことをしたいプラグインがあったので

class TDiaryUpdate < TDiaryAdmin
	def initialize( cgi, rhtml, conf )
		@title = conf.to_native( cgi.params['title'][0] )
		@body = conf.to_native( cgi.params['body'][0] )
		@hide = cgi.params['hide'][0] == 'true' ? true : false
		super
	end

protected
	def do_eval_rhtml( prefix )
		super
		@plugin.instance_eval { update_proc }
		@diary.eval_rhtml({'date_format'=>''}, PATH) rescue nil; # この行を追加
		anchor = @plugin.instance_eval( %Q[anchor "#{@diary.date.strftime('%Y%m%d')}"].untaint )
		clear_cache( /(latest|#{@date.strftime( '%Y%m' )})/ )
		raise ForceRedirect::new( "#{@conf.index}#{anchor}" )
	end
end

一行追加した。更新時の負荷増加なんて無問題でしょ。optが手抜きなのは気にしない方向で。

加えて、カテゴリを使った場合は update_procで category.rbによって section.bodyが評価されるので更にゴニョゴニョしないと「更新時に一度だけ実行」というわけにはいかない。

ここでハタと気付く。update_procでできるなら tdiary.rbをいじることないやん。category.rbの真似しよう。

 追記:2005-09-26

コレ(↓)。category.rbのより簡単なのは、category.rbでは Pluginクラスとは違うクラス(のインスタンス)の中で評価するために bindingを受け渡したりしてるから。

add_update_proc{
  diary = @diaries[@date.strftime('%Y%m%d')];
  diary.each_section do |s|
    apply_plugin(s.subtitle_to_html);
    apply_plugin(s.body_to_html);
  end
}

[tDiary] Wikiスタイルでソースを引用した時に、えらく広範囲に打ち消し線が表示されて困ってるあなた(俺?)へ

==

==

のように、プラグイン呼び出しを装って単なる文字列を埋め込むのがよろしかろう。

いやそれよりも整形済みテキストとして表示すれば。


2005年05月14日 (土)

ruby-1.8.2をコンパイルしてみる (Windows98 bcc55)

minirubyによる bcc32/mkexports.rbの実行中に sortの部分で Segmentation faultを起こす。

sortをとばして続行。

make testで sample/test.rbを実行すると Array#sortで Segmentation fault。必ず止まる。この部分でだけ止まる。sort!ではなく sortで起きるのでコレではないみたいだし。う〜む。

Array#sortって dupして sort!してるだけじゃないの?

 [2005-05-24]

まっさらなWindowsにするのが一番の解決法だとは思いますが(-_-;)

miniruby (ruby 1.8.3 (2005-05-12) [i386-bccwin32]) で実験してみたら

[1,2,3].sort!

は問題なし。

1], [2], [3.sort!;

では Segmentation fault

1], [2], [3.sort!{|a,b| a<=>b };

は問題なし。

array.cの sort_2で何かが起こっている。

[本日の購入][マンガ]佐々木少年 【真月譚 月姫】 2

[本日の購入][マンガ]榎本 ナリコ 【こころ】

 [2005-05-19]

タイトルの「こころ」ってのは夏目漱石の『こころ』のこと。現代風アレンジだって。現代文の教科書に部分的に載ってたのを思い出しながら読んだ。

純粋な人間は人の世では生きられない。大人になるにつれ理想を捨て現実と折り合いをつけて生きることを学ばねばならない。とかなんとかを Kの生き方を見て思うわけですが。

[本日の購入][マンガ]玉置 勉強 【東京赤ずきん】 1

[本日の購入][マンガ]玉置 勉強 【東京赤ずきん】 2


2005年05月10日 (火)

たしかに嘘は言ってないけど……

10日読売新聞朝刊。読売オンライン

週間女性・記事「一皿100円均一?本物ならば…ありえません」「市中にはびこる代替ネタにご用心」 くら寿司(大阪府堺市)「100円均一の店すべてが不当表示をしているような誤解を読者に与えた」うちは本物を使ってる。営業妨害だ。謝罪記事を出せ。 週間女性「特定の店を対象とした記事ではない(から応じない)」

週間女性の言うように、記事は「特定の店」を対象にはしてない(らしい)けど、むしろ「全ての店」? とぼけた言い訳しよるなー。


2005年05月09日 (月)

[tDiary]プラグイン: user_css2.rb 修正。

使用中の最新版はコレプラグインの概要と前の版はココ

変更点は

  • 地の文で theme/ ディレクトリを探索するように変更。(@secure=trueで動くかな?)
  • [CSSファイルを開く]ボタンを追加。javascript使用。(修正するにはオリジナルを参照できなくては)
# user_css2.rb: $Revision3% lastupdate:2005-05-10
#
# Append CSS fragment via Preferences Page.
#

add_header_proc do
	[@conf["user_css2..css"], @conf["user_css2.#{@conf.theme}.css"]].map{|css|
		next unless(css);
		<<-STYLE
	<style type="text/css"><!--
		#{css.gsub(/\x0d\x0a|\x0a|\x0d/, "\n\t\t")}
	--></style>
		STYLE
	}.join('');
end

unless @resource_loaded then
	def user_css2_label
		'テーマの微調整'
	end
	def user_css2_desc
		<<-HTML
		<h3>CSS断片</h3>
		<p>下から選んだテーマに、スタイルシートを追加設定する場合、以下にCSSの断片を入力してください。</p>
		HTML
	end
	def user_css2_buttonlabel1
		'このテーマを修正する'
	end
	def user_css2_buttonlabel2
		'CSSファイルを開く'
	end
end

if(!@conf_theme_list && @mode =~ /^(conf|saveconf)$/ && @cgi.params['conf'][0] == 'user_css2')
	# plugin/00default.rb からのコピー
	@conf_theme_list = []
	Dir::glob( "#{::TDiary::PATH}/theme/*" ).sort.each do |dir|
		theme = dir.sub( %r[.*/theme/], '')
		next unless FileTest::file?( "#{dir}/#{theme}.css".untaint )
		name = theme.split( /_/ ).collect{|s| s.capitalize}.join( ' ' )
		@conf_theme_list << [theme,name]
	end
end

add_conf_proc( 'user_css2', user_css2_label ) do
	if @mode == 'saveconf' then
		if(@cgi.params['user_css2.css'].empty? || @cgi.params['user_css2.css'][0].empty?)
			@conf.delete("user_css2.#{@cgi.params['user_css2.theme'][0]}.css");
		else
			@conf["user_css2.#{@cgi.params['user_css2.theme'][0]}.css"] = @cgi.params['user_css2.css'][0];
		end
	end

	theme = (@cgi.params['user_css2.theme'][0] or @conf.theme);
	theme_hash = Hash[* @conf.options.map{|thm,css| (thm =~ /^user_css2\.(.+)\.css$/) ? [$1, $1.split(/_/).collect{|s| s.capitalize}.join(' ')+' (deleted)'] : nil}.compact.flatten ].update( Hash[* @conf_theme_list.flatten] );
	theme_hash[''] = '* All Theme *';
	theme_url = theme_url(); theme_url += '/' if(theme_url[-1] != ?/);

	<<-HTML
	#{user_css2_desc}
	<select name="user_css2.theme">
		#{theme_hash.keys.sort.map{|t| %(<option value="#{CGI::escapeHTML(t)}"#{' selected' if t == theme}>#{CGI::escapeHTML(theme_hash[t])}</option>)}.join}
	</select>
	<input type="submit" value="#{user_css2_buttonlabel1}">
	<input type="button" value="#{user_css2_buttonlabel2}" onclick="window.open('#{theme_url}'+this.form['user_css2.theme'].value+'/'+this.form['user_css2.theme'].value+'.css')" >
	<p><textarea name="user_css2.css" cols="70" rows="15">#{CGI::escapeHTML( @conf["user_css2.#{theme}.css"].to_s )}</textarea></p>
	HTML
end

2005年05月06日 (金)

Ever17:つぐみ編グッドエンド

沙羅、優に続いて3つ目のグッドエンド。何回かバッドになって諦めてたんだけど、思い出したように攻略を見ながら再開。

選択肢は概ね間違ってない。どうやら5日の「エレベーターのボタン」+「救護室へ」の組み合わせによるバッドフラグがオンになってバッドエンドになってたみたい。よくわからない地雷仕掛けるのはやめて〜。


2005年05月05日 (木)

[本日の購入][]プロジェクトタイムマシン 【萌え萌えうにっくす! UNIXネットワーク管理ガイド】 PC UNIXネットワーク管理日々の疑問に萌えの一手

元祖・萌え本。先に萌えありきでなく、小さい字でギッチリ中身(+ネタ)が詰まってる。

サーバーには大抵UNIX系OSが入ってることもあって、家のPCがWindowsでもいつまでも知らん振りできないし、インターネットに接続するときにプロバイダの送ってきた(図入りで逐一手順を指示してくれる超初心者向けの)マニュアルに従うしかできないのも嫌だ。せめてやってることの意味ぐらい知りたい。


2005年05月03日 (火)

最終更新: 2009-09-26T03:21+0900

[本日の購入][CD]【ロズウェル 星の恋人たち OST】

Didoの他にも Sarah McLachlan, Sheryl Crow, Travisなんて、カーペンターズとエンヤしか知らない人間でも聞いたことある名前が。

[本日の購入][マンガ]やすいひろさと 【月光館戯曲】

中野友貴に続いてコミックRINのバニラ組の人の本を購入。乳が……乳が……でかい。

[本日の購入][]東野 圭吾 【怪笑小説】

[本日の購入][]福井 晴敏 【川の深さは】


2005年05月02日 (月)

[本日の購入][マンガ]やぶうち 優 【ないしょのつぼみ】 1

エロくはないですね。ただ、ごろごろごろではあります。ごろごろごろです。ごろごろごろ……ごろごろごろ……。

[本日の購入][マンガ]浦沢 直樹 【PLUTO】 001

[本日の購入][マンガ]佐藤 秀峰 【ブラックジャックによろしく】 11

[本日の購入][マンガ]KURO 【春ノ雨】

3人で12000円 Σ(゜Д゜ υ) !!! ごちそうさまでした <(_ _)>


2005年04月30日 (土)

[本日の購入][]桜庭 一樹 【砂糖菓子の弾丸は撃ちぬけない】

[本日の購入][マンガ]浦沢 直樹 【PLUTO】 002

[本日の購入][マンガ]荒木 飛呂彦 【STEEL BALL RUN】 2

[本日の購入][マンガ]ウエダ ハジメ 【Qコちゃん THE地球侵略少女】 2

[本日の購入][マンガ]和月 伸宏 【武装錬金】 6

[本日の購入][マンガ]椿 あす×まっつー 【これが私の御主人様】 3


2005年04月28日 (木)

[本日の購入][マンガ]吾妻 ひでお 【失踪日記】

「あがつまひでお」って読んでた。「あづまひでお」だって。そうか普通そうだよな。

[本日の購入][マンガ]えりちん 【みたむらくん】 3


2005年04月27日 (水)

[tDiary]プラグイン: amazon5.rb (amazon.rbのAmazonWebService利用版。)

Amazon Webサービスを使ってキャッシュをXMLで保存する以外は amazon.rbと大体*一緒。ひとつだけ新しいメソッド追加。

5に意味は無くて、2とか3は既にありそうだな〜ってことで。

 [2005-04-28]

キャッシュが効いてなかったり、nilに対して存在しない呼び出しをしてたり、AssociateIDを一か所埋め込んでなかったり、widthとheightを間違えてたり、amazon.rbのisbn()を呼び出してたりしたのを修正。多分 amazon.rbなしでも動くんじゃないかな (この日記では両方オンにして二種類キャッシュしてXMLの方だけ使って表示してる)。

 [2005-04-29]

ruby-amazon(RAA)なんてあるんな。知らんかった。標準添付じゃないから使わなくてもいいかな。

* では何が違うかっていうとバグが潜んでそうなところが違う。

[本日の購入][マンガ]木村 太彦 【瀬戸の花嫁】 七

[本日の購入][マンガ]ウエダ ハジメ 【Qコちゃん THE地球侵略少女】 1

[本日の購入][]木村 航 【ぴよぴよキングダム】 2 ときのしおり