gotin blog

Whatever gotin wanna write

HTML::Featureをまねしてみた

HTML::Feature - 重要部分を抽出するモジュール - - ダウンロードたけし(寅年)の日記

↑こちらで紹介されていたCPANのモジュールでHTMLの重要部分が抽出できるとのことで、ちょっとまねしてみました。
といっても記事に書かれていたアルゴリズムとソースをチラっとのぞいた程度なのでおそらくきちんと移植できてはいないのですが、いくつか試したところ同じ結果が得られたのでまぁいいのかもというレベルです。
肝心なソースはこちら↓です。
karaoke_html_feature.user.js

↑こちらのソースの中にHTML::FeatureをまねしたgetFeatureNode関数を定義していて、
カラオケアニメーション対象の文字列を今まではページ内の文字全てにしていたのを、getFeatureNodeで得られたノード内にしています。


いつもどおり速度性能は全く意識せずに書いたのでgetFeatureNodeの結果が得られるまで時間がかかってしまい、カラオケアニメーション開始までちょっと時間がかかります。数秒ぐらい。

ちなみに使い方はkaraoke.user.jsとおなじでShift-kでカラオケアニメーション開始(一時停止とのトグル)です。escapeでカラオケ効果をはずして元に戻します。


ホントは先にtext_viwer.user.jsで試したんですが、 HTMLの構造をそのまま残す、ということとの折り合いがウマクつかなくてとりあえずkaraoke.user.jsで試すことにしました。