2007-05-19(土) [長年日記]
_ 勇嶺薫 『赤い夢の迷宮』読了
先日買ったものを読了。
ううむ、やっぱり「勇嶺薫」では殺人もありか。まあそれは良いけども。憎悪関係のせいでちょっと後味が悪い。
以下はネタバレのため一応隠しているが、携帯では隠れない^^;
_ 外部サイトへのリンクにアイコンを
前からやりたかったことのひとつにサイト内リンクか、外部サイトへのリンクなのかわかるように、外部サイトの場合は外部参照のアイコンをつけたいというのがあった。
例えばMicrosoftの「他社による Windows, Office サポート」では「このアイコンのリンク先は、マイクロソフトにて管理されていないサーバーです。」としている。(ちなみにIBMの場合は、IBM外へのリンクをクリックすると別ウィンドウで「IBM以外のサイトを開きます」という確認をする)
Hikiの場合はそれもできるみたいなのだけど、tDiaryではちょっと難しい。
難しい理由としては「アンカーを生成するクラス・プラグインがたくさんあって一元的に手を加えられない」(^^:)があげられる。
とりあえず最初に試したのは、CSSやJavaScript側で細工するやり方。
- CSSだけで逃げる方法
「Showing Hyperlink Cues with CSS」のやり方。CSSだけで書く。
ただし「自サイトだったら」は書けるが「自サイト以外だったら」という指定が出来ない(CSSのパターンマッチの書き方が否定までサポートしていない) - JavaScriptでアンカータグを変えながらFaviconも持ってくる方法
上のサイトの拡張版として「Hyperlink Cues with Favicons」でテクニックが書かれている(日本語では「外部リンクにFaviconを表示するjavascript」でこのサイトを紹介している)。
後者は、Javascriptを仕込んでみたのだが動かなかった…。onloadの処理が他のscriptとバッティングしてるせいかも知れない。しばらく試したが判らなかったので後回し。
それによく考えてみたら、いろんなアイコンやらAmazonのリンクとか本日のリンク元にまで自動的にFaviconが表示されても面倒である^^;使う範囲を日記本文(div.section p の中)ぐらいに限定しないとまずい。
前者はCSSで出来るのだけど、<A>タグに rel="external"が指定されているものを外部サイトとすることにしているのだが、アンカー生成時に判断して付与しようと思っても、修正箇所が多い(これがフリダシの問題^^;)
やむなくとりあえずはa.rbで書いた時だけ生成する様にしてみた。おかげで普段は(今はWikiスタイルで書いているので)リンクは[[ ]]で""なしにかけるのに、外部リンクを示したいところはプラグイン記法を使い分けないといけなくて面倒。
Wikiスタイルでのリンク→[[説明|http://www.ほげほげ]] a.rbプラグインでのリンク→{{a "説明|http://www.ほげほげ"}}
ほんとはmy-ex.rbとか、Wikiスタイルで使ってるHikiDocでの[[ ]]による記法でも対応したいのだけどうまく直せないのでまたあとで。
_ 外部サイトへのリンクにアイコンを(2)
と、上のように思ってたのだが、その後色々読んでたら、faviconつけなくていいならこれだけでも十分か。プラグイン触らなくても良いし。
/* 外部 Links */ div.section a[href ^="http://"] { padding-right: 18px; background: transparent url(external.gif) no-repeat center right; } /* 内部 Links */ div.section a[href *="different-view.jp"] { padding-right: 0px; background: none; }
本文にあるAmazonやbk1のリンクは巻き添え食ってしまうが、これは内部リンク扱いとしてもよいし。