<前の日記(2004年11月13日) 次の日記(2004年11月15日)> 最新 編集

高木浩光@自宅の日記

目次 はじめに 連絡先:blog@takagi-hiromitsu.jp
訪問者数 本日: 2173   昨日: 2889

2004年11月14日

tDiaryへの移転でつまづいたところ

はてなからtDiaryへ移転する際につまづいたところをメモしておく。

レンタルサーバのサービスが既にtDiaryをインストールする仕組みを用意してく れていたので、基本的なインストールはとても簡単だった。

まず、ツッコミ機能をオフにしようとしたが、オフにする仕組みはないようだっ たので、とりあえず、スタイルシートを使って隠すことでごまかした*1

次に、トラックバックのプラグインを有効にして、受信のテストをしたところ、 文字化けした。Web検索して調べてみると、Rubyライブラリの「Uconv」がないためらしい。 ここのサーバにはインストールされていないようなので、ソースをダウンロード して、サーバにアップロードし、シェルアカウントでコンパイルして、 tdiary.rbと同じ場所に置いたところ解決した。

過去の日記を移転しようとして、tDiaryの記法が自分には使いにくいことに気付 き、途方にくれたが、etDiary スタイルという別の記法を使えることに気付き、そちらを使うことにした。

これで移転の作業を進めていたところ、title_tag.rbプラグイン の挙動が変だった。「サブタイトル1, サブタイトル2, サブタイトル3」と なるはずのところが、「サブタイトル1,,,,サブタイトル2,,,,,, サブタイトル3」 などとなってしまった。これまた途方にくれたが、同様に、recent_list.rbプラグイ ンの挙動も変だったことから、原因が予想できた。

どうやら、パラグラフ(<p>...</p>)が全部セクション扱いされて しまっているようだ。etdiary_style.rbのeach_sectionイタレータがパラグラフ ごとにyieldするようなので、セクションサブタイトルのないパラグラフでは yieldしないように改造してみたところ、今度はパラグラフの本文が表示されな くなってしまった。

きちんと直すのは難しそうだったので、title_tag.rbとrecent_list.rbの方を改 造した。each_sectionのイタレーション内で、サブタイトルが空のときはnextす るようにした。

これでうまくいったかのように見えたが、RSSが変だというご指摘のメールを頂 いた。makerss.rbプラグイ ンも直す必要があるのだった。同じように改造して仮対処したが、この方法 では、セクションの概要がRDFファイルに書き出されない。ちゃんと直すのは面 倒そうだ。同じ原因で、トラックバックを送信するときにも概要が送られないだ ろうと予想される。

それから、html_anchor.rbプラグイ ンを有効にしてみたところ、IEでは普通に動作するが、Firefoxでアクセス すると、どういうわけか、2回に1回必ず、応答がなく空白のページになってしま うという異常が発生する。私の環境だけなのかがよくわからない。

html_anchor.rbを使うにあたって、Apacheでmod_rewriteを使うのが推奨とされ ているが、ここのサーバには残念ながらインストールされていないので、「Actionを利用する」 で説明されている方法でやっているが、これが原因なのだろうか。

これは他にも解決方法がありそうだ。http://example.com/diary 自体をCGIにす れば、「/20041114.html」の部分を「PATH_INFO」で取得できるので、これを使 うようにtdiary.rbを改造することができるはずだ。プラグインとしても実現可 能だろうか。ただ、この方法でこのURLだと、トップディレクトリにtdiaryのファ イルを展開することになりかねないが、それは避けたいところ。

ところで、旧日記の移転は全部は完了していない。とりあえず10月までさかのぼっ て移転させてみた。

さきほど、hatenaス タイルというものがあると知った。これは使える!と思ったが、互換性のな い点として、パラグ ラフを区切るには2行の空行を入れないといけない仕様らしい。ちょっとこ れは残念。旧日記を移転するには修正点が多すぎるなあと。

自分流スタイルを作るぞ

2行の空行でパラグラフ区切りというのには馴染めないが、逆に、はてなの、改 行が区切りになるというスタイルも実はあまり好みでない。LaTeXのスタイル、 つまり、1個の改行には意味がなく、空行がパラグラフの区切りとなるのが好み だ。これは etDiaryが目指したものか。ただ、etDiaryの、行頭に「<」を書 くと特別な意味になってしまうため、行頭に空白を空けないといけないのは、好 みでない。

