こんなに苦労するのだろうか。
とりあえず、今日、拙作のモジュールである「コメントアイコンモジュール」と「表示モード別分岐モジュール」を改めてUPすることができました。
なにせ、ブログも含めて放置している間に本体のBlognPlusはver2.5.5にまでなっているし、なんとか導入し、折角だから多少はモジュールもバージョンアップさせたいな、と中身を触ったのが運の尽きでした。
コメントアイコンモジュールでの苦労話は既出として、表示モード別の方は、以前から実現したかった記事内でのコード表示。
ブログンの記事ログを見比べながら手がけたのはいいのですが、どうも「記事」や「続き」の表示段階で、初期設定で許可されたタグ(a,b,などなど)との関係なのか、一度"<"を"&lt"に変換したものをまた戻したり、とややこしいことをやっているようです。
さらに改行の取扱いが記事投稿時のオプション「改行を自動的に<br />に変換して投稿する」などとの関係でしょうか、オプションによって処理後のバッファの内容がかなり異なります。
なにより、コード表示というからには、記事投稿時の状態がそのまま表示して欲しいわけだし。
いっそ、「<br />に変換」で投稿されたものについては、比較的対応しやすかったのですが、「<br />に変換しない」場合、取得したバッファの中身に改行コードが見当たらないということになってしまいました。明示的に書き込んである<br />はそのままコード表示されるべき代物ですから手をつけるわけにはいかない。
もうひとつ困ったのが、初期設定で許可を出している「form」や「div」タグで、開始はいいのですが、終了時の「/form」「/div」が他のタグと同じような処理がなされていない。(漏れなのか仕様なのか)
ifviewで返還したはずがまた舞い戻っているという変な現象が発生してしましました。(謎です)
というわけで、Blognがいろいろ手を出す前の記事ログを取得して、先にこちらの意図どおりの返還をしてしまえ、ということになりました。
それが、index.phpへの記述が2か所に増えた理由です。変換したコード部分のタグを「すべて」Blognが感知しない独自のタグに書き換え、その後通常処理させた後、再びifviewを呼び出して表示用に置き換えてやったわけです。
ここまで苦労しながら、実際には記事じゃなくてHPの方でコードの紹介、参照をするつもりで整理しているというのが矛盾してますけどね。
≪ 続きを隠す