aboutsummaryrefslogtreecommitdiffstats
path: root/hatena_highlight.js
blob: 2ce0d5c5e65d945310ecfa2d413ddc714a6574f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
var PLUGIN_INFO =
<VimperatorPlugin>
<name>{NAME}</name>
<description>Clear highlight or highlight keywords in Hatena Services.</description>
<description lang="ja">はてなダイアリーやグループでハイライトを消したり付けたりできます</description>
<minVersion>2.1a1pre</minVersion>
<maxVersion>2.1a1pre</maxVersion>
<updateURL>https://github.com/vimpr/vimperator-plugins/raw/master/hatena_highlight.js</updateURL>
<author mail="masa138@gmail.com" homepage="http://www.hatena.ne.jp/masa138/">Masayuki KIMURA</author>
<version>0.1</version>
<detail><![CDATA[

== Commands ==
:nohatenahighlight
    ハイライトを無効にします

:hatenahighlight
    ハイライトを有効にします

== Examples ==
Google で検索してはてなにアクセスしたときにハイライトを非表示にしたい場合は
.vimperatrrc に以下のような記述をすると非表示になります
>||
:autocmd PageLoad 'd\.hatena\.ne\.jp' :nohatenahighlight
:autocmd PageLoad 'g\.hatena\.ne\.jp' :nohatenahighlight
||<

]]></detail>
</VimperatorPlugin>;
(function(){
    function toggleHighlight(isClear) {
        var elements = window.content.document.getElementsByTagName('span');
        var highlight = 'highlight';
        var clear     = '_no_highlight_';
        for (var i = 0, length = elements.length; i < length; i++) {
            var element = elements[i];
            if (isClear) {
                if (element.className == highlight) {
                    element.className =  clear;
                }
            } else {
                if (element.className == clear) {
                    element.className =  highlight;
                }
            }
        }
    }

    commands.addUserCommand(["nohatenahighlight"], "Clear Highlight",
        function() {
            toggleHighlight(true);
        }
    );

    commands.addUserCommand(["hatenahighlight"], "Highlight",
        function() {
            toggleHighlight(false);
        }
    );
})();
// vim:sw=4 ts=4 et: