/ 最近 .rdf 追記 設定 本棚

脳log[2005-06-14~]



2005年06月14日 (火)

[tDiary]プラグイン:index_list.rb: 「最新」「月」表示に目次を。

細かいことは以前の日記に書いてあるので、ここではビャッとソースを引用。

# index_list.rb
#
# 「最新」「月」表示に対応した目次を表示。
# recent_listやtitle_listと違い日付のリンク先は日別表示でなくページ内。
# その為に、diary.rhtmlをいじって日付にアンカーを付ける必要がある。
# 骨格にrecent_list.rbを使用。
# [2005-06-15] tdiary-2.1.1 N日表示対応
# [2005-04-20] 月表示では昇順に。

def index_list(date_format = nil, show_title = true)
	if(@mode == 'latest')
		limit = @conf.latest_limit;
	elsif(@mode == 'month')
		limit = 31;
	else
		return '';
	end
	date_format ||= @date_format;
	latest_start_ymd = @date.strftime('%Y%m%d');
	result = %Q[<ul class="index-list">\n];
	b = lambda {|ymd|
		next if(@mode == 'latest' && latest_start_ymd < ymd);
		break if(limit <= 0);
		diary = @diaries[ymd];
		next unless(diary.visible?);

		result << %Q[\t<li><a href="##{ymd}">#{diary.date.strftime(date_format)}</a>];
		if(show_title && diary.title)
			result << %Q[ #{diary.title}];
		end
		result << %Q[\n\t\t<ul class="index-list-item">\n];
		i = 1;
		if(!@plugin_files.grep(/\/category.rb$/).empty? && diary.categorizable?)
			diary.each_section{|section|
				result << "\t\t<li>";
				result << section.categories.collect{|c| category_anchor("#{c}")}.join;
				result << ' '+section.stripped_subtitle_to_html if(section.stripped_subtitle);
				result << "</li>\n";
				i += 1;
			}
		else
			diary.each_section{|section|
				if(section.subtitle)
					result << %Q[\t\t<li>#{section.subtitle_to_html}</li>\n];
				end
				i += 1;
			}
		end
		result << "\t\t</ul>\n\t</li>\n";
		limit -= 1;
	}
	begin
		@diaries.keys.sort.send( (@mode=='latest' ? :reverse_each : :each), &b);
	rescue LocalJumpError # <- break
		# Procオブジェクトで breakは使えないのだろうけど
		# それをブロックとして渡してるんやからエラーにせんでもええやん。> ruby-1.8.2
	end
	result << "<ul>";
	return apply_plugin(result);
end

2005年06月08日 (水)

[tDiary]プラグイン:compress.rb 手動バックアップ

@conf.data_path以下の日記データを圧縮・ファイル化する。


2005年06月01日 (水)

[本日の購入][]日日日 【狂乱家族日記】 壱さつめ

[本日の購入][]日日日 【アンダカの改造学】 I ネームレス・フェニックス

[本日の購入][雑誌]SFマガジン編集部 【SFが読みたい!】 2005年版

[本日の購入][マンガ]山本 小鉄子×乙一 【死にぞこないの青】

[本日の購入][マンガ]あずま ゆき 【ボクの番台さん】 1


2005年05月29日 (日)

手ごたえは

耳:55% / 読:75% といったところだろうか。

[本日の購入]

  • 書籍収納(文庫判)×10
  • 書籍収納(新書判)×5
  • 書籍収納(B6判)×15
  • 書籍収納(A5判)×5
  • メディア収納(CD)×1

天井まで届く高さと短い奥行きの本棚で壁を埋められたらいいのだけど。そんなことはできない。積んだり並べたり運んだり、箱には箱の良さがあるさ。


2005年05月28日 (土)

[本日の購入][]日向まさみち 【本格推理委員会】


2005年05月27日 (金)

[本日の購入][CD]浜崎あゆみ 【A BALLADS】 (CCCD! CCCD! CCCD!)

[本日の購入][マンガ]関崎 俊三 【ああ探偵事務所】 8

丸々前巻の続き。ストリートミュージシャン。相変わらずの変人さん大集合。

[本日の購入][マンガ]ばらスィー 【苺ましまろ】 4

[本日の購入][]前薗はるか×TinkerBell 【蝶ノ夢】

[本日の購入][]夏目 漱石 【こころ】

[本日の購入][]浦賀 和宏 【記号を喰う魔女】

[本日の購入][]東野 圭吾 【どちらかが彼女を殺した】


2005年05月26日 (木)

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

[本日の購入][]西尾 維新 【新本格魔法少女りすか】 2

[本日の購入][]舞城 王太郎 【みんな元気。】

[本日の購入][]高見 広春 【バトル・ロワイアル】

[本日の購入][マンガ]鬼ノ仁 【近親相姦】


2005年05月25日 (水)

[本日の購入][] 桜庭 一樹 【荒野の恋】 第一部 catch the tail

[本日の購入][]高殿 円 【銃姫】 4 〜Nothing or All Return〜

[本日の購入][]桜坂 洋 【よくわかる現代魔法】 5 TMTOWTDI たったひとつじゃない冴えたやりかた

[本日の購入][雑誌]【ファウスト】 vol.5

[本日の購入][雑誌]【SFマガジン】 7月号

[本日の購入][マンガ]大岩ケンヂ×滝本竜彦 【N.H.K.にようこそ】 3

[本日の購入][マンガ]大岩ケンヂ 【99ハッピーソウル】

[本日の購入][マンガ]大高 忍 【すもももももも 〜地上最強のヨメ〜】 1

[本日の購入][マンガ]赤松 健 【魔法先生ネギま!】 10

[本日の購入][マンガ]CLAMP 【xxxHOLiC】 6

[本日の購入][雑誌]【コミックRIN】 vol.6

[本日の購入][雑誌]【ヤングアニマルあいらんど】 No.3


2005年05月23日 (月)

[A1301S] 落としたら直るって……

文字通りチャンネルをまわしてた頃のテレビのような。

土砂降りの雨でパンツの中まで濡れた日から半年以上に渡ってポケットの中の A1301Sは不調でした。

丸一秒間押し続けないとキー入力を認識しないのです。実際の仕組みは知らんけど、仮に正常なら 0.1秒毎にキーの押し下げ状態をスキャンしてたとして、それが 1秒毎になったような。

ワンプッシュ一秒。11桁の番号なら 11秒。このじれったさ。

それが何? 一昨日 1mの高さから落としてからこの半年がなかったみたいに正常に動いてるやん。

機械は叩けば直るというのは平成の今日に至っても真実なのですか。一昨日までの不便を思うとこんなオチにがっかりですよ。


2005年05月21日 (土)

[tDiary] プラグインが自分の位置(日付、セクション番号)を知るのって難しくない?

@mode == 'month'のときなんか @dateは一日を指してるだけだし。

プラグインから見えるインスタンス変数 Plugin@dateは TDiaryHoge@dateと同じなので Plugin@mode(TDiaryHoge#mode)に対応した(月表示なら月単位での)日付しか入ってない。それよりも body_(enter|leave)_procに与えられるような HogeDiary#dateが欲しい。


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スタイルでソースを引用した時に、えらく広範囲に打ち消し線が表示されて困ってるあなた(俺?)へ

==

==

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

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