はてなの「((...))」記法は便利だった。tDiaryのfootnote.rbプラグイン の記法はいまいち書きにくい。

はてなの記法は便利だったが、物足りないところもあった。行頭に「-」が続く と ULエレメントとなるわけだが、LIに続けてBLOCKQUOTEを書きたいことが多かっ たので、そのときは一旦整形なしモードに移って手でHTMLタグを書いていた。

BLOCKQUOTEのCITEを「<blockquote cite="..." title="...">」で書く記 法を使っていたが、これがはてなの機能だったと気付いた。てっきり、HTMLの機 能かと思っていた。

この記法も書き辛いものだった。改行を使ってもっとシンプルに書けるのではな かろうか。たとえば、

[[
引用先の表題
http://foo.example.com/

引用文本文、
最初の段落

引用文本文、
2つ目の段落
]]

のようにして、最初の空行までをCITEに使う仕様とか。ついでに、CITEの部分に <div class="cite">を入れてスタイルシートで見た目を調整できるように できるとよいなあ。

それから、今回の移転で、記法を書き換える作業のついでに、画像を埋め込んで いた部分に、<div class="figure"> を入れて、キャプション付きで図を 埋め込むスタイルを作りこんでみた。なかなかよい。これをもっと手軽に書ける ようにしたい。たとえば、

<<
キャプション文字列

http://画像のURLその1
http://画像のURLその2
>>

のような記法などどうか。

Wikiとかはよく知らないので、このあたりはもう既にいろいろな記法があるのだ ろうか。

あと、パラグラフの先頭にインデントを入れないCSSにしているのは、 BLOCKQUOTEの直後にインデントが入るのを避けたい場合があるためだ。それはた とえば、BLOCKQUOTEの直後に「となっているが」などの文で続けたい場合などだ。 これはどうしようもないのだろうか。

そのうち自分流のtDiary用スタイルを作ってみたい*2

*1 ツッ コミ機能を使えなくするのはtDiary(ツッコミダイアリーの略だと聞く)のポリ シーに反するのかもしれない。

*2 が、そんなことをし ている時間はないはずのわけで……。

本日のTrackBacks(全100件) [TrackBack URL: http://takagi-hiromitsu.jp/diary/tb.rb/20041114]

tdiary.confに「@hide_comment_form = true」と書き込むことでスタイルシートを使わずにコメント欄を消す方法があります

http://takagi-hiromitsu.jp/diary/20041114.html う〜ん、何が理由かは知りませんが、何処かで勘違いされたようですね。 BLOCKQUOTEはHTMLタグで定 ...

[システム] apacheのmod_actionsとfirefoxの相性?はてなの騒動?で移転された高木浩光さんの日記で、「tDiaryへの移転でつまづいたところ」の中に”html_anchor.rbプラグイン”について書かれている。 うちもこのプラグインを同じようにapacheのmod_actionsと併用で導入..

検索

<前の日記(2004年11月13日) 次の日記(2004年11月15日)> 最新 編集

最近のタイトル

2016年04月23日

2016年04月06日

2016年03月27日

2016年03月14日

2016年03月06日

2016年02月24日

2016年02月20日

2016年02月11日

2016年02月05日

2016年01月31日

2015年12月12日

2015年12月06日

2015年11月23日

2015年11月21日

2015年11月07日

2015年10月20日

2015年07月02日

2015年06月14日

2015年03月15日

2015年03月10日

2015年03月08日

2015年01月05日

2014年12月27日

2014年11月12日

2014年09月07日

2014年07月18日

2014年04月23日

2014年04月22日

2000|01|
2003|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|05|06|07|08|09|10|11|12|
2012|02|03|04|05|06|07|08|09|
2013|01|02|03|04|05|06|07|
2014|01|04|07|09|11|12|
2015|01|03|06|07|10|11|12|
2016|01|02|03|04|
<前の日記(2004年11月13日) 次の日記(2004年11月15日)> 最新 編集