| [4634] | 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 | |
|---|
| 12 | add_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 | };\n| |
|---|
| 24 | if @conf['hatena_star.token'] then |
|---|
| 25 | hatena_star << %Q|\t\tHatena.Star.Token = '#{CGI::escapeHTML @conf["hatena_star.token"]}';\n| |
|---|
| 26 | end |
|---|
| 27 | hatena_star << %Q|\t//--></script>\n| |
|---|
| 28 | hatena_star << %Q|\t<style type="text/css"><!--\n| |
|---|
| 29 | @hatena_star_options.each do |o,v| |
|---|
| 30 | next if o == 'token' |
|---|
| 31 | hatena_star << %Q|\t\t#{v} { background-image: url(#{CGI::escapeHTML @conf["hatena_star.#{o}"]}); }\n| if @conf["hatena_star.#{o}"] |
|---|
| 32 | end |
|---|
| 33 | hatena_star << %Q|\t//--></style>\n| |
|---|
| 34 | end |
|---|
| 35 | |
|---|
| 36 | add_conf_proc( 'hatena_star', 'Hatena::Star' ) do |
|---|
| 37 | if( @mode == 'saveconf' ) then |
|---|
| 38 | @hatena_star_options.keys.each do |o| |
|---|
| 39 | @conf["hatena_star.#{o}"] = @cgi.params["hatena_star.#{o}"][0].strip |
|---|
| 40 | if @conf["hatena_star.#{o}"].length == 0 then |
|---|
| 41 | @conf["hatena_star.#{o}"] = nil |
|---|
| 42 | end |
|---|
| 43 | end |
|---|
| 44 | end |
|---|
| 45 | <<-HTML |
|---|
| 46 | <h3>Token</h3> |
|---|
| 47 | <p><input name="hatena_star.token" value="#{CGI::escapeHTML( @conf['hatena_star.token'] || '' )}" size=50></P> |
|---|
| 48 | <h3>Star Image (URL)</h3> |
|---|
| 49 | <p><input name="hatena_star.star.image" value="#{CGI::escapeHTML( @conf['hatena_star.star.image'] || '' )}" size=50></P> |
|---|
| 50 | <h3>Add Star Image (URL)</h3> |
|---|
| 51 | <p><input name="hatena_star.star.add" value="#{CGI::escapeHTML( @conf['hatena_star.star.add'] || '' )}" size=50></P> |
|---|
| 52 | <h3>Comment Image (URL)</h3> |
|---|
| 53 | <p><input name="hatena_star.comment.image" value="#{CGI::escapeHTML( @conf['hatena_star.comment.image'] || '' )}" size=50></P> |
|---|
| 54 | HTML |
|---|
| 55 | end |
|---|