Tags: css, textile, textpattern
Textpattern 4.0.5 以降には、アーティクルに 3 文字以上の大文字の英字に勝手に span が付いてしまう仕様があります。
例えば CSS と書いたら、 <span class="caps">CSS</span> と出力されます。
多分 abbr や acronym タグと関連付けるためのだと思うのですが、これがリンクの中にあると大文字の英字の部分だけ文字の色が通常のテキストと同じ色になります。
ぱっと見見苦しいし、別段略語でもないものに対してもこの 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 を編集するしかないかもしれません。むしろ解ったら教えて欲しいです。
この記事へのコメントはできません