root/platform/tdiary/plugin/hatena_star.rb @ 38381

Revision 38381, 2.2 kB (checked in by sho, 4 years ago)

supported AutoPagerize?. thanks ussy!

Line 
1# hatena_star.rb
2# Itoshi Nikaido <dritoshi at gmail dot com>
3# Distributed under the GPL
4
5@hatena_star_options = {
6        'token' => 'Token',
7        'star.image' => '.hatena-star-star-image',
8        'star.add' => '.hatena-star-add-button-image',
9        'comment.image' => '.hatena-star-comment-button-image'
10}
11
12add_header_proc do
13        hatena_star = %Q|\t<script type="text/javascript" src="http://s.hatena.ne.jp/js/HatenaStar.js"></script>\n|
14        hatena_star << %Q|\t<script type="text/javascript"><!--
15                Hatena.Star.SiteConfig = {
16                        entryNodes: {
17                                'div.section': {
18                                        uri: 'h3 a',
19                                        title: 'h3',
20                                        container: 'h3'
21                                }
22                        }
23                };
24                (function() {
25                        var NodeInsert = function(evt) {
26                                Hatena.Star.EntryLoader.loadNewEntries(evt.target);
27                        };
28                        window.addEventListener('AutoPagerize_DOMNodeInserted', NodeInsert, false);
29                        window.addEventListener('AutoPatchWork.DOMNodeInserted', NodeInsert, false);
30                })();\n|
31                if @conf['hatena_star.token'] then
32                        hatena_star << %Q|\t\tHatena.Star.Token = '#{CGI::escapeHTML @conf["hatena_star.token"]}';\n|
33                end
34        hatena_star << %Q|\t//--></script>\n|
35        hatena_star << %Q|\t<style type="text/css"><!--\n|
36        @hatena_star_options.each do |o,v|
37                next if o == 'token'
38                hatena_star << %Q|\t\t#{v} { background-image: url(#{CGI::escapeHTML @conf["hatena_star.#{o}"]}); }\n| if @conf["hatena_star.#{o}"]
39        end
40        hatena_star << %Q|\t//--></style>\n|
41end
42
43add_conf_proc( 'hatena_star', 'Hatena::Star' ) do
44        if( @mode == 'saveconf' ) then
45                @hatena_star_options.keys.each do |o|
46                        @conf["hatena_star.#{o}"] = @cgi.params["hatena_star.#{o}"][0].strip
47                        if @conf["hatena_star.#{o}"].length == 0 then
48                                @conf["hatena_star.#{o}"] = nil
49                        end
50                end
51        end
52        <<-HTML
53        <h3>Token</h3>
54        <p><input name="hatena_star.token" value="#{CGI::escapeHTML( @conf['hatena_star.token'] || '' )}" size=50></P>
55        <h3>Star Image (URL)</h3>
56        <p><input name="hatena_star.star.image" value="#{CGI::escapeHTML( @conf['hatena_star.star.image'] || '' )}" size=50></P>
57        <h3>Add Star Image (URL)</h3>
58        <p><input name="hatena_star.star.add" value="#{CGI::escapeHTML( @conf['hatena_star.star.add'] || '' )}" size=50></P>
59        <h3>Comment Image (URL)</h3>
60        <p><input name="hatena_star.comment.image" value="#{CGI::escapeHTML( @conf['hatena_star.comment.image'] || '' )}" size=50></P>
61        HTML
62end
Note: See TracBrowser for help on using the browser.