3 文字以上の英字に勝手に span が付いてしまう問題

2007-10-29Category: Web

Tags: , ,

Textpattern 4.0.5 以降には、アーティクルに 3 文字以上の大文字の英字に勝手に span が付いてしまう仕様があります。

例えば CSS と書いたら、 <span class="caps">CSS</span> と出力されます。
多分 abbracronym タグと関連付けるためのだと思うのですが、これがリンクの中にあると大文字の英字の部分だけ文字の色が通常のテキストと同じ色になります。
ぱっと見見苦しいし、別段略語でもないものに対してもこの span は強制的に付きます。

/textpattern/lib/classTextile.php の1050行目に

'<span class="caps">$1</span>$2',	 //  3+ uppercase

とありますが、これを削除やコメントアウトするだけでは Textile がおかしくなってしまい、例えば “CSS” と書くと “CSS…” と出力されるようになります。
// この辺りの編集の方法というか、php には疎いのでどうすればこの 3 点リーダが消えるのかよく解らない…。

これを回避する一番簡単な方法が、CSS による制御です。

a span{
color:#77246a;
font-weight:normal;
}
a:hover span{
text-decoration:underline;
color:#b80753;
}

と default.css に書き足してやるだけで「見た目は」正常なリンクと同じになります。
ただし CSS による強制変換でしかないので、どうしてもソースに span が出るのが嫌な人は頑張って classTextile.php を編集するしかないかもしれません。むしろ解ったら教えて欲しいです。

Comment

この記事へのコメントはできません