2003年05月22日
_ きびだんごのLast Update。
・・・が、表示されない問題をOratorさんから受けて修正。
どうも、返信のない投稿が最新の投稿になっているときに、Last Updateが表示されなくなっていたらしい。以下にデータ解析時のメモを書いておこう。
cbbs.dat*1ってデータの順序が投稿順ではなくてツリー表示したときのツリー順に並ぶようになってる。しかし、一行目は常に最新投稿の記事番号だけが入っていたから、てっきりこれは最新投稿を表すダミーデータかと思っていた。そしたら、最新投稿=ツリーの一番上(すなわち新規投稿をした状態)のときはダミーデータに見えていた一行目に実データが入る仕様になっていたらしい。
*1 Child Treeの掲示板データファイル
2004年05月22日
_ [tDiary] namazuの結果がおかしい。
どうも、tDiaryにする前のにっきが化けてしまっているらしい。 仕方ないので、旧にっきもeuc化することにして、対応してみることにする。
追記。
なんか、mknmz.rbを使うとある程度以上時間のかかるインデックス作成ができないような気配。 仕方ないので、一旦telnet経由でmknmzしてchmodしてやることに。
これでうまくいくかなぁ。
_ [ふともも] ふともも Ver.0.61.0116 仮公開。
ツッコまれたネタを実装。 ついでに、クエリー検索や関連検索時に返信しようとすると返信先URLがおかしくなる問題も修正した。
これで、問題報告がなければ、とりあえずふともも開発は一段落…かなぁ。
2008年05月22日
_ [tDiary] 日記の一部を隠す。
…何てことできないかなぁ。
まだ、公開できる文章になっていないものを一時的に登録しておいたり、人に見せたくないアイディアを書き留めておいたり。 そんな使い方をしたいのだけど、「この日の日記を隠す」だと、1日の間に公開したいセクションと公開したくないセクションを分けられない。
なので、[hidden]タグを付けておけば、見えないようになる…みたいなことができないかなーと。
_ [tDiary] hide_category.rbプラグイン。
ということで、やってみた。 まだいろいろとおかしなところはあるけど、とりあえず本文だけは隠れている模様。
# hide_category.rb
#
# カテゴリに[hidden]があると、そのセクションを非表示にするプラグイン。
#
# 注意!
# このプラグイン内で@diariesの中身を書き換えています。
# その為、defaultio.rbで日記を保存していることが前提です。
# pstoreio.rbで日記を保存していると、非表示にしたセクションが消えちゃうと思います。
#
# 具体的には以下の前提の上に成り立っています。
# * 日記を表示するだけでは、TDiary::TDiaryBase::DIRTY_DIARYフラグが立たないこと。
# * 日記データを保存するのは、TDiary::TDiaryBase::DIRTY_DIARYフラグが立っているときだけ。
#
#TODO ./ja/hide_category.rbへ移動すること
def hide_category_conf_title
'非表示カテゴリの設定'
end
def hide_category_conf_html
<<-HTML
<p>
現在、以下の機能に未対応です。(他にもあるかもですが)
<ul>
<li>カテゴリの一覧表示</li>
<li>recent_list.rb</li>
</ul>
その為、非表示のセクションのタイトルは見えてしまいます。
</p>
<hr />
<h3>非表示にするカテゴリ名</h3>
<p>
非表示にしたいカテゴリ名を指定します。
デフォルトでは「hidden」が設定されます。
空で更新した場合には、デフォルト値が使用されます。
</p>
<p>
<input type="text" name="hide_category.category_name"
value="#{@conf['hide_category.category_name']}" />
</p>
HTML
end
# 非表示カテゴリを削除
if ['day', 'comment', 'month', 'nyear', 'latest'].include?(@mode)
cgi = CGI.new
def cgi.referer; nil; end
category_name = @options['hide_category.category_name'] || 'hidden'
@diaries.each do |date, diary|
next unless diary.methods.include?('delete_section')
now_index = 1
indexes = []
diary.each_section do |section|
if section.categories.include?(category_name)
indexes.push now_index
end
now_index += 1
end
indexes.reverse_each do |index|
diary.delete_section(index)
end
end
end
# 設定
add_conf_proc('hide_category', hide_category_conf_title, 'etc') do
category_name = ''
if @mode == 'saveconf'
category_name = @cgi.params['hide_category.category_name'][0]
else
category_name = @conf['hide_category.category_name']
end
if category_name.nil? || category_name.length == 0
category_name = 'hidden'
end
@conf['hide_category.category_name'] = category_name
hide_category_conf_html
end
_ とりあえず。
簡易的だけど、さくらのサーバに移行が完了しました。 まだ、過去の日記とか掲示板とかが移行できてないけど、それはまぁぼちぼち。
まだ、ドメインの移行ができてないので、.htaccessでリダイレクトしてます。 こんな感じで。
Redirect permanent / http://momo-lab.sakura.ne.jp/
さくらで独自ドメインを使うようにしたら、元々のドメイン(momo-lab.sakura.ne.jp)ってどうなるのかな…。 こっちのドメインで運用しているところがあるので、両方使えるといいんだけどな。
_ [tDiary] hide_category2.rb プラグイン。
ちょっと違ったアプローチで試してみました。 私はにっきをRDスタイルで書いているので、とりあえず、それ限定で。
# hide_category2.rb
module ::TDiary
class RdDiary
alias :each_section_orig :each_section
def each_section
each_section_orig do |section|
next if section.categories.include?('hidden')
yield section
end
end
def to_src
r = ''
each_section_orig do |section|
r << section.to_src
end
r
end
end
end
xx_style.rbのeach_sectionを無理やり書き換えてしまう、というアプローチ。 単純にeach_sectionを書き換えるだけでは、to_srcまで変わってしまい保存データからも[hidden]なセクションが消えてしまったので、to_srcも置き換えています。 スタイルによって実装を変えないといけなさそうだったので、とりあえず自分の使っているRDスタイルだけ作ってみたんだけど、今度はいい感じで動いているっぽいです。
…まぁ、これをテストする過程で、[hidden]で書いていた日記を全て消してしまったんだけどねorz
Before...
_ ももたろ [ツッコミメールの転送再テスト。 今度こそ!]
_ 藤代千尋 [仕事も忙しかったら、ガマンせずに泣いてください。(x_x)]
_ ももたろ@京ぽん [仕事はちょっとずつ楽になってるんですけどね…。 ]