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

高木浩光@自宅の日記

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

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日)> 最新 編集

最近のタイトル

2024年11月11日

2024年07月28日

2024年07月27日

2024年07月07日

2024年04月07日

2024年04月01日

2024年03月23日

2024年03月19日

2024年03月16日

2024年03月13日

2024年03月11日

2023年03月27日

2022年12月30日

2022年12月25日

2022年06月09日

2022年04月01日

2022年01月19日

2021年12月26日

2021年10月06日

2021年08月23日

2021年07月12日

2020年09月14日

2020年08月01日

2019年10月05日

2019年08月03日

2019年07月08日

2019年06月25日

2019年06月09日

2019年05月19日

2019年05月12日

2019年03月19日

2019年03月16日

2019年03月09日

2019年03月07日

2019年02月19日

2019年02月11日

2018年12月26日

2018年10月31日

2018年06月17日

2018年06月10日

2018年05月19日

2018年05月04日

2018年03月07日

2017年12月29日

2017年10月29日

2017年10月22日

2017年07月22日

2017年06月04日

2017年05月13日

2017年05月05日

2017年04月08日

2017年03月10日

2017年03月05日

2017年02月18日

2017年01月08日

2017年01月04日

2016年12月30日

2016年12月04日

2016年11月29日

2016年11月23日

2016年11月05日

2016年10月25日

2016年10月10日

2016年08月23日

2016年07月23日

2016年07月16日

2016年07月02日

2016年06月12日

2016年06月03日

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|06|07|08|10|11|12|
2017|01|02|03|04|05|06|07|10|12|
2018|03|05|06|10|12|
2019|02|03|05|06|07|08|10|
2020|08|09|
2021|07|08|10|12|
2022|01|04|06|12|
2023|03|
2024|03|04|07|11|
<前の日記(2004年11月13日) 次の日記(2004年11月15日)> 最新 編集