Util.pmを更新(PをBRに)

MovableTypeではアスキーアートでモロに崩れるという状態があって
一応ごまかして表示することはできるんですが、
流石に毎度<br>は入れてるのだるいってことで、
色々と見直してみましたよ。

MovableTypeではある程度の区切りで<p>~~~</p>となってるんですが
それ以外の原因になりそうな要素がねえんで、こいつが黒ってことで決め付けてみました。

ちなみにフォーマット「改行を変換する」と「無し」では
表示開始位置からズレが生じる


適当に6行くらい改行してもそこまで幅とってくれなかったり
そういうのもpの影響ですね。

そういうわけで、エントリ作成段階で</p>を<br>に。
一番最初の<p>以外の<p>を<br>に変更してみました。

術式は以下のとおりで。手順は多くない。
妹認証のcomments.pmに比べればw

[mt-root]/lib/MTからutil.pmを落とす。
util.pmのsub html_text_transform内を書き直す。for上1行、下5行追加と489行目の1行修正で終了。
テキストファイルはこっち
やってみる人は必ずやる前にバックアップはとっとけ。


色々テストしてみた。(全て改行を変換で記入)
複数回改行テスト
まあこれは予定通り。

アスキーアートテスト
まあこれも予定通り。<div>の後ろ改行したために<br>1つ余計に入ってるけどな。

<table>テスト
ある意味予想通りww。元々tableとエントリの相性悪いよな。
tableはエントリでなくて別ファイルにでもしてincludeでいい気がしてきた。

<pre>テスト
なんとなくやってみたが、行間SUGEEEEEE

あと何かテストしてほしいものがあればするが、
いまのところ俺はこれでも問題なく表示されている気がします。


メリットはAAが「改行を変換」で書ける。(さらに追記参照)
フォーマット「なし」と「改行を変換」の本文の開始位置がズレてない。
改行した分だけちゃんと改行される。くらいっすかね?

デメリットは今まで書いたエントリの長さ、行間が変わってくることですかね。

おいらはとりあえずなんともなさげなので、このままいってみます。


追記
if文でタグ(h1,h2,h3,pre,table・・・・・・)記述だと・・・pとかつけないよ
みたいな仕組みにしたがっているようなんだが
どうみても認識してない気がするw

無理やり置き換えを発生させれば、tableだろうがなんだろうが
改行されずにいけそうなんですが
perlの象形文字(マッチング、置き換え)は結構混乱するから今回はスルーで

さらに追記
ちょっとネタでAA用意しておいたら
エントリの「一番最初に読み出し」することで
<BR>付与されずにズレる事が判明。

前回ズレたのも「エントリの続きの最初」だった。
それ以外の途中に記述したのはテストとかみても問題ないんだが、、、

そういうわけでなんだか適当に空行入れたらなんか回避できましたよ?w
---先頭---
<div>
      ←ここを1行あける
ここにAA
</div>

または
---先頭---
      ←ここを1行あける
<div>
ここにAA
</div>
いずれにせよ、改行入ってるし、ごまかしに過ぎないなあ・・・
根本的な解決になってませんorz
(もう1つのズレを直すのは直ったからいいんだけど)
それとtableくらい自動認識させて<br>付与しないようにしときたいんで
今度if文いじってみます。



認証、名前入れが面倒だという方はこちらをどうぞ

トラックバックURL

このエントリーのトラックバックURL:
http://www.luminousqueen.com/mt/mt-tb.cgi/704

コメントする



スパム対策の為にCAPTCHA認証を導入しています。

認証について細かいことはこちらをみてください

カテゴリ

サイト内検索


Syndicate this site (XML)
小粋空間
QLOOKアクセス解析