Textile プラグインが崩壊

(追記:もうちょっと調べてみると、これと似たような問題は、4月頃から各所で報告されている模様。ここ とか ここ とか。特に、最初の記事のコメント欄で不具合が報告されているのが PHP 4.4.6 上、ロリポップ!も最近 4.4.6 にアップグレード。これが犯人か?)

昨日(もしかしてもっと前から?)当サイトにお越し下さった方、失礼しました。

最近、別段サイトの設定を大きく変えた覚えはないので、何がきっかけなのか、まったく分からないのですが、昨日、たまたま自分のサイトを見たら、Textile で書いた記事のところから、ページがちょん切れている ことに気付きました。

「Textile で書いた記事」と言ったのは、最近ひそかに(ようやく) Markdown Extra に移行したからなのですが、その Textile・Markdown 混在ページを、WordPress プラグイン「 Text Control 」で実現していて、最近まではうまくいっていたのですが、ここにきていきなり、不具合発生。

text-control.php をいじって、Textile (2) で変換を行わないようにすると、ページが最後まで出力されるようになるので、Text Control に同伴されている textile2.php から処理が返ってきていない模様。確かに Text Contorol の ウェブサイト には、「Textile 2 はサーバーに負担がかかるので、Textile 2 を使わなくて済む場面なら、そうすることを勧める」と書いてあったことをすっかり忘れていましたが、本当に不具合が起きるとは…

そこで、かなりのトライ&エラーを繰り返したあげく、本家 TextpatternTextile 2 を突っ込む(本家の PHP スクリプトが配布されているのを今まで知らなかった。だって探しにくいんだもの)、という方法で解決しました。

  1. ここ から、(本家)Textile 2 をダウンロード
  2. ファイル名を classTextile.php から textile2.php に変更
  3. text-control ディレクトリにアップロード
  4. text-control.php の 52 行目を、$text = $t->process($text); から $text = $t->TextileThis($text); に変更。

Text Control に同伴されている textile2.php148 KB もあるのに対し(ちなみにノーマル Markdown は 32 KB)、本家 Textile 2 は 40 KB と圧倒的に軽く、ちゃんとページ全体が読み込まれるようになりました。しかし、僕がこれまで使っていた Textile(MT-Textile 系)は、少し拡張されたものだったらしく、定義リストなどの表示が飛んでしまいましたが、そこはご了承願います(僕自身としては、まあいいか、と。もっとうまい解決策は、別の機会に探します)。

そもそも、アップデートが止まっている Text Control プラグインを使っているのがアレなんですけどね(汗)

Leave a Reply

Your email address will not be published. Required fields are marked *