トップ 最新

ただのにっき

2002-04-11(木) 7916歩 [長年日記]

tDiary: 記述フォーマットの話

tDiary.Netで新規に加わった日記は自動的にアンテナに加わるので、必然的にしばらくは目を通すことになる。なわけで見つけたごくたま昨日(二号)日記では、tDiaryのレビューが行われている模様。

以下はtDiaryの弁護は作者がするしかないから書いたまでで、反論というほどのものではない。alternativeな日記システムは腐るほどあるので、別にtDiaryは正しいから使えとかいう気は毛ほどもない。せいぜい「ポリシーの表明」とでも言うべきレベルの話。

tDiaryの記述形式に関しては以前も書いたような気がするけど、基本的におれのスタンスが段落文体を求めているからこうなっているのだと思う。段落文体ってぇのはテキスト庵が考案した造語ではないかと思うんだけど(tDiaryを作りはじめた時にこの言葉は知らなかった)、見栄えのことを抜きに読めばだいたい同意できるのでこの言葉を使うことにしよう。

ようするに、改行したらそれは段落の変更であると。だからtDiaryでは、改行によって区切られた1行は、両端に自動的に<p>〜</p>が付くのだ。日本語としてごくあたりまえの形式であり、それをねじ曲げて意図的な強制改行がしたければ少しは苦労してね(文中に<br>を入れてね)、ということだな。

あと、段落間に空行ができるのは、tDiaryの仕様でもなんでもない。そのテーマの作者が、pエレメントのマージンをそのようにしているだけ。テーマ次第で段落間の間隙はゼロにもできるし、もっと大きくもできる。見栄えについて語るなら、記述フォーマットと表現形態はtDiaryではいちおう分離しているということを理解いただきたい。

入力支援については、そう言う感想もあるかもね、という程度かなぁ。tDiaryが基本的に生HTMLを採用したのは、これ以上他のマークアップを覚えるのはイヤだったからで(笑)。hnfだろうがnDiary形式だろうが、新しく何かを覚えなきゃ使えないことに代わりはない。HTMLは一貫したルールがあるから覚えやすいマークアップだと思うし。

ほとんど何も知らなくてもそこそこの日記が書けるというのは、tDiaryを含めたこれらの記述フォーマットの特徴だが、ちょっと変わったことをしようと思ったら(手間の多少はあるにしろ)、どれもマークアップを覚えなければいけないのは同じである。その程度の話を「入力支援」とまで呼ぶのはどうかと思う。おれが「入力支援」と言われて思い浮かべるのは、WYSIWIGかタグ挿入式の専用エディタとか、そんなたぐい。

すでにHTMLを知っている者にとって新しいマークアップを覚える手間がないのはtDiaryの美点のひとつでもある。一方、すでに他の日記フォーマットに親しんだ人がtDiaryを使う時に抵抗を感じるのは当然だ。逆におれなんて、nDiaryのマークアップだって複雑すぎて覚える自信がない(笑)。tDiaryにだってタグ打ちを簡易にするプラグインはいくつもあるし、けっきょくは慣れの問題だと思うよ、うん。tDiaryの方がパズル化する傾向があるのは認めるけど。

もちろんtDiaryには、他のフォーマットへの変換がしにくいという欠点もある。まぁ、正しくマークアップしてあればあとでHTMLパーザに食わすことが可能なので、たいした欠点でもあるまい。

SFマガジン

やっと5月号を読了。今月いちばんショックだったのは神林長平があの長髪を切ってしまったことかも(笑)。来月号でやっと半村良の追悼らしい。掲載予定作品は「赤い酒場を訪れたまえ」だ。おぉ。なにせ、読み返そうと思っても、発掘できずにいたからなぁ。

ところでS-Fマガジン考課表が面白そう。4月号を見る限りでは傾向がほぼ好みと一致してるし。「エデンに還れ」がいちばん人気がないのはとうぜんだよなぁ。ちーっともSFしてないし。今月号はきっと、ミサイルの話が一番人気に違いないと思うがどうよ。

tDiary: 書影プラグイン対応テーマ

書影プラグインを使っていて、画像が下の方にはみでてしまっている人をよく見かける。これはテーマの作りに問題があって、floatにしたimg.leftやimg.rightをどこでclearするかという指定がないのが原因。試行錯誤の結果、こんな感じにするときれいにレイアウトされそう。div.sectionだけでなく、div.commentでも忘れずにclearするのがポイント。

img.left {
   border-width: 0px;
   float: left;
   margin-bottom: 0.5em;
}
 
img.right {
   border-width: 0px;
   float: right;
   margin-bottom: 0.5em;
}
 
div.section, div.comment {
   clear: both;
}