text-hatena.js icon indicating copy to clipboard operation
text-hatena.js copied to clipboard

自動リンク機能

Open teramako opened this issue 12 years ago • 2 comments

自動リンク機能を一部実装してみました。 動画や音声、mapは未実装ですが、通常リンクや画像は対応できていると思います。

未完成部分もありテスト実装に近いので、マージして頂かなくてもOKです。

Hatena.AutoLink() は単なる関数(コンストラクタではない)となるような実装で他と違っていたりしますし問題点があればどんどん言って頂けると助かります。

teramako avatar Dec 29 '12 14:12 teramako

現在の方針では対応するインライン要素を増やしたときに破綻しそうです。

方針としては Hatena.Text<(a|iframe|script).*?</\1><img\s.*?> はスキップしつつ、 先頭から 1 文字ずつ、Url や Bracket にマッチするかを調べていくのがシンプルでしょう。 (hparser の実装のマネ)

実際は [] を省略できるものも多いので、正規表現では限界がありそうです。

nitoyon avatar Jan 01 '13 14:01 nitoyon

現在の方針では対応するインライン要素を増やしたときに破綻しそうです。

仰るとおりですorz

いちおう、<...> 内と <a ..>...</a> 内はスキップするようにはしていますが...。やはり拡張性を考えると一文字ずつ見ていくのが良さそうですね。

teramako avatar Jan 04 '13 16:01 teramako