・2008/06/07 里親になりそうです
・2008/06/15 やってきた
・2008/06/16 写真と動画
・2008/07/18 もみちゅぱ
・2008/07/20 もみちゅぱ動画
・2010/06/09 猫を飼ってる人には判ること
・2011/04/30 もみもみちゅぱちゅぱ
・2011/05/01 むにゅーん
☆エイプリルフール
・2005/04/01
・2004/04/01
・2003/04/01
☆サーバ設定
・2004/12/14(1) ハード・ソフト一覧
・2004/12/14(2) OS Install
・2004/12/15(1) /etcの下
・2004/12/15(2) 各portの設定
・2004/12/17(1) RAIDディスク監視
・2004/12/17(2) IDEディスク監視
・2004/12/17(3) HotSaNIC
・2008/05/31 メンテナンスのお知らせ文テンプレ
・2008/06/01 ECCエラーなHDD入れ替え
・2008/12/30 HDD入れ替え
・2009/06/06 電源が壊れたときの作業ログ
・2011/05/29 tDiaryを3.0系統に入れ替えたときのパッチ
☆Xperia acroHD・Android
・2012/12/22 root取り~Titaniumまで
・2013/01/06 アプリ整理・Link2SD
・2013/01/21 旧端末→新端末アプリ移動
・2013/02/09 旧端末分解・アプリ整理
☆写真
・2002/12/31 冬コミ ブリジットコス
・2004/02/16 Babyロリ服
・2011/03/09 リーマンコス(笑)
・2011/07/19 BABYロリ服・浴衣
・2011/08/13 夏コミ2日目。薄桜鬼千鶴・BABYロリ服
・2011/08/14 夏コミ3日目。リリカルなのは制服・薄桜鬼千鶴
☆その他
・2004/08/08 tDiary改造メモ
・2003/02/18 キャッチセールスの断り方
・2010/08/12 リネ2 FFC応募作品
・2011/07/12 リネ2とTERAとの比較記事
2004-02-02 (Mon)
★[tDiary] tDiary更新 [18:36]
昨日システムにパッチあてて、いろいろ新しいものに入れ替えたら、日記の更新ができなくなっちゃいました。こんなエラーが出るんです。
undefined method `to_euc' for "":CGI::QueryExtension::Value (NoMethodError)
/home/frea/public_html/diary/tdiary.rb:639:in `initialize'
/home/frea/public_html/diary/update.rb:20:in `new'
/home/frea/public_html/diary/update.rb:20
古い tDiary を使ってるのが原因と思わたので、あわてて入れ替え。何とか回復したみたい。
まだいろいろいじってる最中なんで、うまく見れない可能性があります。
エラーになってもそれは一時的なものなので(だと信じたい)、懲りずにまた来てくださいねっ☆
★[tDiary] たぶんこれで [19:33]
いぢるのは完了です。たぶん…… ← 自信ない
★[tDiary] ちゅーわけで、まとめ [22:19]
システムを update した時に、ruby なのか、どっかのモジュールなのか、そのへんが update されたのが原因っぽいです。ruby1.8 は tDiary 1.5 (開発版) でしかサポートされていないのに、無理矢理使ったのも原因かも(汗
というわけで、ver. 1.4.3 (← 古っ。最初に入れたときのまんまでした) から、1.5.6 (開発版の最新 stable) にアップグレードです。
あなうんす。更新チェック用にlirsが取れるようになりました。アンテナ運営者は、こちらに変更してください。 これに伴い、以前のタイトル一覧 (タイトル+コメント数のみ とか タイトルのみ のリスト) は廃止になってます。
以下は自分用の(次回upgrade時に使うつもりの)メモですが、使いたい人がいたら勝手に持ってってちょーだいな。
★1.4.3 で使っていたデータをコピー。
保存形式が、昔の形式 (バイナリ) と今の形式 (テキスト) で変わってるので、ここのページを参考に misc/convert2.rb を使ってデータを変換しました。
昔やってみたときはリンク元なんかが移行されなくて「だめだこりゃ」と思った覚えがあるんですが、今回は何の問題もなく成功。
# mkdir data
# cp -Rp old_data/* data/
# chown -R frea:punimoe data/ ← 怖いので一旦自分のアカウントに変更
# suspend ← su を一時中断
$ ./misc/convert2.rb
$ % ← su を再開
# chown -R www:www data/
ここで index.rb を見ると、style が見つからなくて白い画面であるものの、何とか表示されてる。
★style ファイルをコピー
theme/freadiary ディレクトリを作り、昔つかってた freadiary.css をコピーした。
$ mkdir theme/freadiary
$ cp ../diary_old/theme/freadiary.css theme/freadiary/
以前と見栄えが結構ちがう。生成される HTML を見ると、どうも CSS の class が変わっている模様。一生懸命ソースを見ながら修正。
あとで気づいたんですが、misc/theme/convert/theme_convert.rb というのがありました ^^; 無駄骨だったみたい ^^;;;
★昔の日記で改造してたところを、新しい tDiary に apply する
★tdiary.rb
日記追加時に時間が入るように class TDiaryAppend を改造。こんな感じ。
ホントは plugin でやるべきなんだろうけれど、手抜きです。
*** tdiary.rb.orig Mon Feb 2 18:31:39 2004
--- tdiary.rb Mon Feb 2 18:34:21 2004
***************
*** 1097,1102 ****
--- 1097,1110 ----
end
@author = @conf.multi_user ? @cgi.remote_user : nil
+ updatetime = Time::now
+ updatetimestr = updatetime.strftime(" \[%H:%M\]")
+ bodylines = @body.split(/\n/)
+ if bodylines.size > 0 then
+ bodylines[0] += updatetimestr
+ end
+ @body = bodylines.join("\n")
+
@io.transaction( @date ) do |diaries|
@diaries = diaries
@diary = self[@date] || @io.diary_factory( @date, @title, '', @conf.style )
★misc/plugin/recent_list.rb
この日記では右側に表示されてる部分。コメント数を入れたかったので追加です。
昔のバージョンで extra_erb という引数があったのが、無くなってました。
気持ち悪いけど、'obsolete' と指定してください、という糞仕様にします。えーん
*** recent_list.rb.orig Mon Feb 2 17:55:54 2004
--- recent_list.rb Mon Feb 2 18:04:23 2004
***************
*** 6,11 ****
--- 6,16 ----
# title_with_body: trueで各パラグラフへのリンクのtitle属性にそのパラグラフの一部を指定(false)
# show_size: trueで日記長を表示(false)
# show_title: trueで各日のタイトルを表示(false)
+ # extra_erb: タイトルリスト生成後さらにERbを通すか
+ # (obsolete. 引数の数の調整のためだけの要素。
+ # 後の show_comment_num を使うなら、ここには
+ # obsolete と指定すべし) [added by suteneko]
+ # show_comment_num ツッコミ数を表示(false) [added by suteneko]
#
# 注意: セキュアモードでは使えません。
# 備考: タイトルリストを日記に埋め込むは、レイアウトを工夫しなければ
***************
*** 40,46 ****
end
MODIFY_CLASS
! def recent_list(days = 30, date_format = nil, title_with_body = nil, show_size = nil, show_title = nil, extra_erb = 'obsolete')
days = days.to_i
date_format ||= @date_format
--- 45,51 ----
end
MODIFY_CLASS
! def recent_list(days = 30, date_format = nil, title_with_body = nil, show_size = nil, show_title = nil, extra_erb = 'obsolete', show_comment_num = nil)
days = days.to_i
date_format ||= @date_format
***************
*** 94,99 ****
--- 99,107 ----
end
i += 1
end
+ end
+ if show_comment_num == true
+ result << %Q| (#{m.diaries[date].count_comments} comments)<br>\n|
end
result << "</div>\n"
days -= 1
そしてfooterにこんな感じで指定。
<%=recent_list 4,nil,nil,nil,nil,'obsolete',true%>
…まぢで気持ち悪い指定のしかただ。えぐっ
★misc/plugin/speed_comment.rb.orig
email を付けたかったので、改造。
*** speed_comment.rb.orig Mon Feb 2 17:36:06 2004
--- speed_comment.rb Mon Feb 2 19:03:58 2004
***************
*** 21,32 ****
add_body_leave_proc do |date|
if /latest|month/ =~ @mode and not @cgi.mobile_agent? then
@conf['speed_comment.name_size'] = 20 unless @conf['speed_comment.name_size']
@conf['speed_comment.body_size'] = 40 unless @conf['speed_comment.body_size']
r = ""
r << %Q[<div class="form"><form method="post" action="] + @index + %Q["><p>]
r << %Q[<input type="hidden" name="date" value="] + date.strftime( '%Y%m%d' ) + %Q[">]
- r << %Q[<input type="hidden" name="mail" value="">]
r << comment_name_label + %Q[: <input class="field" name="name" size="#{@conf['speed_comment.name_size']}" value="#{@cgi.cookies['tdiary'][0]}">]
r << comment_body_label + %Q[: <input class="field" name="body" size="#{@conf['speed_comment.body_size']}">]
r << %Q[<input type="submit" name="comment" value="] + comment_submit_label + %Q[">]
r << %Q[</p></form></div>]
--- 21,37 ----
add_body_leave_proc do |date|
if /latest|month/ =~ @mode and not @cgi.mobile_agent? then
@conf['speed_comment.name_size'] = 20 unless @conf['speed_comment.name_size']
+ @conf['speed_comment.mail_size'] = 0 unless @conf['speed_comment.mail_size']
@conf['speed_comment.body_size'] = 40 unless @conf['speed_comment.body_size']
r = ""
r << %Q[<div class="form"><form method="post" action="] + @index + %Q["><p>]
r << %Q[<input type="hidden" name="date" value="] + date.strftime( '%Y%m%d' ) + %Q[">]
r << comment_name_label + %Q[: <input class="field" name="name" size="#{@conf['speed_comment.name_size']}" value="#{@cgi.cookies['tdiary'][0]}">]
+ if @conf['speed_comment.mail_size'] == 0
+ r << %Q[<input type="hidden" name="mail" value="">]
+ else
+ r << comment_mail_label + %Q[: <input class="field" name="mail" size="#{@conf['speed_comment.mail_size']}" value="">]
+ end
r << comment_body_label + %Q[: <input class="field" name="body" size="#{@conf['speed_comment.body_size']}">]
r << %Q[<input type="submit" name="comment" value="] + comment_submit_label + %Q[">]
r << %Q[</p></form></div>]
***************
*** 44,49 ****
--- 49,55 ----
<<-HTML
<h3>簡易ツッコミフォームのサイズ</h3>
<p>名前欄: <input name="speed_comment.name_size" size="5" value="#{@conf['speed_comment.name_size'] || 20}"></p>
+ <p>メール欄: <input name="speed_comment.mail_size" size="5" value="#{@conf['speed_comment.mail_size'] || 0}">(0なら非表示)</p>
<p>本文欄: <input name="speed_comment.body_size" size="5" value="#{@conf['speed_comment.body_size'] || 40}"></p>
HTML
end
***************
*** 53,58 ****
--- 59,66 ----
if @mode == 'saveconf' then
@conf['speed_comment.name_size'] = @cgi.params['speed_comment.name_size'][0].to_i
@conf['speed_comment.name_size'] = 20 if @conf['speed_comment.name_size'] < 1
+ @conf['speed_comment.mail_size'] = @cgi.params['speed_comment.mail_size'][0].to_i
+ @conf['speed_comment.mail_size'] = 0 if @conf['speed_comment.mail_size'] < 1
@conf['speed_comment.body_size'] = @cgi.params['speed_comment.body_size'][0].to_i
@conf['speed_comment.body_size'] = 40 if @conf['speed_comment.body_size'] < 1
end
★plugin/00default.rb
「設定」とかのボタンを出すための条件 (if文) を変更。
「unless @mode == 'latest'」となっている部分を削除したのがほとんど。
次回改造時に特に問題になりそうもないのでdiffは略。
★plugin/ja/00default.rb
メッセージの書き換えのみ。
「ツッコミを入れる」を「ツッコミを入れる/省略されたツッコミを見る」に書き換えただけ。
これもdiffは略。
★.htaccess
ほとんどのディレクトリはwebからみえる必要が無いので .htaccess を作成。
内容は1行「deny from all」だけ。
★plugin 設定
あーーっ、設定するときはドキュメント見れなかったのに、今は見れるようになってるっ。タイミング悪っ…
有効にしたのは以下
calendar2.rb
category.rb
comment_mail-smtp.rb
counter.rb
disp_referrer.rb
makelirs.rb
navi_user.rb
recent_list.rb
referer-utf8.rb
speed_comment.rb
whatsnew.rb
makelirs は、tDiary 自体のディレクトリに www で書き込み権限を出したくなかったので、
tdiary.conf で @options['makelirs.file'] = 'lirs/antenna.lirs' と指定してディレクトリを変更 ← これ、ドキュメントには載ってなくって、ソース見たらコメントで載ってた
random_google.rb は使ってみたけど重いので断念。このために chasen までインストールしたのに ^^;
いぢょ